ef58c9312baf44f87aa3bb363afb0a6ca7f07888
[gnulib.git] / ChangeLog
1 2012-03-09  Bruno Haible  <bruno@clisp.org>
2
3         log: Work around OSF/1 5.1 bug.
4         * lib/math.in.h (log): New declaration.
5         * lib/log.c: New file.
6         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
7         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
8         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
9         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
10         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
11         * modules/log (Files): Add lib/log.c.
12         (Depends-on): Add math.
13         (configure.ac): If REPLACE_LOG is 1, compile an override.
14         * tests/test-math-c++.cc: Check the declaration of log.
15         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
16
17 2012-03-09  Jim Meyering  <meyering@redhat.com>
18
19         readtokens.c: adjust wording in a comment
20         * lib/readtokens.c: Insert omitted "that" in a comment.
21
22 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
23
24         modechange: add notations +40, 00440, etc.
25         * lib/modechange.c (mode_compile): Support new notations
26         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
27
28 2012-03-08  Bruno Haible  <bruno@clisp.org>
29
30         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
31         * m4/exp2l-ieee.m4: New file.
32         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
33         test whether exp2l works with a NaN argument and with a negative
34         infinity argument. Replace it if not.
35         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
36         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
37         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
38         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
39         (Depends-on): Update conditions.
40         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
42         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
43
44         Tests for module 'exp2l-ieee'.
45         * modules/exp2l-ieee-tests: New file.
46         * tests/test-exp2l-ieee.c: New file.
47
48         New module 'exp2l-ieee'.
49         * modules/exp2l-ieee: New file.
50
51         Tests for module 'exp2-ieee'.
52         * modules/exp2-ieee-tests: New file.
53         * tests/test-exp2-ieee.c: New file.
54
55         New module 'exp2-ieee'.
56         * modules/exp2-ieee: New file.
57
58         Tests for module 'exp2f-ieee'.
59         * modules/exp2f-ieee-tests: New file.
60         * tests/test-exp2f-ieee.c: New file.
61         * tests/test-exp2-ieee.h: New file.
62
63         New module 'exp2f-ieee'.
64         * modules/exp2f-ieee: New file.
65
66 2012-03-08  Bruno Haible  <bruno@clisp.org>
67
68         Tests for module 'exp2l'.
69         * modules/exp2l-tests: New file.
70         * tests/test-exp2l.c: New file.
71
72         New module 'exp2l'.
73         * lib/math.in.h (exp2l): New declaration.
74         * lib/exp2l.c: New file.
75         * lib/expl-table.c: New file, extracted from lib/expl.c.
76         * lib/expl.c (gl_expl_table): New declaration.
77         (expl): Remove expl_table. Update reference.
78         * m4/exp2l.m4: New file.
79         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
80         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
81         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
82         * modules/exp2l: New file.
83         * modules/expl (Files): Add lib/expl-table.c.
84         (configure.ac): Compile also expl-table.c.
85         * tests/test-math-c++.cc: Check the declaration of exp2l.
86         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
87         problem.
88
89 2012-03-08  Bruno Haible  <bruno@clisp.org>
90
91         Tests for module 'exp2f'.
92         * modules/exp2f-tests: New file.
93         * tests/test-exp2f.c: New file.
94
95         New module 'exp2f'.
96         * lib/math.in.h (exp2f): New declaration.
97         * lib/exp2f.c: New file.
98         * m4/exp2f.m4: New file.
99         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
100         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
101         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
102         * modules/exp2f: New file.
103         * tests/test-math-c++.cc: Check the declaration of exp2f.
104         * doc/posix-functions/exp2f.texi: Mention the new module and the
105         IRIX problem.
106
107 2012-03-08  Bruno Haible  <bruno@clisp.org>
108
109         Tests for module 'exp2'.
110         * modules/exp2-tests: New file.
111         * tests/test-exp2.c: New file.
112         * tests/test-exp2.h: New file.
113
114         New module 'exp2'.
115         * lib/math.in.h (exp2): New declaration.
116         * lib/exp2.c: New file.
117         * m4/exp2.m4: New file.
118         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
120         REPLACE_EXP2.
121         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
122         REPLACE_EXP2.
123         * modules/exp2: New file.
124         * tests/test-math-c++.cc: Check the declaration of exp2.
125         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
126         and OpenBSD problems.
127
128 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
129
130         savedir: fix comment typo
131         * lib/savedir.c (savedirstream): Fix typo in comment.
132
133 2012-03-08  Bruno Haible  <bruno@clisp.org>
134
135         test-readtokens.c: use const; remove unwarranted cast
136         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
137
138 2012-03-08  Bruno Haible  <bruno@clisp.org>
139
140         fmal: Avoid compilation error on AIX.
141         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
142         AIX 5.2..7.1.
143
144 2012-03-08  Bruno Haible  <bruno@clisp.org>
145
146         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
147         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
148         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
149         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
150         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
151         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
152         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
153
154 2012-03-08  Bruno Haible  <bruno@clisp.org>
155
156         remainderf: Override buggy system function on IRIX 6.5.
157         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
158         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
159         when it exists.
160         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
161
162 2012-03-08  Jim Meyering  <meyering@redhat.com>
163
164         test-readtokens.c: avoid const-related compilation warnings
165         * tests/test-readtokens.c: Avoid const-related compilation warnings.
166
167 2012-03-07  Jim Meyering  <meyering@redhat.com>
168             Bruno Haible  <bruno@clisp.org>
169
170         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
171         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
172         tests/randomd.c.
173         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
174         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
175         tests/randoml.c.
176         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
177
178 2012-03-07  Bruno Haible  <bruno@clisp.org>
179
180         expm1l: Avoid compilation error on AIX.
181         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
182         AIX 5.2..7.1.
183
184 2012-03-07  Bruno Haible  <bruno@clisp.org>
185
186         expm1l: Don't override undeclared system function on IRIX 6.5.
187         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
188         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
189         it exists. Set HAVE_DECL_EXPM1L.
190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
191         HAVE_EXPM1L.
192         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
193         HAVE_EXPM1L.
194         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
195
196 2012-03-07  Bruno Haible  <bruno@clisp.org>
197
198         remainderl: Don't override undeclared system function on IRIX 6.5.
199         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
200         HAVE_REMAINDERL.
201         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
202         declared when it exists. Set HAVE_DECL_REMAINDERL.
203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
204         not HAVE_REMAINDERL.
205         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
206         HAVE_REMAINDERL.
207         * doc/posix-functions/remainderl.texi: Mention missing declaration
208         problem.
209
210 2012-03-07  Bruno Haible  <bruno@clisp.org>
211
212         rintf: Don't override undeclared system function on IRIX 6.5.
213         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
214         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
215         exists. Set HAVE_DECL_RINTF.
216         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
217         HAVE_RINTF.
218         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
219         HAVE_RINTF.
220         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
221
222 2012-03-07  Bruno Haible  <bruno@clisp.org>
223
224         roundl: Avoid compilation error on AIX.
225         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
226         AIX 5.2..7.1.
227
228 2012-03-07  Bruno Haible  <bruno@clisp.org>
229
230         roundl: Don't override undeclared system function on IRIX 6.5.
231         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
232         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
233         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
234         * modules/roundl (configure.ac): For replacement code, test
235         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
236         (Depends-on): Update conditions.
237         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
238
239 2012-03-07  Bruno Haible  <bruno@clisp.org>
240
241         roundf: Don't override undeclared system function on IRIX 6.5.
242         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
243         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
244         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
245         * modules/roundf (configure.ac): For replacement code, test
246         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
247         (Depends-on): Update conditions.
248         * modules/roundf-ieee (Depends-on): Update conditions.
249         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
250
251 2012-03-07  Bruno Haible  <bruno@clisp.org>
252
253         round: Don't override undeclared system function on IRIX 6.5.
254         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
255         argument.
256         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
257         also when it is not declared. Set HAVE_ROUND. For replacement code,
258         test HAVE_ROUND, not HAVE_DECL_ROUND.
259         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
260         not HAVE_DECL_ROUND.
261         (Depends-on): Update conditions.
262         * modules/round-ieee (Depends-on): Update conditions.
263         * doc/posix-functions/round.texi: Mention the IRIX problem.
264
265 2012-03-07  Bruno Haible  <bruno@clisp.org>
266
267         copysignf: Don't override undeclared system function on IRIX 6.5.
268         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
269         HAVE_COPYSIGNF.
270         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
271         declared when it exists. Set HAVE_DECL_COPYSIGNF.
272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
273         not HAVE_COPYSIGNF.
274         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
275         HAVE_COPYSIGNF.
276         * doc/posix-functions/copysignf.texi: Mention missing declaration
277         problem.
278
279 2012-03-07  Jim Meyering  <meyering@redhat.com>
280
281         readtokens: add tests
282         * modules/readtokens-tests: New file.
283         * tests/test-readtokens.c: New file.
284
285 2012-03-07  Jim Meyering  <meyering@redhat.com>
286
287         quotearg: the module must now include quote.h
288         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
289         So must the module.
290         * modules/quotearg (Files): Add quote.h.
291
292 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
293
294         readtokens: avoid core dumps with unusual calling patterns
295         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
296         * lib/readtokens.c: Include limits.h.
297         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
298         (readtoken): Don't cache the delimiters; the cache code was buggy
299         if !delim && saved_delim, or if the new n_delim differs from the old.
300         Also, it wasn't thread-safe.
301
302 2012-03-07  Bruno Haible  <bruno@clisp.org>
303
304         quote: Adhere to common module description layout.
305         * modules/quote (Makefile.am): Add back empty section.
306
307 2012-03-06  Akim Demaille  <demaille@gostai.com>
308
309         quote: fuse into quotearg
310         This patch is made for the benefit of Bison.
311         quote does not leave the choice of the quoting style to the user.
312         quoting_style provides poor customizability, yet quoting_options,
313         which is very rich, is hidden inside quotearg.c.  So in order to
314         allow quote customization, move its implementation to quotearg.c.
315         * lib/quote.c: Remove.
316         * modules/quote: Adjust.
317         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
318         warning: provide all the members of literal structs.
319         (quote_quoting_options): New.
320         (quote, quote_n): Import implementation from quote.c.
321         * lib/quote.h: Import the comments from quote.c.
322         (quote_quoting_options): New.
323
324 2012-03-06  Bruno Haible  <bruno@clisp.org>
325
326         Tests for module 'expm1l-ieee'.
327         * modules/expm1l-ieee-tests: New file.
328         * tests/test-expm1l-ieee.c: New file.
329
330         New module 'expm1l-ieee'.
331         * modules/expm1l-ieee: New file.
332
333         Tests for module 'expm1f-ieee'.
334         * modules/expm1f-ieee-tests: New file.
335         * tests/test-expm1f-ieee.c: New file.
336
337         New module 'expm1f-ieee'.
338         * modules/expm1f-ieee: New file.
339
340         Tests for module 'expm1-ieee'.
341         * modules/expm1-ieee-tests: New file.
342         * tests/test-expm1-ieee.c: New file.
343         * tests/test-expm1-ieee.h: New file.
344
345         New module 'expm1-ieee'.
346         * modules/expm1-ieee: New file.
347         * m4/expm1-ieee.m4: New file.
348         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
349         whether expm1 works with a minus zero argument. Replace it if not.
350         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
351         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
352         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
353         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
354         (Depends-on): Update conditions.
355         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
356         AIX problem.
357
358 2012-03-06  Bruno Haible  <bruno@clisp.org>
359
360         Work around expm1f bug on IRIX 6.5.
361         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
362         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
363         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
364         not work.
365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
366         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
367         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
368         (Depends-on): Update conditions.
369         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
370
371 2012-03-06  Bruno Haible  <bruno@clisp.org>
372
373         Tests for module 'expm1l'.
374         * modules/expm1l-tests: New file.
375         * tests/test-expm1l.c: New file.
376
377         New module 'expm1l'.
378         * lib/math.in.h (expm1l): New declaration.
379         * lib/expm1l.c: New file.
380         * m4/expm1l.m4: New file.
381         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
383         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
384         * modules/expm1l: New file.
385         * tests/test-math-c++.cc: Check the declaration of expm1l.
386         * doc/posix-functions/expm1l.texi: Mention the new module.
387
388 2012-03-06  Bruno Haible  <bruno@clisp.org>
389
390         Tests for module 'expm1f'.
391         * modules/expm1f-tests: New file.
392         * tests/test-expm1f.c: New file.
393
394         New module 'expm1f'.
395         * lib/math.in.h (expm1f): New declaration.
396         * lib/expm1f.c: New file.
397         * m4/expm1f.m4: New file.
398         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
399         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
400         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
401         * modules/expm1f: New file.
402         * tests/test-math-c++.cc: Check the declaration of expm1f.
403         * doc/posix-functions/expm1f.texi: Mention the new module.
404
405 2012-03-06  Bruno Haible  <bruno@clisp.org>
406
407         Tests for module 'expm1'.
408         * modules/expm1-tests: New file.
409         * tests/test-expm1.c: New file.
410         * tests/test-expm1.h: New file.
411
412         New module 'expm1'.
413         * lib/math.in.h (expm1): New declaration.
414         * lib/expm1.c: New file.
415         * m4/expm1.m4: New file.
416         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
417         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
418         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
419         * modules/expm1: New file.
420         * tests/test-math-c++.cc: Check the declaration of expm1.
421         * doc/posix-functions/expm1.texi: Mention the new module.
422
423 2012-03-06  Bruno Haible  <bruno@clisp.org>
424
425         math: Ensure declarations of math functions.
426         * modules/acosf (Depends-on): Add 'extensions'.
427         * modules/asinf (Depends-on): Likewise.
428         * modules/atan2f (Depends-on): Likewise.
429         * modules/atanf (Depends-on): Likewise.
430         * modules/cbrt (Depends-on): Likewise.
431         * modules/cbrtf (Depends-on): Likewise.
432         * modules/cbrtl (Depends-on): Likewise.
433         * modules/copysignf (Depends-on): Likewise.
434         * modules/copysignl (Depends-on): Likewise.
435         * modules/cosf (Depends-on): Likewise.
436         * modules/coshf (Depends-on): Likewise.
437         * modules/expf (Depends-on): Likewise.
438         * modules/fabsf (Depends-on): Likewise.
439         * modules/fabsl (Depends-on): Likewise.
440         * modules/fmaf (Depends-on): Likewise.
441         * modules/fmal (Depends-on): Likewise.
442         * modules/fmodf (Depends-on): Likewise.
443         * modules/fmodl (Depends-on): Likewise.
444         * modules/frexpf (Depends-on): Likewise.
445         * modules/frexpl (Depends-on): Likewise.
446         * modules/hypot (Depends-on): Likewise.
447         * modules/hypotf (Depends-on): Likewise.
448         * modules/hypotl (Depends-on): Likewise.
449         * modules/ldexpf (Depends-on): Likewise.
450         * modules/ldexpl (Depends-on): Likewise.
451         * modules/log10f (Depends-on): Likewise.
452         * modules/log10l (Depends-on): Likewise.
453         * modules/log1p (Depends-on): Likewise.
454         * modules/logb (Depends-on): Likewise.
455         * modules/logf (Depends-on): Likewise.
456         * modules/modff (Depends-on): Likewise.
457         * modules/modfl (Depends-on): Likewise.
458         * modules/powf (Depends-on): Likewise.
459         * modules/remainderf (Depends-on): Likewise.
460         * modules/remainderl (Depends-on): Likewise.
461         * modules/rintf (Depends-on): Likewise.
462         * modules/rintl (Depends-on): Likewise.
463         * modules/sinf (Depends-on): Likewise.
464         * modules/sinhf (Depends-on): Likewise.
465         * modules/sqrtf (Depends-on): Likewise.
466         * modules/tanf (Depends-on): Likewise.
467         * modules/tanhf (Depends-on): Likewise.
468         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
469         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
470         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
471         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
472         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
473         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
474         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
475         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
476         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
477         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
478         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
479         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
480         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
481         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
482         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
483         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
484         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
485         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
486         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
487         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
488         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
489         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
490         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
491         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
492         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
493         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
494         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
495         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
496         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
497         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
498         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
499         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
500         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
501         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
502         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
503         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
504         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
505         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
506         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
507         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
508         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
509
510 2012-03-06  Bruno Haible  <bruno@clisp.org>
511
512         math: Update module names in warnings.
513         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
514         tanl): Use specific module name in warn-on-use warning.
515
516 2012-03-06  Bruno Haible  <bruno@clisp.org>
517
518         expl: Simplify computation.
519         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
520
521 2012-03-05  Bruno Haible  <bruno@clisp.org>
522
523         exp* tests: More tests.
524         * tests/test-exp.h: New file.
525         * tests/test-exp.c: Include <float.h> and test-exp.h.
526         (main): Invoke test_function.
527         * tests/test-expf.c: Include <float.h> and test-exp.h.
528         (main): Invoke test_function.
529         * tests/test-expl.c: Include <float.h> and test-exp.h.
530         (main): Invoke test_function.
531         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
532         (Makefile.am): Add randomd.c to test_exp_SOURCES.
533         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
534         (Makefile.am): Add randomf.c to test_expf_SOURCES.
535         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
536         (Depends-on): Add 'float'.
537         (Makefile.am): Add randoml.c to test_expl_SOURCES.
538
539         expl: Fix precision of computed result.
540         * lib/expl.c: Completely rewritten.
541         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
542         (Maintainer): Add me.
543         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
544
545 2012-03-05  Bruno Haible  <bruno@clisp.org>
546
547         cbrt* tests: More tests.
548         * tests/test-cbrt.h: New file.
549         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
550         (main): Invoke test_function.
551         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
552         (main): Invoke test_function.
553         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
554         (main): Invoke test_function.
555         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
556         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
557         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
558         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
559         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
560         (Depends-on): Add 'float'.
561         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
562
563 2012-03-05  Bruno Haible  <bruno@clisp.org>
564
565         hypot* tests: More tests.
566         * tests/test-hypot.h: New file, partially extracted from
567         tests/test-hypotl.c.
568         * tests/test-hypot.c: Include test-hypot.h.
569         (main): Invoke test_function.
570         * tests/test-hypotf.c: Include test-hypot.h.
571         (main): Invoke test_function.
572         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
573         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
574         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
575         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
576         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
577         tests/randomf.c.
578         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
579         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
580         tests/randoml.c.
581         (Depends-on): Add 'fpucw', 'float'.
582         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
583
584 2012-03-05  Bruno Haible  <bruno@clisp.org>
585
586         fpucw: Doc about FreeBSD.
587         * lib/fpucw.h: Mention FreeBSD in comments.
588
589 2012-03-04  Bruno Haible  <bruno@clisp.org>
590
591         sqrt* tests: More tests.
592         * tests/test-sqrt.h: New file.
593         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
594         (main): Invoke test_function.
595         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
596         (main): Invoke test_function.
597         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
598         (main): Invoke test_function.
599         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
600         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
601         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
602         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
603         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
604         (Depends-on): Add 'float'.
605         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
606
607 2012-03-04  Bruno Haible  <bruno@clisp.org>
608
609         remainder* tests: More tests.
610         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
611         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
612         (main): Invoke test_function.
613         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
614         (main): Invoke test_function.
615         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
616         (main): Invoke test_function.
617         * modules/remainder-tests (Files): Add tests/test-remainder.h,
618         tests/randomd.c.
619         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
620         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
621         tests/randomf.c.
622         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
623         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
624         tests/randoml.c.
625         (Depends-on): Add 'float'.
626         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
627
628 2012-03-04  Bruno Haible  <bruno@clisp.org>
629
630         remainder, remainderf, remainderl: Fix computation for large quotients.
631         * lib/remainder.c: Completely rewritten.
632         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
633         USE_FLOAT.
634         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
635         USE_LONG_DOUBLE.
636         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
637         isnand, isinf. Remove round, fma.
638         * modules/remainderf (Files): Add lib/remainder.c.
639         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
640         Remove roundf, fmaf.
641         * modules/remainderl (Files): Add lib/remainder.c.
642         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
643         isinf. Remove roundl, fmal.
644         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
645         REMAINDER_LIBM.
646         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
647         REMAINDERF_LIBM.
648         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
649         REMAINDERL_LIBM.
650
651 2012-03-04  Bruno Haible  <bruno@clisp.org>
652
653         fmod* tests: More tests.
654         * tests/test-fmod.h (my_ldexp): New function.
655         (test_function): Reduce amount of random numbers to test. Add tests
656         of very large quotients x / y.
657         * tests/test-fmod.c (MAX_EXP): New macro.
658         * tests/test-fmodf.c (MAX_EXP): Likewise.
659         * tests/test-fmodl.c (MAX_EXP): Likewise.
660
661 2012-03-04  Bruno Haible  <bruno@clisp.org>
662
663         fmod, fmodl: Fix computation for large quotients x / y.
664         * lib/fmod.c: Completely rewritten.
665         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
666         USE_LONG_DOUBLE.
667         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
668         isnand. Remove fma.
669         * modules/fmodl (Files): Add lib/fmod.c.
670         (Depends-on): Add float, isfinite, signbit, fabsl,
671         frexpl, ldexpl, isnanl. Remove fma.
672         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
673         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
674
675 2012-03-03  Bruno Haible  <bruno@clisp.org>
676
677         fmod* tests: More tests.
678         * tests/test-fmod.h: New file.
679         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
680         (main): Invoke test_function.
681         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
682         (main): Invoke test_function.
683         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
684         (main): Invoke test_function.
685         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
686         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
687         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
688         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
689         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
690         (Depends-on): Add 'float'.
691         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
692
693 2012-03-03  Bruno Haible  <bruno@clisp.org>
694
695         rint* tests: More tests.
696         * tests/test-rint.h: New file, partially extracted from
697         tests/test-rintl.c.
698         * tests/test-rint.c: Include test-rint.h.
699         (main): Invoke test_function.
700         * tests/test-rintf.c: Include test-rint.h.
701         (main): Invoke test_function.
702         * tests/test-rintl.c: Include test-rint.h.
703         (main): Invoke test_function.
704         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
705         (Makefile.am): Add randomd.c to test_rint_SOURCES.
706         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
707         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
708         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
709         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
710
711 2012-03-03  Bruno Haible  <bruno@clisp.org>
712
713         modf* tests: More tests.
714         * tests/test-modf.h: New file.
715         * tests/test-modf.c: Include <float.h> and test-modf.h.
716         (main): Invoke test_function.
717         * tests/test-modff.c: Include <float.h> and test-modf.h.
718         (main): Invoke test_function.
719         * tests/test-modfl.c: Include <float.h> and test-modf.h.
720         (main): Invoke test_function.
721         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
722         (Makefile.am): Add randomd.c to test_modf_SOURCES.
723         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
724         (Makefile.am): Add randomf.c to test_modff_SOURCES.
725         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
726         (Depends-on): Add 'float'.
727         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
728
729 2012-03-03  Bruno Haible  <bruno@clisp.org>
730
731         fabs* tests: More tests.
732         * tests/test-fabs.h: New file, partially extracted from
733         tests/test-fabsl.c.
734         * tests/test-fabs.c (RANDOM): New macro.
735         * tests/test-fabsf.c (RANDOM): New macro.
736         * tests/test-fabsl.c (RANDOM): New macro.
737         * modules/fabs-tests (Files): Add tests/randomd.c.
738         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
739         * modules/fabsf-tests (Files): Add tests/randomf.c.
740         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
741         * modules/fabsl-tests (Files): Add tests/randoml.c.
742         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
743
744 2012-03-03  Bruno Haible  <bruno@clisp.org>
745
746         ldexp* tests: More tests.
747         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
748         * tests/test-ldexp.c (RANDOM): New macro.
749         * tests/test-ldexpf.c (RANDOM): New macro.
750         * tests/test-ldexpl.c (RANDOM): New macro.
751         * modules/ldexp-tests (Files): Add tests/randomd.c.
752         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
753         * modules/ldexpf-tests (Files): Add tests/randomf.c.
754         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
755         * modules/ldexpl-tests (Files): Add tests/randoml.c.
756         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
757
758 2012-03-03  Bruno Haible  <bruno@clisp.org>
759
760         frexp* tests: More tests.
761         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
762         * tests/test-frexp.c (RANDOM): New macro.
763         * tests/test-frexpf.c (RANDOM): New macro.
764         * tests/test-frexpl.c (RANDOM): New macro.
765         * modules/frexp-tests (Files): Add tests/randomd.c.
766         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
767         * modules/frexpf-tests (Files): Add tests/randomf.c.
768         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
769         * modules/frexpl-tests (Files): Add tests/randoml.c.
770         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
771
772 2012-03-03  Bruno Haible  <bruno@clisp.org>
773
774         Support for pseudo-random numbers in tests.
775         * tests/randomf.c: New file.
776         * tests/randomd.c: New file.
777         * tests/randoml.c: New file.
778         * tests/macros.h (randomf, randomd, randoml): New declarations.
779
780 2012-03-03  Bruno Haible  <bruno@clisp.org>
781
782         frexp* tests: Refactor.
783         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
784         * tests/test-frexp.c: Include and use it.
785         * tests/test-frexpf.c: Likewise.
786         * tests/test-frexpl.c: Likewise.
787         * modules/frexp-tests (Files): Add tests/test-frexp.h.
788         * modules/frexpf-tests (Files): Likewise.
789         * modules/frexpl-tests (Files): Likewise.
790
791 2012-03-02  Jim Meyering  <meyering@redhat.com>
792
793         maint: don't specify XZ_OPT=-9ev in dist-related rule
794         Using xz's -9 option is warranted only if you have a very large
795         tarball (see xz's documentation for the sizes vs. presets), and
796         requires 64MiB of memory at decompression time.
797         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
798         Automake's default of just "-e" is fine.  Override on a
799         per-package basis by setting XZ_OPT e.g., in cfg.mk.
800
801 2012-03-01  Eric Blake  <eblake@redhat.com>
802
803         maint.mk: allow announcement for non-gnulib project
804         * maint.mk (announcement): Skip gnulib version if not used.
805
806 2012-03-01  Jim Meyering  <meyering@redhat.com>
807
808         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
809         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
810         envvar settings cannot interfere.  Otherwise, setting envvars like
811         prohibit=foo require=bar, etc. would cause spurious test failures.
812
813 2012-03-01  Eric Blake  <eblake@redhat.com>
814
815         maint.mk: add per-line exclusions to prohibitions
816         * maint.mk (_sc_search_regexp): Add $exclude parameter.
817         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
818         (sc_const_long_option): Use it.
819
820 2012-03-01  Bruno Haible  <bruno@clisp.org>
821
822         Tests for module 'expl-ieee'.
823         * modules/expl-ieee-tests: New file.
824         * tests/test-expl-ieee.c: New file.
825
826         New module 'expl-ieee'.
827         * modules/expl-ieee: New file.
828
829         Tests for module 'exp-ieee'.
830         * modules/exp-ieee-tests: New file.
831         * tests/test-exp-ieee.c: New file.
832
833         New module 'exp-ieee'.
834         * modules/exp-ieee: New file.
835
836         Tests for module 'expf-ieee'.
837         * modules/expf-ieee-tests: New file.
838         * tests/test-expf-ieee.c: New file.
839         * tests/test-exp-ieee.h: New file.
840
841         New module 'expf-ieee'.
842         * modules/expf-ieee: New file.
843
844 2012-02-29  Bruno Haible  <bruno@clisp.org>
845
846         cbrtl-ieee: Work around test failure on IRIX 6.5.
847         * m4/cbrtl-ieee.m4: New file.
848         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
849         test whether cbrtl works with a minus zero argument. Replace it if not.
850         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
852         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
853         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
854         (Depends-on): Update conditions.
855         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
856         m4/signbit.m4.
857         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
858         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
859         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
860
861         Tests for module 'cbrtl-ieee'.
862         * modules/cbrtl-ieee-tests: New file.
863         * tests/test-cbrtl-ieee.c: New file.
864
865         New module 'cbrtl-ieee'.
866         * modules/cbrtl-ieee: New file.
867
868         Tests for module 'cbrt-ieee'.
869         * modules/cbrt-ieee-tests: New file.
870         * tests/test-cbrt-ieee.c: New file.
871
872         New module 'cbrt-ieee'.
873         * modules/cbrt-ieee: New file.
874
875         Tests for module 'cbrtf-ieee'.
876         * modules/cbrtf-ieee-tests: New file.
877         * tests/test-cbrtf-ieee.c: New file.
878         * tests/test-cbrt-ieee.h: New file.
879
880         New module 'cbrtf-ieee'.
881         * modules/cbrtf-ieee: New file.
882
883 2012-02-29  Bruno Haible  <bruno@clisp.org>
884
885         cbrtf: Work around bug in IRIX 6.5 system function.
886         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
887         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
888         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
889         work.
890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
891         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
892         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
893         (Depends-on): Update conditions.
894         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
895
896 2012-02-29  Bruno Haible  <bruno@clisp.org>
897
898         Tests for module 'cbrtl'.
899         * modules/cbrtl-tests: New file.
900         * tests/test-cbrtl.c: New file.
901
902         New module 'cbrtl'.
903         * lib/math.in.h (cbrtl): New declaration.
904         * lib/cbrtl.c: New file.
905         * m4/cbrtl.m4: New file.
906         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
907         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
908         HAVE_DECL_CBRTL.
909         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
910         HAVE_DECL_CBRTL.
911         * modules/cbrtl: New file.
912         * tests/test-math-c++.cc: Check the declaration of cbrtl.
913         * doc/posix-functions/cbrtl.texi: Mention the new module.
914
915 2012-02-29  Bruno Haible  <bruno@clisp.org>
916
917         Tests for module 'cbrtf'.
918         * modules/cbrtf-tests: New file.
919         * tests/test-cbrtf.c: New file.
920
921         New module 'cbrtf'.
922         * lib/math.in.h (cbrtf): New declaration.
923         * lib/cbrtf.c: New file.
924         * m4/cbrtf.m4: New file.
925         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
926         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
927         HAVE_DECL_CBRTF.
928         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
929         HAVE_DECL_CBRTF.
930         * modules/cbrtf: New file.
931         * tests/test-math-c++.cc: Check the declaration of cbrtf.
932         * doc/posix-functions/cbrtf.texi: Mention the new module.
933
934 2012-02-29  Bruno Haible  <bruno@clisp.org>
935
936         cbrt: Provide replacement on MSVC and Minix.
937         * lib/math.in.h (cbrt): New declaration.
938         * lib/cbrt.c: New file.
939         * m4/cbrt.m4: New file.
940         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
942         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
943         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
944         (Depends-on): Add dependencies.
945         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
946         * tests/test-math-c++.cc: Check the declaration of cbrt.
947         * doc/posix-functions/cbrt.texi: Mention that the module provides a
948         replacement.
949
950 2012-02-29  Bruno Haible  <bruno@clisp.org>
951
952         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
953         * m4/hypotl-ieee.m4: New file.
954         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
955         test whether hypotl works with mixed NaN and Infinity arguments.
956         Replace it if not.
957         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
958         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
959         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
960         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
961         (Depends-on): Update conditions.
962         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
963         (Depends-on): Add hypot-ieee.
964         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
965         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
966
967         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
968         * m4/hypotf-ieee.m4: New file.
969         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
970         test whether hypotf works with mixed NaN and Infinity arguments.
971         Replace it if not.
972         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
973         (Depends-on): Add hypot-ieee.
974         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
975         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
976
977         hypot-ieee: Work around test failure on OSF/1 and native Windows.
978         * lib/math.in.h (hypot): New declaration.
979         * lib/hypot.c: New file.
980         * m4/hypot-ieee.m4: New file.
981         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
982         whether hypot works with mixed NaN and Infinity arguments. Replace it
983         if not.
984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
985         REPLACE_HYPOT.
986         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
987         * modules/hypot (Files): Add lib/hypot.c.
988         (Depends-on): Add dependencies.
989         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
990         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
991         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
992         * tests/test-math-c++.cc: Check the declaration of hypot.
993         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
994
995         Tests for module 'hypotl-ieee'.
996         * modules/hypotl-ieee-tests: New file.
997         * tests/test-hypotl-ieee.c: New file.
998
999         New module 'hypotl-ieee'.
1000         * modules/hypotl-ieee: New file.
1001
1002         Tests for module 'hypot-ieee'.
1003         * modules/hypot-ieee-tests: New file.
1004         * tests/test-hypot-ieee.c: New file.
1005
1006         New module 'hypot-ieee'.
1007         * modules/hypot-ieee: New file.
1008
1009         Tests for module 'hypotf-ieee'.
1010         * modules/hypotf-ieee-tests: New file.
1011         * tests/test-hypotf-ieee.c: New file.
1012         * tests/test-hypot-ieee.h: New file.
1013
1014         New module 'hypotf-ieee'.
1015         * modules/hypotf-ieee: New file.
1016
1017 2012-02-29  Bruno Haible  <bruno@clisp.org>
1018
1019         Remove unused variables.
1020         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1021         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1022         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1023         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1024
1025 2012-02-29  Eric Blake  <eblake@redhat.com>
1026
1027         termios: fix pid_t always, not just for tcgetsid
1028         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1029         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1030         just when building tcgetsid.
1031
1032 2012-02-29  Bruno Haible  <bruno@clisp.org>
1033
1034         Tests for module 'hypotl'.
1035         * modules/hypotl-tests: New file.
1036         * tests/test-hypotl.c: New file.
1037
1038         New module 'hypotl'.
1039         * lib/math.in.h (hypotl): New declaration.
1040         * lib/hypotl.c: New file.
1041         * m4/hypotl.m4: New file.
1042         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1043         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1044         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1045         * modules/hypotl: New file.
1046         * tests/test-math-c++.cc: Check the hypotl declaration.
1047         * doc/posix-functions/hypotl.texi: Mention the new module.
1048
1049 2012-02-29  Eric Blake  <eblake@redhat.com>
1050
1051         tcgetsid: fix cygwin header bug
1052         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1053
1054         docs: update cygwin progress
1055         * doc/posix-functions/llround.texi (llround): Added in cygwin
1056         1.7.8.
1057         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1058         * doc/glibc-functions/program_invocation_name.texi
1059         (program_invocation_name): Likewise.
1060         * doc/glibc-functions/program_invocation_short_name.texi
1061         (program_invocation_short_name): Likewise.
1062         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1063         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1064         Likewise.
1065         * doc/posix-functions/pthread_spin_destroy.texi
1066         (pthread_spin_destroy): Added in cygwin 1.7.10.
1067         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1068         Likewise.
1069         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1070         Likewise.
1071         * doc/posix-functions/pthread_spin_trylock.texi
1072         (pthread_spin_trylock): Likewise.
1073         * doc/posix-functions/pthread_spin_unlock.texi
1074         (pthread_spin_unlock): Likewise.
1075         * doc/posix-functions/pthread_setschedprio.texi
1076         (pthread_setschedprio): Likewise.
1077         * doc/posix-functions/pthread_attr_getstack.texi
1078         (pthread_attr_getstack): Likewise.
1079         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1080         (pthread_attr_getstackaddr): Likewise.
1081         * doc/glibc-functions/pthread_getattr_np.texi
1082         (pthread_getattr_np): Likewise.
1083         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1084         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1085         * doc/posix-functions/clock_settime.texi (clock_settime):
1086         Likewise.
1087         * doc/posix-functions/pthread_attr_getguardsize.texi
1088         (pthread_attr_getguardsize): Likewise.
1089         * doc/posix-functions/pthread_attr_setguardsize.texi
1090         (pthread_attr_setguardsize): Likewise.
1091         * doc/posix-functions/pthread_attr_setstack.texi
1092         (pthread_attr_setstack): Likewise.
1093         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1094         (pthread_attr_setstackaddr): Likewise.
1095         * doc/posix-functions/clock_getcpuclockid.texi
1096         (clock_getcpuclockid): Likewise.
1097         * doc/posix-functions/pthread_getcpuclockid.texi
1098         (pthread_getcpuclockid): Likewise.
1099         * doc/glibc-functions/error.texi (error): Likewise.
1100         * doc/glibc-functions/error_at_line.texi (error_at_line):
1101         Likewise.
1102         * doc/glibc-functions/error_message_count.texi
1103         (error_message_count): Likewise.
1104         * doc/glibc-functions/error_one_per_line.texi
1105         (error_one_per_line): Likewise.
1106         * doc/glibc-functions/error_print_progname.texi
1107         (error_print_progname): Likewise.
1108         * doc/posix-functions/pthread_condattr_getclock.texi
1109         (pthread_condattr_getclock): Likewise.
1110         * doc/posix-functions/pthread_condattr_setclock.texi
1111         (pthread_condattr_setclock): Likewise.
1112         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1113         Likewise.
1114         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1115         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1116         * doc/glibc-functions/get_current_dir_name.texi
1117         (get_current_dir_name): Likewise.
1118         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1119         Likewise.
1120         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1121         wrong return type.
1122         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1123         1.7.11.
1124
1125 2012-02-29  Bruno Haible  <bruno@clisp.org>
1126
1127         Tests for module 'hypotf'.
1128         * modules/hypotf-tests: New file.
1129         * tests/test-hypotf.c: New file.
1130
1131         New module 'hypotf'.
1132         * lib/math.in.h (hypotf): New declaration.
1133         * lib/hypotf.c: New file.
1134         * m4/hypotf.m4: New file.
1135         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1136         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1137         REPLACE_HYPOTF.
1138         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1139         REPLACE_HYPOTF.
1140         * modules/hypotf: New file.
1141         * tests/test-math-c++.cc: Check the hypotf declaration.
1142         * doc/posix-functions/hypotf.texi: Mention the new module.
1143
1144         hypot: Prepare for hypotf module.
1145         * m4/hypot.m4: New file.
1146         * modules/hypot (Files): Add m4/hypot.m4.
1147         (configure.ac): Invoke gl_FUNC_HYPOT.
1148
1149 2012-02-29  Bruno Haible  <bruno@clisp.org>
1150
1151         hypot tests: More tests.
1152         * tests/test-hypot.c: Include <float.h>.
1153         (main): Add tests about overflow and underflow.
1154
1155 2012-02-29  Bruno Haible  <bruno@clisp.org>
1156
1157         math code: Add comments.
1158         * lib/acosl.c: Add comment about related glibc source files.
1159         * lib/asinl.c: Likewise.
1160         * lib/atanl.c: Likewise.
1161         * lib/expl.c: Likewise.
1162         * lib/logl.c: Likewise.
1163         * lib/sincosl.c: Likewise.
1164         * lib/sinl.c: Likewise.
1165         * lib/tanl.c: Likewise.
1166         * lib/trigl.c: Likewise.
1167         * lib/cosl.c: Likewise. Fix comments.
1168
1169 2012-02-28  Bruno Haible  <bruno@clisp.org>
1170
1171         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1172         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1173         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1174         HUGE_VALL are defined.
1175         (numeric_equald): Renamed from numeric_equal.
1176         (numeric_equalf, numeric_equall): New functions.
1177         (main): Check also HUGE_VALF, HUGE_VALL.
1178         * modules/math-tests (Files): Add tests/macros.h.
1179         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1180         HUGE_VALL.
1181
1182 2012-02-28  Bruno Haible  <bruno@clisp.org>
1183
1184         doc: Move ISO C11 feature notes into POSIX chapters.
1185         * doc/posix-functions/aligned_alloc.texi: Renamed from
1186         doc/glibc-functions/aligned_alloc.texi.
1187         * doc/posix-functions/quick_exit.texi: Renamed from
1188         doc/glibc-functions/quick_exit.texi.
1189         * doc/posix-headers/uchar.texi: Renamed from
1190         doc/glibc-headers/uchar.texi.
1191         * doc/posix-functions/c16rtomb.texi: Renamed from
1192         doc/glibc-functions/c16rtomb.texi.
1193         * doc/posix-functions/c32rtomb.texi: Renamed from
1194         doc/glibc-functions/c32rtomb.texi.
1195         * doc/posix-functions/mbrtoc16.texi: Renamed from
1196         doc/glibc-functions/mbrtoc16.texi.
1197         * doc/posix-functions/mbrtoc32.texi: Renamed from
1198         doc/glibc-functions/mbrtoc32.texi.
1199         * doc/gnulib.texi: Update.
1200         (Glibc uchar.h): Remove section.
1201         Suggested by Eric Blake.
1202
1203 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1204
1205         stdnoreturn: port to MSVC better
1206         MSVC standard headers use __declspec(noreturn), so #define noreturn
1207         to empty on that platform.  Reported by Bruno Haible in
1208         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1209         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1210         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1211
1212 2012-02-28  Bruno Haible  <bruno@clisp.org>
1213
1214         doc: Mention new glibc headers and functions.
1215         * doc/glibc-headers/uchar.texi: New file.
1216         * doc/glibc-functions/aligned_alloc.texi: New file.
1217         * doc/glibc-functions/c16rtomb.texi: New file.
1218         * doc/glibc-functions/c32rtomb.texi: New file.
1219         * doc/glibc-functions/clock_adjtime.texi: New file.
1220         * doc/glibc-functions/fanotify_init.texi: New file.
1221         * doc/glibc-functions/fanotify_mark.texi: New file.
1222         * doc/glibc-functions/inet6_opt_append.texi: New file.
1223         * doc/glibc-functions/inet6_opt_find.texi: New file.
1224         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1225         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1226         * doc/glibc-functions/inet6_opt_init.texi: New file.
1227         * doc/glibc-functions/inet6_opt_next.texi: New file.
1228         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1229         * doc/glibc-functions/inet6_rth_add.texi: New file.
1230         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1231         * doc/glibc-functions/inet6_rth_init.texi: New file.
1232         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1233         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1234         * doc/glibc-functions/inet6_rth_space.texi: New file.
1235         * doc/glibc-functions/login.texi: New file.
1236         * doc/glibc-functions/mbrtoc16.texi: New file.
1237         * doc/glibc-functions/mbrtoc32.texi: New file.
1238         * doc/glibc-functions/name_to_handle_at.texi: New file.
1239         * doc/glibc-functions/ntp_gettimex.texi: New file.
1240         * doc/glibc-functions/open_by_handle_at.texi: New file.
1241         * doc/glibc-functions/prlimit.texi: New file.
1242         * doc/glibc-functions/process_vm_readv.texi: New file.
1243         * doc/glibc-functions/process_vm_writev.texi: New file.
1244         * doc/glibc-functions/recvmmsg.texi: New file.
1245         * doc/glibc-functions/scandirat.texi: New file.
1246         * doc/glibc-functions/sendmmsg.texi: New file.
1247         * doc/glibc-functions/setns.texi: New file.
1248         * doc/glibc-functions/timespec_get.texi: New file.
1249         * doc/gnulib.texi: Include them.
1250         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1251         sections.
1252         Reported by Eric Blake.
1253
1254 2012-02-28  Bruno Haible  <bruno@clisp.org>
1255
1256         Avoid compilation errors with MSVC option -fp:strict.
1257         * lib/floor.c: Use MSVC specific pragma fenv_access.
1258         * lib/ceil.c: Likewise.
1259         * lib/trunc.c: Likewise.
1260         * lib/round.c: Likewise.
1261         * lib/rint.c: Likewise.
1262         * lib/fma.c: Likewise.
1263         * lib/integer_length.c: Likewise.
1264         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1265         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1266         * tests/test-floor2.c: Likewise.
1267         * tests/test-floorf2.c: Likewise.
1268         * tests/test-ceil2.c: Likewise.
1269         * tests/test-ceilf2.c: Likewise.
1270         * tests/test-trunc2.c: Likewise.
1271         * tests/test-truncf2.c: Likewise.
1272         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1273
1274 2012-02-27  Bruno Haible  <bruno@clisp.org>
1275
1276         Tests for module 'sqrtl-ieee'.
1277         * modules/sqrtl-ieee-tests: New file.
1278         * tests/test-sqrtl-ieee.c: New file.
1279
1280         New module 'sqrtl-ieee'.
1281         * modules/sqrtl-ieee: New file.
1282
1283         Tests for module 'sqrt-ieee'.
1284         * modules/sqrt-ieee-tests: New file.
1285         * tests/test-sqrt-ieee.c: New file.
1286
1287         New module 'sqrt-ieee'.
1288         * modules/sqrt-ieee: New file.
1289
1290         Tests for module 'sqrtf-ieee'.
1291         * modules/sqrtf-ieee-tests: New file.
1292         * tests/test-sqrtf-ieee.c: New file.
1293         * tests/test-sqrt-ieee.h: New file.
1294
1295         New module 'sqrtf-ieee'.
1296         * modules/sqrtf-ieee: New file.
1297
1298 2012-02-27  Bruno Haible  <bruno@clisp.org>
1299
1300         remainderl-ieee: Work around test failure on OSF/1.
1301         * m4/remainderl-ieee.m4: New file.
1302         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1303         present, test whether remainderl works with a zero second argument.
1304         Replace it if not.
1305         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1306         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1307         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1308         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1309         (Depends-on): Update conditions.
1310         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1311         (Depends-on): Add remainder-ieee.
1312         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1313         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1314         module.
1315
1316         remainderf-ieee: Work around test failure on OSF/1.
1317         * m4/remainderf-ieee.m4: New file.
1318         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1319         present, test whether remainderf works with a zero second argument.
1320         Replace it if not.
1321         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1323         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1324         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1325         (Depends-on): Update conditions.
1326         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1327         (Depends-on): Add remainder-ieee.
1328         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1329         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1330         module.
1331
1332         remainder-ieee: Work around test failure on OSF/1.
1333         * m4/remainder-ieee.m4: New file.
1334         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1335         present, test whether remainder works with a zero second argument.
1336         Replace it if not.
1337         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1339         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1340         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1341         (Depends-on): Update dependencies.
1342         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1343         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1344         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1345
1346         Tests for module 'remainderl-ieee'.
1347         * modules/remainderl-ieee-tests: New file.
1348         * tests/test-remainderl-ieee.c: New file.
1349
1350         New module 'remainderl-ieee'.
1351         * modules/remainderl-ieee: New file.
1352
1353         Tests for module 'remainder-ieee'.
1354         * modules/remainder-ieee-tests: New file.
1355         * tests/test-remainder-ieee.c: New file.
1356
1357         New module 'remainder-ieee'.
1358         * modules/remainder-ieee: New file.
1359
1360         Tests for module 'remainderf-ieee'.
1361         * modules/remainderf-ieee-tests: New file.
1362         * tests/test-remainderf-ieee.c: New file.
1363         * tests/test-remainder-ieee.h: New file.
1364
1365         New module 'remainderf-ieee'.
1366         * modules/remainderf-ieee: New file.
1367
1368 2012-02-27  Bruno Haible  <bruno@clisp.org>
1369
1370         modff, modfl: Fix configure syntax error.
1371         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1372         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1373
1374 2012-02-27  Bruno Haible  <bruno@clisp.org>
1375
1376         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1377         * m4/fmodl-ieee.m4: New file.
1378         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1379         whether fmodl works with zero arguments. Replace it if not.
1380         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1381         (Depends-on): Add fmod-ieee.
1382         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1383         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1384
1385         fmodf-ieee: Work around test failure on OSF/1.
1386         * m4/fmodf-ieee.m4: New file.
1387         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1388         whether fmodf works with zero arguments. Replace it if not.
1389         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1390         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1391         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1392         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1393         (Depends-on): Update dependencies.
1394         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1395         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1396         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1397
1398         fmodf-ieee: Work around test failure on MSVC 9.
1399         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1400         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1401
1402         fmod-ieee: Work around test failures on OSF/1, mingw.
1403         * m4/fmod-ieee.m4: New file.
1404         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1405         whether fmod works with zero arguments. Replace it if not.
1406         * lib/math.in.h (fmod): New declaration.
1407         * lib/fmod.c: New file.
1408         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1409         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1410         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1411         * modules/fmod (Files): Add lib/fmod.c.
1412         (Depends-on): Add math, isinf, trunc, fma.
1413         (configure.ac): Arrange to compile lib/fmod.c if needed.
1414         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1415         m4/signbit.m4.
1416         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1417         * tests/test-math-c++.cc: Check the declaration of fmod.
1418         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1419
1420         fmodl-ieee: Fix test failures.
1421         * lib/fmodl.c (fmodl): Treat Inf specially.
1422         * modules/fmodl (Depends-on): Add isinf.
1423
1424         Tests for module 'fmodl-ieee'.
1425         * modules/fmodl-ieee-tests: New file.
1426         * tests/test-fmodl-ieee.c: New file.
1427
1428         New module 'fmodl-ieee'.
1429         * modules/fmodl-ieee: New file.
1430
1431         Tests for module 'fmod-ieee'.
1432         * modules/fmod-ieee-tests: New file.
1433         * tests/test-fmod-ieee.c: New file.
1434
1435         New module 'fmod-ieee'.
1436         * modules/fmod-ieee: New file.
1437
1438         Tests for module 'fmodf-ieee'.
1439         * modules/fmodf-ieee-tests: New file.
1440         * tests/test-fmodf-ieee.c: New file.
1441         * tests/test-fmod-ieee.h: New file.
1442
1443         New module 'fmodf-ieee'.
1444         * modules/fmodf-ieee: New file.
1445
1446 2012-02-27  Bruno Haible  <bruno@clisp.org>
1447
1448         Tests for module 'rintl-ieee'.
1449         * modules/rintl-ieee-tests: New file.
1450         * tests/test-rintl-ieee.c: New file.
1451
1452         New module 'rintl-ieee'.
1453         * modules/rintl-ieee: New file.
1454
1455         Tests for module 'rint-ieee'.
1456         * modules/rint-ieee-tests: New file.
1457         * tests/test-rint-ieee.c: New file.
1458
1459         New module 'rint-ieee'.
1460         * modules/rint-ieee: New file.
1461
1462         Tests for module 'rintf-ieee'.
1463         * modules/rintf-ieee-tests: New file.
1464         * tests/test-rintf-ieee.c: New file.
1465         * tests/test-rint-ieee.h: New file.
1466
1467         New module 'rintf-ieee'.
1468         * modules/rintf-ieee: New file.
1469
1470 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1471
1472         regex: re_search etc. should return -2 when memory exhausted
1473         This bug was uncovered when testing 'grep'.  Without the fix,
1474         re_search and friends return -1 when memory is exhausted, but -1
1475         means no match, and this causes grep to falsely report no-match
1476         instead of memory-exhaustion.  See
1477         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1478         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1479         trouble; this can occur if re_search_internal ran out of memory.
1480
1481 2012-02-26  Bruno Haible  <bruno@clisp.org>
1482
1483         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1484         * m4/modfl-ieee.m4: New file.
1485         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1486         whether modfl works with Inf. Replace it if not.
1487         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1489         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1490         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1491         (Depends-on): Update dependencies.
1492         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1493         m4/signbit.m4.
1494         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1495         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1496
1497         modfl-ieee: Fix dependencies.
1498         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1499
1500         modfl-ieee: Fix test failures.
1501         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1502         * modules/modfl (Depends-on): Add isfinite, isinf.
1503
1504         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1505         * m4/modff-ieee.m4: New file.
1506         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1507         whether modff works with NaN and Inf. Replace it if not.
1508         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1510         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1511         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1512         (Depends-on): Update dependencies.
1513         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1514         m4/signbit.m4.
1515         (Depends-on): Add modf-ieee.
1516         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1517         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1518
1519         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1520         * m4/modf-ieee.m4: New file.
1521         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1522         whether modf works with NaN and Inf. Replace it if not.
1523         * lib/math.in.h (modf): New declaration.
1524         * lib/modf.c: New file.
1525         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1527         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1528         * modules/modf (Files): Add lib/modf.c.
1529         (Depends-on): Add math, isfinite, trunc, isinf.
1530         (configure.ac): Addrange to compile lib/modf.c if needed.
1531         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1532         m4/signbit.m4.
1533         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1534         * tests/test-math-c++.cc: Check the declaration of modf.
1535         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1536
1537         Tests for module 'modfl-ieee'.
1538         * modules/modfl-ieee-tests: New file.
1539         * tests/test-modfl-ieee.c: New file.
1540
1541         New module 'modfl-ieee'.
1542         * modules/modfl-ieee: New file.
1543
1544         Tests for module 'modf-ieee'.
1545         * modules/modf-ieee-tests: New file.
1546         * tests/test-modf-ieee.c: New file.
1547
1548         New module 'modf-ieee'.
1549         * modules/modf-ieee: New file.
1550
1551         Tests for module 'modff-ieee'.
1552         * modules/modff-ieee-tests: New file.
1553         * tests/test-modff-ieee.c: New file.
1554         * tests/test-modf-ieee.h: New file.
1555
1556         New module 'modff-ieee'.
1557         * modules/modff-ieee: New file.
1558
1559 2012-02-26  Bruno Haible  <bruno@clisp.org>
1560
1561         Tests for module 'fabsl-ieee'.
1562         * modules/fabsl-ieee-tests: New file.
1563         * tests/test-fabsl-ieee.c: New file.
1564
1565         New module 'fabsl-ieee'.
1566         * modules/fabsl-ieee: New file.
1567
1568         Tests for module 'fabs-ieee'.
1569         * modules/fabs-ieee-tests: New file.
1570         * tests/test-fabs-ieee.c: New file.
1571
1572         New module 'fabs-ieee'.
1573         * modules/fabs-ieee: New file.
1574
1575         Tests for module 'fabsf-ieee'.
1576         * modules/fabsf-ieee-tests: New file.
1577         * tests/test-fabsf-ieee.c: New file.
1578         * tests/test-fabs-ieee.h: New file.
1579
1580         New module 'fabsf-ieee'.
1581         * modules/fabsf-ieee: New file.
1582
1583 2012-02-26  Bruno Haible  <bruno@clisp.org>
1584
1585         Tests for module 'fmal-ieee'.
1586         * modules/fmal-ieee-tests: New file.
1587         * tests/test-fmal-ieee.c: New file.
1588
1589         New module 'fmal-ieee'.
1590         * modules/fmal-ieee: New file.
1591
1592         Tests for module 'fma-ieee'.
1593         * modules/fma-ieee-tests: New file.
1594         * tests/test-fma-ieee.c: New file.
1595
1596         New module 'fma-ieee'.
1597         * modules/fma-ieee: New file.
1598
1599         Tests for module 'fmaf-ieee'.
1600         * modules/fmaf-ieee-tests: New file.
1601         * tests/test-fmaf-ieee.c: New file.
1602         * tests/test-fma-ieee.h: New file.
1603
1604         New module 'fmaf-ieee'.
1605         * modules/fmaf-ieee: New file.
1606
1607 2012-02-26  Bruno Haible  <bruno@clisp.org>
1608
1609         Tests for module 'ldexpl-ieee'.
1610         * modules/ldexpl-ieee-tests: New file.
1611         * tests/test-ldexpl-ieee.c: New file.
1612
1613         New module 'ldexpl-ieee'.
1614         * modules/ldexpl-ieee: New file.
1615
1616         Tests for module 'ldexp-ieee'.
1617         * modules/ldexp-ieee-tests: New file.
1618         * tests/test-ldexp-ieee.c: New file.
1619
1620         New module 'ldexp-ieee'.
1621         * modules/ldexp-ieee: New file.
1622
1623         Tests for module 'ldexpf-ieee'.
1624         * modules/ldexpf-ieee-tests: New file.
1625         * tests/test-ldexpf-ieee.c: New file.
1626         * tests/test-ldexp-ieee.h: New file.
1627
1628         New module 'ldexpf-ieee'.
1629         * modules/ldexpf-ieee: New file.
1630
1631 2012-02-26  Bruno Haible  <bruno@clisp.org>
1632
1633         Refactor frexp*-ieee tests.
1634         * tests/test-frexp-ieee.h: New file.
1635         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1636         (main): Just call test_function.
1637         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1638         (main): Just call test_function.
1639         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1640         (main): Just call test_function.
1641         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1642         * modules/frexp-ieee-tests (Files): Likewise.
1643         * modules/frexpl-ieee-tests (Files): Likewise.
1644
1645         Tests for module 'frexpl-ieee'.
1646         * modules/frexpl-ieee-tests: New file.
1647         * tests/test-frexpl-ieee.c: New file.
1648
1649         New module 'frexpl-ieee'.
1650         * modules/frexpl-ieee: New file.
1651
1652         Tests for module 'frexp-ieee'.
1653         * modules/frexp-ieee-tests: New file.
1654         * tests/test-frexp-ieee.c: New file.
1655
1656         New module 'frexp-ieee'.
1657         * modules/frexp-ieee: New file.
1658
1659         Tests for module 'frexpf-ieee'.
1660         * modules/frexpf-ieee-tests: New file.
1661         * tests/test-frexpf-ieee.c: New file.
1662
1663         New module 'frexpf-ieee'.
1664         * modules/frexpf-ieee: New file.
1665
1666 2012-02-26  Bruno Haible  <bruno@clisp.org>
1667
1668         roundl-ieee tests: More tests.
1669         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1670         (main): Add tests for [MX] shaded specification in POSIX.
1671         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1672         (Depends-on): Add isnanl-nolibm.
1673
1674         round-ieee tests: More tests.
1675         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1676         (main): Add tests for [MX] shaded specification in POSIX.
1677         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1678         (Depends-on): Add isnand-nolibm.
1679
1680         roundf-ieee tests: More tests.
1681         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1682         (main): Add tests for [MX] shaded specification in POSIX.
1683         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1684         (Depends-on): Add isnanf-nolibm.
1685
1686         truncl-ieee tests: More tests.
1687         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1688         (main): Add tests for [MX] shaded specification in POSIX.
1689         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1690         (Depends-on): Add isnanl-nolibm.
1691
1692         trunc-ieee tests: More tests.
1693         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1694         (main): Add tests for [MX] shaded specification in POSIX.
1695         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1696         (Depends-on): Add isnand-nolibm.
1697
1698         truncf-ieee tests: More tests.
1699         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1700         (main): Add tests for [MX] shaded specification in POSIX.
1701         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1702         (Depends-on): Add isnanf-nolibm.
1703
1704         ceill-ieee tests: More tests.
1705         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1706         (main): Add tests for [MX] shaded specification in POSIX.
1707         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1708         (Depends-on): Add isnanl-nolibm.
1709
1710         ceil-ieee tests: More tests.
1711         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1712         (main): Add tests for [MX] shaded specification in POSIX.
1713         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1714         (Depends-on): Add isnand-nolibm.
1715
1716         ceilf-ieee tests: More tests.
1717         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1718         (main): Add tests for [MX] shaded specification in POSIX.
1719         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1720         (Depends-on): Add isnanf-nolibm.
1721
1722         floorl-ieee tests: More tests.
1723         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1724         (main): Add tests for [MX] shaded specification in POSIX.
1725         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1726         (Depends-on): Add isnanl-nolibm.
1727
1728         floor-ieee tests: More tests.
1729         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1730         (main): Add tests for [MX] shaded specification in POSIX.
1731         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1732         (Depends-on): Add isnand-nolibm.
1733
1734         floorf-ieee tests: More tests.
1735         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1736         (main): Add tests for [MX] shaded specification in POSIX.
1737         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1738         (Depends-on): Add isnanf-nolibm.
1739
1740 2012-02-26  Bruno Haible  <bruno@clisp.org>
1741
1742         fpieee: More comments.
1743         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1744
1745 2012-02-25  Bruno Haible  <bruno@clisp.org>
1746
1747         Tests for module 'log10l'.
1748         * modules/log10l-tests: New file.
1749         * tests/test-log10l.c: New file.
1750         * tests/test-math-c++.cc: Check the declaration of log10l.
1751
1752         New module 'log10l'.
1753         * lib/math.in.h (log10l): New declaration.
1754         * lib/log10l.c: New file.
1755         * m4/log10l.m4: New file.
1756         * modules/log10l: New file.
1757         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1758         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1759         HAVE_DECL_LOG10L.
1760         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1761         HAVE_DECL_LOG10L.
1762         * doc/posix-functions/log10l.texi: Mention the new module.
1763
1764 2012-02-25  Bruno Haible  <bruno@clisp.org>
1765
1766         fmodl, remainder*: Avoid wrong results due to rounding errors.
1767         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1768         expected bounds.
1769         * lib/remainderf.c (remainderf): Likewise.
1770         * lib/remainder.c (remainder): Likewise.
1771         * lib/remainderl.c (remainderl): Likewise.
1772
1773 2012-02-25  Bruno Haible  <bruno@clisp.org>
1774
1775         Tests for module 'remainderl'.
1776         * modules/remainderl-tests: New file.
1777         * tests/test-remainderl.c: New file.
1778         * tests/test-math-c++.cc: Check the declaration of remainderl.
1779
1780         New module 'remainderl'.
1781         * lib/math.in.h (remainderl): New declaration.
1782         * lib/remainderl.c: New file.
1783         * m4/remainderl.m4: New file.
1784         * modules/remainderl: New file.
1785         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1786         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1787         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1788         HAVE_REMAINDERL.
1789         * doc/posix-functions/remainderl.texi: Mention the new module.
1790
1791 2012-02-25  Bruno Haible  <bruno@clisp.org>
1792
1793         Tests for module 'remainderf'.
1794         * modules/remainderf-tests: New file.
1795         * tests/test-remainderf.c: New file.
1796         * tests/test-math-c++.cc: Check the declaration of remainderf.
1797
1798         New module 'remainderf'.
1799         * lib/math.in.h (remainderf): New declaration.
1800         * lib/remainderf.c: New file.
1801         * m4/remainderf.m4: New file.
1802         * modules/remainderf: New file.
1803         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
1804         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
1805         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
1806         HAVE_REMAINDERF.
1807         * doc/posix-functions/remainderf.texi: Mention the new module.
1808
1809 2012-02-25  Bruno Haible  <bruno@clisp.org>
1810
1811         remainder: Support for MSVC.
1812         * lib/math.in.h (remainder): New declaration.
1813         * lib/remainder.c: New file.
1814         * m4/remainder.m4: New file.
1815         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1816         (Depends-on): Add math, round, fma.
1817         (configure.ac): Use results of gl_FUNC_REMAINDER.
1818         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1819         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1820         HAVE_DECL_REMAINDER.
1821         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1822         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1823         * tests/test-math-c++.cc: Check the declaration of remainder.
1824         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1825         problems are fixed.
1826
1827 2012-02-25  Bruno Haible  <bruno@clisp.org>
1828
1829         Tests for module 'fmodl'.
1830         * modules/fmodl-tests: New file.
1831         * tests/test-fmodl.c: New file.
1832         * tests/test-math-c++.cc: Check the declaration of fmodl.
1833
1834         New module 'fmodl'.
1835         * lib/math.in.h (fmodl): New declaration.
1836         * lib/fmodl.c: New file.
1837         * m4/fmodl.m4: New file.
1838         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1839         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1840         REPLACE_FMODL.
1841         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1842         REPLACE_FMODL.
1843         * modules/fmodl: New file.
1844         * doc/posix-functions/fmodl.texi: Mention the new module.
1845
1846 2012-02-25  Bruno Haible  <bruno@clisp.org>
1847
1848         Tests for module 'modfl'.
1849         * modules/modfl-tests: New file.
1850         * tests/test-modfl.c: New file.
1851         * tests/test-math-c++.cc: Check the declaration of modfl.
1852
1853         New module 'modfl'.
1854         * lib/math.in.h (modfl): New declaration.
1855         * lib/modfl.c: New file.
1856         * m4/modfl.m4: New file.
1857         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1858         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1859         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1860         * modules/modfl: New file.
1861         * doc/posix-functions/modfl.texi: Mention the new module.
1862
1863 2012-02-25  Bruno Haible  <bruno@clisp.org>
1864
1865         Tests for module 'fabsl'.
1866         * modules/fabsl-tests: New file.
1867         * tests/test-fabsl.c: New file.
1868         * tests/test-math-c++.cc: Check the declaration of fabsl.
1869
1870         New module 'fabsl'.
1871         * lib/math.in.h (fabsl): New declaration.
1872         * lib/fabsl.c: New file.
1873         * m4/fabsl.m4: New file.
1874         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1875         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1876         REPLACE_FABSL.
1877         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1878         REPLACE_FABSL.
1879         * modules/fabsl: New file.
1880         * doc/posix-functions/fabsl.texi: Mention the new module.
1881
1882 2012-02-25  Bruno Haible  <bruno@clisp.org>
1883
1884         fabs tests: More tests.
1885         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1886         (zero): New variable.
1887         (main): Add tests for signed zero.
1888         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1889
1890         fabsf tests: More tests.
1891         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1892         (zero): New variable.
1893         (main): Add tests for signed zero.
1894         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1895
1896 2012-02-24  Bruno Haible  <bruno@clisp.org>
1897
1898         atanl: Provide function definition on MSVC.
1899         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1900         function pointer.
1901         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1902
1903 2012-02-24  Bruno Haible  <bruno@clisp.org>
1904
1905         acosl: Provide function definition on MSVC.
1906         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1907         function pointer.
1908         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1909
1910 2012-02-24  Bruno Haible  <bruno@clisp.org>
1911
1912         asinl: Provide function definition on MSVC.
1913         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1914         function pointer.
1915         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
1916
1917 2012-02-24  Bruno Haible  <bruno@clisp.org>
1918
1919         tanl: Provide function definition on MSVC.
1920         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
1921         function pointer.
1922         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
1923
1924 2012-02-24  Bruno Haible  <bruno@clisp.org>
1925
1926         cosl: Provide function definition on MSVC.
1927         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
1928         function pointer.
1929         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
1930
1931 2012-02-24  Bruno Haible  <bruno@clisp.org>
1932
1933         sinl: Provide function definition on MSVC.
1934         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
1935         function pointer.
1936         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
1937
1938 2012-02-24  Bruno Haible  <bruno@clisp.org>
1939
1940         logl: Provide function definition on MSVC.
1941         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
1942         function pointer.
1943         * lib/math.in.h (logl): Undefine if it does not exist as a function.
1944
1945 2012-02-24  Bruno Haible  <bruno@clisp.org>
1946
1947         expl: Provide function definition on MSVC.
1948         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
1949         function pointer.
1950         * lib/math.in.h (expl): Undefine if it does not exist as a function.
1951
1952 2012-02-24  Bruno Haible  <bruno@clisp.org>
1953
1954         sqrtl: Provide function definition on MSVC.
1955         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
1956         a function pointer.
1957         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
1958
1959 2012-02-24  Bruno Haible  <bruno@clisp.org>
1960
1961         ceill: Provide function definition on MSVC.
1962         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
1963         used as a function pointer.
1964         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
1965
1966 2012-02-24  Bruno Haible  <bruno@clisp.org>
1967
1968         floorl: Provide function definition on MSVC.
1969         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
1970         used as a function pointer.
1971         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
1972
1973 2012-02-24  Bruno Haible  <bruno@clisp.org>
1974
1975         ceilf: Provide function definition on MSVC.
1976         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
1977         used as a function pointer.
1978         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
1979
1980 2012-02-24  Bruno Haible  <bruno@clisp.org>
1981
1982         floorf: Provide function definition on MSVC.
1983         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
1984         used as a function pointer.
1985         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
1986
1987 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1988
1989         stdnoreturn: new module
1990         This implements a replacement for C11's <stdnoreturn.h>.
1991         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
1992         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
1993         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1994         * tests/test-stdnoreturn.c: New files.
1995
1996 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
1997
1998         regex: fix false multibyte matches in some regular expressions
1999         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2000         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2001         * lib/regex_internal.c (re_string_skip_chars):
2002         Fix miscomputation of remain_len that may cause incomplete
2003         multi-byte character and false match.
2004
2005 2012-02-24  Jim Meyering  <meyering@redhat.com>
2006
2007         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2008         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2009         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2010         Remove now-unnecessary str''cmp obfuscation.
2011         Suggested by Akim Demaille.
2012
2013 2012-02-24  Bruno Haible  <bruno@clisp.org>
2014
2015         streq: Rename macro.
2016         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2017         * NEWS: Mention the change.
2018         * lib/mbrtowc.c (mbrtowc): Update.
2019         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2020         * lib/wcwidth.c (wcwidth): Update.
2021         Suggested by Akim Demaille and Jim Meyering.
2022
2023 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2024
2025         regex: fix typo in definition of MIN
2026         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2027         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2028
2029 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2030             Bruno Haible  <bruno@clisp.org>
2031
2032         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2033         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2034         entries into a stack-allocated buffer directly.
2035         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2036
2037 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2038             Bruno Haible  <bruno@clisp.org>
2039
2040         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2041
2042          - There were several instances of this pattern:
2043
2044              for (;;) {
2045                n = acl (f, GETACLCNT, 0, NULL);
2046                [ allocate an array A of size N ]
2047                if (acl (f, GETACL, n, a) == n)
2048                  break;
2049              }
2050
2051            This loop might never terminate if some other process is constantly
2052            manipulating the file's ACL.  The loop should be rewritten to
2053            terminate.
2054
2055          - The acl (... GETACLNT ...) call is merely an optimization; its value
2056            is merely a hint as to how big to make the array.  A better
2057            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2058            and just guess a reasonably-big size, growing the size and trying
2059            again if it's not large enough.  This guarantees termination, and
2060            saves a system call.
2061
2062         * lib/acl-internal.h: Include <limits.h>.
2063         (MIN, SIZE_MAX): New macros.
2064         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2065         a stack-allocated buffer, and use malloc if it does not fit. Don't
2066         use GETACLCNT.
2067         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2068
2069 2012-02-19  Bruno Haible  <bruno@clisp.org>
2070
2071         acl: Fix endless loop on Solaris with vxfs.
2072         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2073         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2074         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2075         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2076         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2077         Reported by Bill Jones in
2078         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2079
2080 2012-02-19  Bruno Haible  <bruno@clisp.org>
2081
2082         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2083         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2084         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2085         that this function returns 0 in some more cases.
2086
2087 2012-02-19  Bruno Haible  <bruno@clisp.org>
2088
2089         acl: Update doc references.
2090         * doc/acl-resources.txt: Update links to Solaris documentation.
2091
2092 2012-02-19  Bruno Haible  <bruno@clisp.org>
2093
2094         Fix test failure in many locales on Solaris 11.
2095         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2096         'tr' arguments.
2097         * tests/test-pipe-filter-ii1.c (main): Likewise.
2098         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2099         expressions in the C locale.
2100         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2101         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2102
2103 2012-02-19  Bruno Haible  <bruno@clisp.org>
2104
2105         gnulib-tool: Improve usage message.
2106         * gnulib-tool (func_usage): Move doc of --help and --version to the
2107         section "Operation modes".
2108
2109 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2110
2111         README-release: make it easier to execute commands
2112         * top/README-release: break commands out on to separate lines.
2113
2114 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2115
2116         GNUmakefile: simplify detection of unconfigured trees
2117         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2118         whether the tree make is being run from is already configured or
2119         not.  Related simplifications.
2120
2121 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2122
2123         * gnulib-tool (func_usage): Document --help and --version.
2124
2125 2012-02-11  Jim Meyering  <meyering@redhat.com>
2126
2127         bootstrap: don't exit 0 upon gnulib-tool failure
2128         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2129         its exit status, not 0.
2130
2131 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2132
2133         README-release: various improvements
2134         * top/README-release: Give a command to push changes for the
2135         release.  Add "distcheck" to list of other pre-release checks.
2136         Fix instance of "make stable" which should be "make TYPE".
2137
2138 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2139
2140         maint: replace FSF snail-mail addresses with URLs
2141         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2142         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2143         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2144         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2145         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2146         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2147         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2148         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2149         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2150         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2151         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2152         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2153         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2154         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2155         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2156         * lib/glthread/thread.c, lib/glthread/thread.h:
2157         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2158         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2159         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2160         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2161         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2162         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2163         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2164         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2165         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2166         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2167         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2168         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2169         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2170         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2171         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2172         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2173         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2174         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2175         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2176         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2177         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2178         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2179         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2180         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2181         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2182         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2183         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2184         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2185         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2186         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2187         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2188         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2189         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2190         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2191         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2192         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2193         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2194         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2195         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2196         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2197         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2198         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2199         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2200         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2201         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2202         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2203         * tests/test-poll.c, tests/test-quotearg-simple.c:
2204         * tests/test-quotearg.c, tests/test-quotearg.h:
2205         * tests/test-round-ieee.c, tests/test-round1.c:
2206         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2207         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2208         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2209         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2210         * tests/test-strerror.c, tests/test-strerror_r.c:
2211         * tests/test-strsignal.c, tests/test-strverscmp.c:
2212         * tests/test-xmemdup0.c:
2213         Replace FSF snail mail addresses with URLs, as per GNU coding
2214         standards.  See glibc bug
2215         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2216
2217 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2218
2219         README-release: capitalize a word and split a line
2220         * top/README-release: Fix punctuation and spacing.
2221
2222 2012-02-08  Akim Demaille  <demaille@gostai.com>
2223
2224         fatal-signal: use C prototypes (with explicit void).
2225         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2226         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2227
2228 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2229
2230         regex: spelling fix
2231         * lib/regexec.c: spelling fix
2232
2233         regex: rely on stdint.h for SIZE_MAX
2234         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2235
2236 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2237
2238         regex: merge glibc changes
2239
2240         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2241         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2242         (init_word_char): Work even if bitset words are not exactly 32 or
2243         64 bits wide.  Don't assume there are no padding bits.
2244         * lib/regex.c [_LIBC]: Do not include <config.h>.
2245         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2246         and -Wtype-limits.
2247         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2248         needless disagreement with glibc.  All uses changed.  Define it to
2249         1 only if _GNU_SOURCE, to match glibc.
2250         (_REG_RM_NAME): Remove; no longer needed, since the names in
2251         question are now all protected by __USE_GNU.
2252         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2253         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2254         * lib/regex_internal.h (MIN): New macro.
2255
2256         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2257         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2258
2259         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2260         * lib/regex_internal.c (re_string_fetch_byte_case):
2261         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2262         is miscompiled, and it turns out it is because of an incorrect
2263         attribute on re_string_fetch_byte_case.  Unlike
2264         re_string_peek_byte_case, this one is really not pure, it modifies
2265         memory (increments pstr->cur_idx), and with the pure attribute GCC
2266         assumed it doesn't and it cached the presumed value of
2267         regexp->cur_idx in a variable across the
2268          for (;; ++i)
2269            {
2270              if (i >= BRACKET_NAME_BUF_SIZE)
2271                return REG_EBRACK;
2272              if (token->type == OP_OPEN_CHAR_CLASS)
2273                ch = re_string_fetch_byte_case (regexp);
2274              else
2275                ch = re_string_fetch_byte (regexp);
2276              if (re_string_eoi(regexp))
2277                return REG_EBRACK;
2278              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2279                break;
2280              elem->opr.name[i] = ch;
2281            }
2282
2283         2011-11-29 Andreas Schwab <schwab@redhat.com>
2284         * lib/regcomp.c (build_equiv_class):
2285         Fix access after end of search string in regex matcher.
2286
2287         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2288         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2289
2290         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2291         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2292
2293         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2294         * lib/regcomp.c (parse_branch, parse_sub_exp):
2295         More regex memory leak fixes and tests.
2296         (parse_sub_exp, parse_bracket_exp):
2297         Fix memory leak for some invalid regular expressions.
2298
2299         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2300         * lib/regex_internal.c, lib/regexec.c:
2301         Fix unnecessary overallocation due to incomplete character.  When
2302         incomplete characters are found at the end of a string the code
2303         ran amok and allocated lots of memory.  Stricter limits are now in
2304         place.
2305
2306         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2307         * lib/regex.h: Update documentation.
2308
2309         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2310         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2311
2312         2010-05-05 Andreas Schwab <schwab@redhat.com>
2313         * lib/regexec.c (find_collation_sequence_value):
2314         Fix lookup of collation sequence value during regexp matching.
2315
2316         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2317         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2318
2319         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2320         * lib/regex.h: Cleanup namespace.
2321
2322         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2323         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2324
2325         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2326         * lib/regex_internal.h: Prevent some declarations and definitions
2327         to be seen when used in tests.
2328
2329         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2330         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2331         __libc_lock_* macros if not _LIBC.
2332         (struct re_dfa_t): Add lock.
2333
2334 2012-02-07  Eric Blake  <eblake@redhat.com>
2335
2336         maint.mk: also prohibit lower-case @var@
2337         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2338         lower case, like @top_srcdir@.
2339
2340 2012-02-04  Eric Blake  <eblake@redhat.com>
2341
2342         canonicalize: avoid uninitialized memory use
2343         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2344         random '/' left in dest.
2345         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2346
2347 2012-02-04  Bruno Haible  <bruno@clisp.org>
2348
2349         isatty: Fix test failure of ptsname_r on native Windows.
2350         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2351         and don't set errno.
2352         (isatty): Test first whether fd is valid. Set errno when returning 0.
2353
2354 2012-02-04  Bruno Haible  <bruno@clisp.org>
2355
2356         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2357         * tests/test-spawn-pipe-main.c: Include progname.h.
2358         (main): Invoke set_program_name.
2359         * modules/spawn-pipe-tests (Depends-on): Add progname.
2360
2361         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2362         * tests/test-nonblocking-socket-main.c: Include progname.h.
2363         (main): Invoke set_program_name.
2364         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2365
2366         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2367         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2368         (main): Invoke set_program_name.
2369         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2370
2371 2012-02-04  Eric Blake  <eblake@redhat.com>
2372
2373         canonicalize-lgpl: fix // handling
2374         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2375
2376         canonicalize: fix // handling
2377         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2378         /// to //, since only // is special.
2379
2380 2012-02-04  Bruno Haible  <bruno@clisp.org>
2381
2382         ioctl: Fix test failure on native Windows.
2383         * lib/ioctl.c: Include msvc-nothrow.h.
2384         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2385
2386 2012-02-04  Bruno Haible  <bruno@clisp.org>
2387
2388         fsync: Avoid test failure on native Windows.
2389         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2390         read-only.
2391
2392 2012-02-04  Bruno Haible  <bruno@clisp.org>
2393
2394         sys_select: Avoid syntax error on OpenBSD 5.0.
2395         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2396         currently being included, just include the system's <sys/select.h>.
2397
2398 2012-02-04  Bruno Haible  <bruno@clisp.org>
2399
2400         sys_select: Avoid syntax error on OpenBSD 5.0.
2401         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2402         <sys/select.h>, not before.
2403         Reported by Jiri B <jirib@devio.us>.
2404
2405 2012-02-04  Bruno Haible  <bruno@clisp.org>
2406
2407         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2408         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2409         global variables.
2410         * tests/test-get-rusage-data.c (main): Likewise.
2411         Reported by Jim Meyering.
2412
2413 2012-02-04  Bruno Haible  <bruno@clisp.org>
2414
2415         stdioext: Fix last commit.
2416         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2417
2418 2012-02-03  Bruno Haible  <bruno@clisp.org>
2419
2420         stdioext: Add tentative support for Plan9.
2421         * lib/stdio-impl.h: Include <errno.h>.
2422         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2423         * lib/freadable.c (freadable): Likewise.
2424         * lib/fwritable.c (fwritable): Likewise.
2425         * lib/fbufmode.c (fbufmode): Likewise.
2426         * lib/freading.c (freading): Likewise.
2427         * lib/fwriting.c (fwriting): Likewise.
2428         * lib/freadptr.c (freadptr): Likewise.
2429         * lib/freadseek.c (freadptrinc): Likewise.
2430         * lib/freadahead.c (freadahead): Likewise.
2431         * lib/fpurge.c (fpurge): Likewise.
2432         * lib/fseeko.c (rpl_fseeko): Likewise.
2433         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2434         Reported by Jens Staal <staal1978@gmail.com>.
2435
2436 2012-02-02  Jim Meyering  <meyering@redhat.com>
2437
2438         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2439         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2440         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2441         not even to try to add the attribute.  Instead, add a pragma to suppress
2442         the suggestion/warning.
2443
2444 2012-01-31  Karl Berry  <karl@gnu.org>
2445
2446         setstate doc: typo.
2447         * doc/posix-functions/setstate.texi (setstate): { not (.
2448
2449 2012-01-31  Bruno Haible  <bruno@clisp.org>
2450
2451         popen: Make more robust on Windows.
2452         * lib/popen.c: On native Windows, use the _popen based code even if
2453         HAVE_POPEN is set.
2454         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2455         environment variable on native Windows.
2456
2457 2012-01-30  Bruno Haible  <bruno@clisp.org>
2458
2459         pclose: Fix typo.
2460         * lib/stdio.in.h (pclose): Fix typo in warning message.
2461
2462 2012-01-30  Bruno Haible  <bruno@clisp.org>
2463
2464         doc about getlogin_r, setstate.
2465         * doc/posix-functions/getlogin_r.texi: List the incompatible
2466         declaration problem under "not fixed by gnulib".
2467         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2468         problem on Solaris 11 and other platforms.
2469
2470 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2471             Bruno Haible  <bruno@clisp.org>
2472
2473         poll tests: Make test more robust.
2474         * tests/test-poll.c: Include macros.h.
2475         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2476         return value of various I/O operations.
2477         * modules/poll-tests (Files): Add tests/macros.h.
2478
2479 2012-01-30  Bruno Haible  <bruno@clisp.org>
2480
2481         sys_stat: Fix support for mingw64 and MSVC.
2482         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2483         header files already do it.
2484         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2485         stat itself.
2486         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2487
2488 2012-01-30  Bruno Haible  <bruno@clisp.org>
2489
2490         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2491         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2492         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2493
2494 2012-01-29  Bruno Haible  <bruno@clisp.org>
2495
2496         quotearg: Fix test failure on MacOS X 10.5.
2497         * tests/test-quotearg-simple.c: Include localcharset.h.
2498         (main): If the locale encoding is not ASCII, bypass the tests of
2499         locale_quoting_style and clocale_quoting_style.
2500         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2501
2502 2012-01-29  Jim Meyering  <meyering@redhat.com>
2503
2504         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2505         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2506         detect uses of canonicalize_file_name.
2507
2508 2012-01-28  Bruno Haible  <bruno@clisp.org>
2509
2510         test-framework-sh: Fix test failure with AIX 7.1 diff.
2511         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2512         in column 1, like 'diff -c' does.
2513         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2514         whether 'diff -u' is used. Instead, test whether the output contains
2515         some '@' character.
2516
2517 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2518
2519         strtoimax: eliminate need for stdint.h, inttypes.h checks
2520         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2521         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2522         the prerequisites for a recently-introduced strtoimax test.
2523         I guess this might cause strtoimax to be replaced when not
2524         strictly necessary on older hosts, but this shouldn't introduce
2525         any bugs and it should make Emacs 'configure' faster on typical
2526         modern hosts.  Problem discovered when importing the latest gnulib
2527         to an Emacs test version.
2528         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2529
2530 2012-01-28  Bruno Haible  <bruno@clisp.org>
2531
2532         sys_time: Override 'struct timeval' on some native Windows platforms.
2533         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2534         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2535         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2536         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2537         needs to be overridden.
2538         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2539         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2540         * tests/test-sys_select.c: Check that the tv_sec member has the same
2541         size as a 'time_t'.
2542         * tests/test-sys_time.c: Likewise.
2543         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2544         is set, set also REPLACE_GETTIMEOFDAY.
2545         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2546         convert the resulting 'struct timeval' before returning.
2547         * lib/select.c: Include <sys/time.h>.
2548         (select, timeval): Undefine at the right place.
2549         * modules/select (Depends-on): Add sys_time.
2550         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2551         some Windows platforms.
2552         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2553
2554 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2555
2556         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2557         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2558         an integer.
2559         * lib/fcntl.c (dupfd): Likewise.
2560         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2561
2562 2012-01-28  Bruno Haible  <bruno@clisp.org>
2563
2564         fcntl: Avoid compilation error on native Windows.
2565         * modules/fcntl (Depends-on): Add 'close'.
2566
2567 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2568
2569         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2570         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2571         pointer to an integer.
2572         * lib/poll.c (IsConsoleHandle): Likewise.
2573         * lib/isatty.c (IsConsoleHandle): Likewise.
2574
2575 2012-01-28  Jim Meyering  <meyering@redhat.com>
2576
2577         doc: clarify README-release
2578         * top/README-release: Clarify: you should make a point to have
2579         the latest stable versions of build tools in your PATH, and the
2580         reference to buildreq is solely for its list of tool names, not
2581         for its minimal-functional version numbers.
2582         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2583
2584         maint.mk: use more readable (yet functionally equivalent) quoting
2585         It is common to quote a single quote in a single quoted string like
2586         this:  '...'\''...'.  Unless you know the idiom, that looks like
2587         gibberish, so prefer to double-quote the string when possible.
2588         Then you can use a more readable, lone single quote: "...'..."
2589         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2590         "don't" is more readable than the equivalent 'don'\''t'.
2591         (sc_cast_of_x_alloc_return_value): Likewise.
2592         (sc_cast_of_alloca_return_value): Likewise.
2593         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2594         rather than '\'':'\''.
2595
2596 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2597
2598         stdalign: relax _Alignof and tighten _Alignas test
2599         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2600         as it was too strict: alignof must divide offsetof, but it need
2601         not equal offsetof.  Inspired by Joseph S. Myers's comment
2602         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2603         Conversely, tighten the _Alignas test a bit, as the resulting
2604         alignment must be exactly 8.
2605
2606 2012-01-27  Bruno Haible  <bruno@clisp.org>
2607
2608         stdalign: Document the last change.
2609         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2610
2611 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2612
2613         stdalign: check that alignof and offsetof are consistent
2614         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2615         Problem reported for gnulib by Richard W.M. Jones in
2616         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2617
2618 2012-01-27  Jim Meyering  <meyering@redhat.com>
2619
2620         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2621         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2622         convert a sequence with gaps to the minimal containing range.
2623         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2624         * tests/test-update-copyright.sh: Test for this.
2625         The FSF confirmed it is ok to do this, assuming there is at
2626         least one significant change per year in the affected range:
2627         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2628
2629 2012-01-26  Bruno Haible  <bruno@clisp.org>
2630
2631         pipe2: refine doc about thread-safety
2632         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2633         multithread-safety problem.
2634         * doc/glibc-functions/accept4.texi: Likewise.
2635
2636 2012-01-26  Bruno Haible  <bruno@clisp.org>
2637
2638         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2639         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2640         In the test program, include <fcntl.h>, for O_RDONLY.
2641
2642 2012-01-26  Eric Blake  <eblake@redhat.com>
2643
2644         pipe2: document lack of thread-safety in replacement
2645         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2646         issue in replacement.
2647         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2648         Based on a report by Eric Wong.
2649
2650 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2651             Bruno Haible  <bruno@clisp.org>
2652
2653         malloca: Avoid warnings on x86_64 mingw64.
2654         * lib/malloca.c: Include <stdint.h>.
2655         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2656         * modules/malloca (Depends-on): Add stdint.
2657         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2658
2659 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2660
2661         obstack: remove __STDC__ conditionals
2662         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2663         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2664         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2665         m4/include_next.m4 as the only gnulib-maintained places that still
2666         refer to __STDC__.
2667
2668 2012-01-24  Bruno Haible  <bruno@clisp.org>
2669
2670         havelib: Modern quoting.
2671         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2672         the recent change to the GNU coding standards.
2673
2674 2012-01-24  Bruno Haible  <bruno@clisp.org>
2675
2676         stdint: Improve support for Android.
2677         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2678         Reported by Simon Josefsson <simon@josefsson.org>.
2679
2680 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2681
2682         doc: omit trailing empty lines from INSTALL etc.
2683         * doc/Makefile (INSTALL): Omit trailing empty lines.
2684         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2685         omit trailing empty lines.  This simplifies the build procedure.
2686
2687 2012-01-23  Jim Meyering  <meyering@redhat.com>
2688
2689         tests: avoid spurious warnings about gl_sockets_startup
2690         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2691         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2692         reporting a "statement with no effect".
2693         * tests/test-accept.c (main): Mark as "(void)".
2694         * tests/test-accept4.c (main): Likewise.
2695         * tests/test-bind.c (main): Likewise.
2696         * tests/test-connect.c (main): Likewise.
2697         * tests/test-getpeername.c (main): Likewise.
2698         * tests/test-getsockname.c (main): Likewise.
2699         * tests/test-getsockopt.c (main): Likewise.
2700         * tests/test-listen.c (main): Likewise.
2701         * tests/test-recv.c (main): Likewise.
2702         * tests/test-recvfrom.c (main): Likewise.
2703         * tests/test-send.c (main): Likewise.
2704         * tests/test-sendto.c (main): Likewise.
2705         * tests/test-setsockopt.c (main): Likewise.
2706         * tests/test-shutdown.c (main): Likewise.
2707
2708 2012-01-21  Bruno Haible  <bruno@clisp.org>
2709
2710         locale-fr.m4: Fix for Android.
2711         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2712         failure of the test program on Bionic libc.
2713
2714 2012-01-21  Jim Meyering  <meyering@redhat.com>
2715
2716         bootstrap: fail when bootstrap_post_import_hook fails
2717         Otherwise, it's far too easy to miss diagnostics emitted
2718         between gnulib-tool's output and that of running configure.
2719         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2720
2721 2012-01-17  Jim Meyering  <meyering@redhat.com>
2722
2723         maint: enable sc_trailing_blank
2724         * build-aux/pmccabe.css: Remove trailing blanks.
2725         * doc/acl-cygwin.txt: Likewise.
2726         * doc/gnu-oids.texi: Likewise
2727         * cfg.mk: Enable sc_trailing_blank.
2728         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2729
2730 2012-01-17  Jim Meyering  <meyering@redhat.com>
2731
2732         maint: enable sc_prohibit_openat_without_use
2733         * cfg.mk: Enable sc_prohibit_openat_without_use.
2734         Exempt lib/selinux-at.c.
2735
2736 2012-01-17  Jim Meyering  <meyering@redhat.com>
2737
2738         maint: enable sc_prohibit_cloexec_without_use
2739         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2740         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2741
2742 2012-01-17  Jim Meyering  <meyering@redhat.com>
2743
2744         maint: enable sc_prohibit_intprops_without_use
2745         * cfg.mk: Enable sc_prohibit_intprops_without_use
2746         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2747
2748 2012-01-17  Jim Meyering  <meyering@redhat.com>
2749
2750         maint: enable sc_prohibit_hash_pjw_without_use
2751         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2752         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2753         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2754         following " (".
2755
2756 2012-01-17  Jim Meyering  <meyering@redhat.com>
2757
2758         maint: enable double-word-prohibiting rule
2759         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2760         Exempt three files.
2761
2762 2012-01-17  Jim Meyering  <meyering@redhat.com>
2763
2764         maint: remove empty lines at EOF, but excluding modules/*
2765         Apply syntax rules at home as well as abroad.  Most changes
2766         were induced by running this:
2767           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2768             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2769             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2770         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2771         Exempt modules/* and two binary files.
2772         Also exempt doc/INSTALL*, per request from Bruno Haible.
2773         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2774         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2775         * doc/Copyright/request-assign.future: Likewise.
2776         * doc/Copyright/request-disclaim.changes: Likewise.
2777         * doc/INSTALL: Likewise.
2778         * doc/INSTALL.ISO: Likewise.
2779         * doc/INSTALL.UTF-8: Likewise.
2780         * doc/acl-cygwin.txt: Likewise.
2781         * doc/acl-resources.txt: Likewise.
2782         * doc/fdl-1.2.texi: Likewise.
2783         * doc/fdl-1.3.texi: Likewise.
2784         * doc/fdl.texi: Likewise.
2785         * lib/argp-pin.c: Likewise.
2786         * lib/round.c: Likewise.
2787         * lib/unicase/u16-totitle.c: Likewise.
2788         * lib/unictype/block_test.c: Likewise.
2789         * lib/uninorm/canonical-decomposition.c: Likewise.
2790         * m4/README: Likewise.
2791         * m4/relocatable-lib.m4: Likewise.
2792         * tests/test-isnand-nolibm.c: Likewise.
2793         * tests/test-isnand.c: Likewise.
2794         * tests/uninorm/NormalizationTest.txt: Likewise.
2795
2796 2012-01-17  Jim Meyering  <meyering@redhat.com>
2797
2798         maint: add framework to run syntax-check rules against gnulib sources
2799         * cfg.mk: New file, to disable all currently-failing tests.
2800         We'll enable them one by one, as they are made to pass.
2801         * Makefile (sc_maint): New rule.
2802
2803 2012-01-21  Bruno Haible  <bruno@clisp.org>
2804
2805         stdint: Add support for Android.
2806         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
2807         include the system's <stdint.h>.
2808         Reported by Simon Josefsson <simon@josefsson.org>.
2809
2810 2012-01-19  Jim Meyering  <meyering@redhat.com>
2811
2812         bootstrap: add bootstrap_post_import_hook
2813         Bison does still need something like the gnulib_mk_hook whose
2814         invocation I had to remove along with slurp in commit 767ccd40.
2815         Technically, we could get along without it, but doing so would
2816         have required living with a warning and a mandatory post-bootstrap
2817         automake rerun.
2818         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2819         (bootstrap_post_import_hook): New function.
2820         Invoke it after gnulib-tool --import and before autoreconf.
2821
2822 2012-01-18  Jim Meyering  <meyering@redhat.com>
2823
2824         gitlog-to-changelog: don't use "no_"-prefixed variable name
2825         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2826         to enable both --cluster and --no-cluster.  Change variable name,
2827         s/\$no_cluster/$cluster/, and reverse usage to match.
2828
2829         gitlog-to-changelog: use "||", not "or" in expressions
2830         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2831         expressions.
2832
2833 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2834
2835         gitlog-to-changelog: new option --no-cluster
2836         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2837         clustering of adjacent commit messages.
2838
2839 2012-01-17  Jim Meyering  <meyering@redhat.com>
2840
2841         maint: spell file systems with two words, not one
2842         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2843         two words, not one.
2844
2845 2012-01-16  Jim Meyering  <meyering@redhat.com>
2846
2847         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2848         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2849
2850 2012-01-16  Eric Blake  <eblake@redhat.com>
2851
2852         bootstrap: cater to autoconf 2.59
2853         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2854         is not available.
2855
2856         bootstrap: properly check for libtool
2857         * build-aux/bootstrap (libtoolize): Also run libtool when older
2858         usage is detected.
2859
2860 2012-01-15  Bruno Haible  <bruno@clisp.org>
2861
2862         Improve support for MSVC 9.
2863         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2864         clashes on MSVC.
2865         * lib/fcntl.in.h: Likewise.
2866         * lib/stdlib.in.h: Likewise.
2867         * lib/sys_stat.in.h: Likewise.
2868
2869 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2870
2871         gnupload: we hold the master copy of this script now
2872         For motivation and more information, see:
2873         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2874         * build-aux/gnupload: Make it clear in the heading comments that the
2875         master copy of this file is maintained by gnulib.  Since we are at
2876         it, bump its copyright year and ...
2877         ($scriptversion): ... the date in its version.
2878         ($usage): Patches and bug reports should be sent to the gnulib list,
2879         not the automake one.
2880         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2881         anymore.
2882
2883 2012-01-15  Bruno Haible  <bruno@clisp.org>
2884
2885         Fix module 'random'.
2886         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2887         initstate, setstate are declared.
2888
2889 2012-01-14  Bruno Haible  <bruno@clisp.org>
2890
2891         Tests for module 'random'.
2892         * modules/random-tests: New file.
2893         * tests/test-random.c: New file, based on tests/test-random_r.c.
2894
2895         New module 'random'.
2896         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2897         declarations.
2898         * lib/random.c: New file, based on glibc/stdlib/random.c.
2899         * m4/random.m4: New file.
2900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2901         HAVE_RANDOM.
2902         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2903         * modules/random: New file.
2904         * config/srclist.txt: Add an entry for random.c.
2905         * doc/posix-functions/random.texi: Mention the 'random' module.
2906         * doc/posix-functions/initstate.texi: Likewise.
2907         * doc/posix-functions/setstate.texi: Likewise.
2908         * doc/posix-functions/srandom.texi: Likewise.
2909
2910 2012-01-12  Bruno Haible  <bruno@clisp.org>
2911
2912         random_r: Use common idioms.
2913         * lib/random_r.c: Include <stdlib.h> first.
2914
2915         random_r: Override incompatible API on AIX, OSF/1.
2916         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
2917         Override the system function if REPLACE_RANDOM_R is 1.
2918         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
2919         and OSF/1, set REPLACE_RANDOM_R.
2920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
2921         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
2922         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
2923         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
2924         * doc/glibc-functions/random_r.texi: Likewise.
2925         * doc/glibc-functions/setstate_r.texi: Likewise.
2926
2927         random_r: Support for MSVC 9.
2928         * lib/random_r.c: Include stdint.h, not inttypes.h.
2929
2930 2012-01-12  Eric Blake  <eblake@redhat.com>
2931
2932         inet_ntop: guard extra work by IF_LINT
2933         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
2934         better code generation when not checking for warnings.
2935         Suggested by Paul Eggert and Jim Meyering.
2936
2937         strptime: fix regression on mingw
2938         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
2939         Fix regression.  Reported by Bruno Haible.
2940
2941 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
2942             Bruno Haible  <bruno@clisp.org>
2943
2944         copy-file: add error-code-returning variant.
2945         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
2946         (qcopy_file_preserving): New declaration.
2947         * lib/copy-file.c (qcopy_file_preserving): Renamed from
2948         copy_file_preserving. Change return type to 'int'. Don't emit an error
2949         message here.
2950         (copy_file_preserving): New function.
2951         * tests/test-copy-file.c: Include <stdlib.h>.
2952         (main): Test qcopy_file_preserving if the environment variable
2953         NO_STDERR_OUTPUT is set.
2954         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
2955         with NO_STDERR_OUTPUT
2956         * tests/test-copy-file-2.sh: Likewise.
2957
2958 2012-01-10  Bruno Haible  <bruno@clisp.org>
2959
2960         copy-file: Use 'quote' module consistently.
2961         * lib/copy-file.c (copy_file_preserving): Use quote().
2962
2963         copy-file: Refactor.
2964         * lib/copy-file.c: Include quote.h.
2965         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
2966         message here.
2967         * modules/copy-file (Depends-on): Add quote.
2968
2969         acl: Export qcopy_acl.
2970         * lib/acl.h (qcopy_acl): New declaration.
2971         * lib/copy-acl.c (qcopy_acl): Make non-static.
2972
2973         acl: Rename a local variable.
2974         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
2975
2976         acl: Align return values of copy_acl and qcopy_acl.
2977         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
2978         maybe < -1.
2979
2980 2012-01-11  Eric Blake  <eblake@redhat.com>
2981
2982         strptime: silence gcc warnings
2983         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
2984         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
2985         Reported by Daniel P. Berrange.
2986
2987         inet_ntop: silence gcc warning
2988         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
2989         Reported by Daniel P. Berrange.
2990
2991 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
2992
2993         getloadavg test: skip the test on GNU/Linux without /proc mounted
2994         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
2995         file.  When /proc is not mounted, it always fails with ENOENT.
2996         * tests/test-getloadavg.c (main): Treat ENOENT return code from
2997         getloadavg(3) the same way as ENOSYS and ENOTSUP.
2998
2999 2012-01-10  Bruno Haible  <bruno@clisp.org>
3000
3001         regex: Avoid link error on MSVC 9.
3002         * modules/regex (Depends-on): Add wctype.
3003
3004 2012-01-10  Bruno Haible  <bruno@clisp.org>
3005
3006         doc: Mention --with-tests option.
3007         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3008         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3009         --with-tests.
3010         Reported by Reuben Thomas.
3011
3012 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3013
3014         users.txt: order package names lexicographically.
3015         * users.txt: Order package names lexicographically.
3016
3017 2012-01-10  Jim Meyering  <meyering@redhat.com>
3018
3019         maint.mk: fix description in comment
3020         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3021
3022         ignore-value: remove deprecated ignore_ptr function
3023         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3024         * NEWS: Note this.
3025
3026 2012-01-09  Jim Meyering  <meyering@redhat.com>
3027
3028         test-init.sh: avoid a subshell
3029         * tests/test-init.sh: Remove protective subshell.
3030         Suggested by Bernhard Voelker.  While a subshell is normally
3031         required to protect against older shells (Solaris, FreeBSD) that
3032         warn about a missing program before performing redirection, the
3033         shell-selection tests performed by init.sh probably exclude any
3034         offending shell.
3035
3036 2012-01-08  Bruno Haible  <bruno@clisp.org>
3037
3038         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3039         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3040         variable.
3041
3042 2012-01-08  Bruno Haible  <bruno@clisp.org>
3043
3044         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3045         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3046         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3047         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3048         macro.
3049         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3050         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3051         * lib/spawn_faction_addopen.c: Add workaround implementation if
3052         HAVE_WORKING_POSIX_SPAWN.
3053         * modules/spawn (Makefile): Substitute
3054         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3055         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3056         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3057         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3058         (Depends-on): Update conditions.
3059         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3060         the Solaris 11 bug.
3061
3062 2012-01-08  Bruno Haible  <bruno@clisp.org>
3063
3064         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3065         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3066         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3067         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3068         macro.
3069         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3070         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3071         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3072         HAVE_WORKING_POSIX_SPAWN.
3073         * modules/spawn (Makefile): Substitute
3074         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3075         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3076         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3077         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3078         (Depends-on): Update conditions.
3079         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3080         the Solaris 11 bug.
3081
3082 2012-01-08  Bruno Haible  <bruno@clisp.org>
3083
3084         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3085         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3086         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3087         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3088         HAVE_WORKING_POSIX_SPAWN.
3089         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3090         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3091         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3092         * lib/spawn_faction_addclose.c: Add workaround implementation if
3093         HAVE_WORKING_POSIX_SPAWN.
3094         * modules/spawn (Makefile): Substitute
3095         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3096         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3097         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3098         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3099         (Depends-on): Update conditions.
3100         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3101         the Solaris 11 bug.
3102
3103 2012-01-08  Bruno Haible  <bruno@clisp.org>
3104
3105         doc: Update for Solaris 11 2011-11.
3106         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3107         * m4/printf.m4: Update comments.
3108
3109 2012-01-08  Bruno Haible  <bruno@clisp.org>
3110
3111         mktime: Avoid compilation error on Solaris 11.
3112         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3113
3114 2012-01-08  Bruno Haible  <bruno@clisp.org>
3115
3116         doc: Small fix.
3117         * doc/posix-headers/nl_types.texi: Correct platforms list.
3118
3119 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3120
3121         Add lgpl-3.0 module.
3122         * MODULES.html.sh (Support for building documentation): Add
3123         lgpl-3.0.
3124         * modules/lgpl-3.0: New file.
3125
3126 2012-01-08  Jim Meyering  <meyering@redhat.com>
3127
3128         select.c: indent with spaces, not TABs
3129         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3130
3131 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3132
3133         quotearg: do not use grave accent for left quote
3134         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3135         locale_quoting_style.
3136         (quotearg_buffer_restyled): Fix example.
3137         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3138
3139 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3140
3141         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3142         Most programs do not have translation catalogs for English and much
3143         less separate catalogs for British and American English.  Drop the
3144         suggestion to translators about these two, and provide it
3145         automatically for Unicode locales.  Like most programs, even those
3146         using American English, we use single quotation marks.  This conflicts
3147         with the American typographic convention, but works better when you
3148         cite the entire error message within double quotes.  It also tries not
3149         to clash with established practice and with what non-gnulib programs
3150         will usually do.
3151         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3152         using an UTF-8 or GB-18030 locale.  The list of other locales with
3153         quotes was provided by Bruno Haible.
3154         (quotearg_buffer_restyled): Adjust instructions to translators.
3155         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3156         text, since this would be wrong when using Unicode.
3157         * modules/quotearg: Depend on c-strcaseeq.
3158
3159 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3160
3161         quotearg: fix Wikipedia link
3162         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3163
3164 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3165
3166         Fix for mingw with MSVC9.
3167         * m4/ld-version-script.m4: Check that compiler rejects version
3168         scripts with syntax errors.  Reported by Bruno Haible
3169         <bruno@clisp.org>.
3170
3171 2012-01-06  Bruno Haible  <bruno@clisp.org>
3172
3173         Talk about "native Windows API", not "Woe32".
3174         * lib/accept4.c: Update comments to mention native Windows.
3175         * lib/execute.c: Likewise.
3176         * lib/fatal-signal.c: Likewise.
3177         * lib/localcharset.c: Likewise.
3178         * lib/nanosleep.c: Likewise.
3179         * lib/nl_langinfo.c: Likewise.
3180         * lib/pclose.c: Likewise.
3181         * lib/pipe-filter-gi.c: Likewise.
3182         * lib/pipe-filter-ii.c: Likewise.
3183         * lib/pipe.c: Likewise.
3184         * lib/pipe2.c: Likewise.
3185         * lib/popen.c: Likewise.
3186         * lib/progreloc.c: Likewise.
3187         * lib/relocatable.c: Likewise.
3188         * lib/sigaction.c: Likewise.
3189         * lib/sigprocmask.c: Likewise.
3190         * lib/spawn-pipe.h: Likewise.
3191         * lib/spawn-pipe.c: Likewise.
3192         * lib/spawni.c: Likewise.
3193         * lib/stat-time.h: Likewise.
3194         * lib/w32spawn.h: Likewise.
3195         * tests/test-isatty.c: Likewise.
3196         * lib/config.charset: More comments.
3197         * doc/gnulib-intro.texi: Mention native Windows.
3198         * doc/posix-functions/_Exit_C99.texi: Likewise.
3199         * doc/posix-headers/fcntl.texi: Likewise.
3200
3201 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3202
3203         argp: Avoid crash if translator uses % characters in a translation.
3204         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3205         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3206
3207 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3208
3209         doc: C11 and C++11 are now official
3210         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3211         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3212         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3213         * modules/stdalign:
3214         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3215
3216 2012-01-06  Bruno Haible  <bruno@clisp.org>
3217
3218         uc-is-grapheme-break tests: Tweak.
3219         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3220         message.
3221
3222 2012-01-06  Bruno Haible  <bruno@clisp.org>
3223
3224         test-init.sh: correct the test for diff -u
3225         * tests/test-init.sh: Also redirect stdout to /dev/null.
3226
3227 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3228
3229         Use ', not `, for quoting output.
3230         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3231         (print_changelog_deltas, get_tool_versions, main program):
3232         * build-aux/git-version-gen:
3233         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3234         * build-aux/move-if-change (help):
3235         * build-aux/useless-if-before-free (usage, main program):
3236         * check-module (parse_module_file, usage)
3237         (find_included_lib_files, check_module):
3238         * lib/argmatch.c (main) [TEST]:
3239         * lib/argp-help.c (_help):
3240         * lib/getopt1.c (main) [TEST]:
3241         * lib/git-merge-changelog.c (usage):
3242         * lib/xstrtol-error.c (xstrtol_error):
3243         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3244         * m4/argz.m4 (gl_FUNC_ARGZ):
3245         * m4/bison.m4 (gl_BISON):
3246         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3247         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3248         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3249         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3250         * m4/gc-random.m4 (gl_GC_RANDOM):
3251         * m4/intl.m4 (gt_CHECK_DECL):
3252         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3253         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3254         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3255         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3256         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3257         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3258         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3259         * tests/test-dirname.c (main):
3260         * tests/test-getpass.c (main):
3261         * tests/test-iconvme.c (main):
3262         * tests/test-parse-datetime.c (LOG):
3263         * tests/test-xstrtoimax.sh:
3264         * tests/test-xstrtol.sh:
3265         * tests/test-xstrtoll.sh:
3266         * tests/test-xstrtoumax.sh:
3267         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3268         * top/GNUmakefile (abort-due-to-no-makefile):
3269         Quote 'like this', not `like this', as per the recent change to
3270         the GNU coding standards.
3271
3272 2012-01-05  Bruno Haible  <bruno@clisp.org>
3273
3274         strtoimax: Don't force a replacement on systems where intmax_t is int.
3275         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3276         'intmax_t' is not larger than 'int'.
3277         Reported by Pádraig Brady <P@draigBrady.com>.
3278
3279 2012-01-05  Bruno Haible  <bruno@clisp.org>
3280
3281         doc: Mention NetBSD bugs.
3282         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3283         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3284
3285 2012-01-05  Bruno Haible  <bruno@clisp.org>
3286
3287         strtoumax tests: Enhance tests.
3288         * tests/test-strtoumax.c (main): Add tests for large values.
3289
3290 2012-01-05  Bruno Haible  <bruno@clisp.org>
3291
3292         strtoimax: Work around AIX 5.1 bug.
3293         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3294         definition.
3295         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3296         Set HAVE_STRTOIMAX.
3297         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3298         REPLACE_STRTOIMAX.
3299         * modules/inttypes-incomplete (Makefile.am): Substitute
3300         REPLACE_STRTOIMAX.
3301         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3302         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3303         (Depends-on): Update conditions.
3304         * tests/test-strtoimax.c (main): Add tests for large values.
3305         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3306
3307 2012-01-05  Bruno Haible  <bruno@clisp.org>
3308
3309         inttypes: Modernize.
3310         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3311         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3312         (Makefile.am): Update inttypes.h rule.
3313
3314 2012-01-05  Jim Meyering  <meyering@redhat.com>
3315
3316         init.sh: don't waste a subshell just to redirect stderr
3317         * tests/init.sh: In testing for diff -u and diff -c, use a
3318         stderr-redirecting exec inside `...` rather than a subshell.
3319
3320         test-init.sh: avoid failure on HP-UX 11.00
3321         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3322         resolves to diff -c or cmp.  Reported by Bruno Haible.
3323
3324 2012-01-05  Bruno Haible  <bruno@clisp.org>
3325
3326         Tests for module 'strtoull'.
3327         * modules/strtoull-tests: New file.
3328         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3329
3330 2012-01-05  Bruno Haible  <bruno@clisp.org>
3331
3332         Tests for module 'strtoll'.
3333         * modules/strtoll-tests: New file.
3334         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3335
3336 2012-01-05  Bruno Haible  <bruno@clisp.org>
3337
3338         Tests for module 'strtoul'.
3339         * modules/strtoul-tests: New file.
3340         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3341
3342 2012-01-05  Bruno Haible  <bruno@clisp.org>
3343
3344         Tests for module 'strtol'.
3345         * modules/strtol-tests: New file.
3346         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3347
3348 2012-01-04  Jim Meyering  <meyering@redhat.com>
3349
3350         test-init.sh: accommodate Solaris 5.10's different diff -u output
3351         * tests/test-init.sh: Also exempt @@ lines from the comparison
3352         of diff output, since Solaris 5.10 and GNU diff formats differ.
3353         Reported by Stefano Lattarini.
3354
3355 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3356
3357         test-posixtm: don't assume signed integer wraparound
3358         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3359         after signed integer overflow.  Inspired by (though it may not
3360         fix) Bruno Haible's bug report in
3361         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3362
3363         Spell out "Windows 9x" and "Windows XP".
3364         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3365         "Windows 9x" and "WinXP" with "Windows XP".
3366
3367 2012-01-04  Jim Meyering  <meyering@redhat.com>
3368
3369         test-vc-list-files-cvs.sh: remove obsolete comment
3370         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3371         double exit.  Now that's all encapsulated via skip_ and Exit.
3372
3373 2012-01-04  Bruno Haible  <bruno@clisp.org>
3374
3375         Talk about "native Windows API", not "Win32".
3376         * lib/classpath.c: Update comments to mention native Windows.
3377         * lib/csharpexec.c: Likewise.
3378         * lib/dup2.c: Likewise.
3379         * lib/error.c: Likewise.
3380         * lib/fcntl.c: Likewise.
3381         * lib/filename.h: Likewise.
3382         * lib/findprog.c: Likewise.
3383         * lib/get-rusage-as.c: Likewise.
3384         * lib/get-rusage-data.c: Likewise.
3385         * lib/getpagesize.c: Likewise.
3386         * lib/javaexec.c: Likewise.
3387         * lib/msvc-inval.c: Likewise.
3388         * lib/msvc-nothrow.c: Likewise.
3389         * lib/nanosleep.c: Likewise.
3390         * lib/nonblocking.c: Likewise.
3391         * lib/printf-parse.c: Likewise.
3392         * lib/setlocale.c: Likewise.
3393         * lib/sigaction.c: Likewise.
3394         * lib/strerror_r.c: Likewise.
3395         * lib/tmpdir.c: Likewise.
3396         * lib/vasnprintf.c: Likewise.
3397         * lib/w32spawn.h: Likewise.
3398         * lib/waitpid.c: Likewise.
3399         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3400         * m4/locale-ar.m4: Likewise.
3401         * m4/locale-fr.m4: Likewise.
3402         * m4/locale-ja.m4: Likewise.
3403         * m4/locale-tr.m4: Likewise.
3404         * m4/locale-zh.m4: Likewise.
3405         * m4/printf.m4: Likewise.
3406         * tests/test-cloexec.c: Likewise.
3407         * tests/test-copy-acl.sh: Likewise.
3408         * tests/test-copy-file.sh: Likewise.
3409         * tests/test-file-has-acl.sh: Likewise.
3410         * tests/test-set-mode-acl.sh: Likewise.
3411         * tests/test-dup-safer.c: Likewise.
3412         * tests/test-dup2.c: Likewise.
3413         * tests/test-dup3.c: Likewise.
3414         * tests/test-fcntl.c: Likewise.
3415         * tests/test-nonblocking-pipe.h: Likewise.
3416         * tests/test-nonblocking-socket.h: Likewise.
3417         * tests/test-pipe.c: Likewise.
3418         * tests/test-pipe2.c: Likewise.
3419         * tests/test-spawn-pipe-child.c: Likewise.
3420         * doc/acl-resources.txt: Likewise.
3421         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3422         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3423         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3424         * lib/localcharset.c: Update comments to mention native Windows.
3425         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3426         * lib/localename.c: Likewise.
3427         * lib/progreloc.c: Likewise.
3428         * lib/relocatable.c: Likewise.
3429         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3430         (windows_compute_revents): Renamed from win32_compute_revents.
3431         (windows_compute_revents_socket): Renamed from
3432         win32_compute_revents_socket.
3433         * lib/select.c: Update comments to mention native Windows.
3434         (windows_poll_handle): Renamed from win32_poll_handle.
3435         * m4/threadlib.m4: Update comments to mention native Windows.
3436         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3437         --enable-threads=windows instead of --enable-threads=win32. Set
3438         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3439         * lib/glthread/lock.h: Update comments to mention native Windows.
3440         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3441         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3442         USE_WIN32_THREADS.
3443         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3444         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3445         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3446         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3447         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3448         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3449         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3450         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3451         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3452         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3453         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3454         * tests/test-tls.c: Likewise.
3455         Rationale:
3456         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3457         on both 32-bit and 64-bit Windows systems.
3458         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3459         line of distinction is between "native Windows" on one side and Unix/
3460         POSIX systems on the other side. More details in
3461         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3462         Suggested by Paul Eggert.
3463
3464 2012-01-03  Bruno Haible  <bruno@clisp.org>
3465
3466         isatty: Support for MSVC 9.
3467         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3468         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3469         (_isatty_nothrow): New function.
3470         (isatty): Use it instead of _isatty.
3471         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3472         * lib/poll.c (IsConsoleHandle): Likewise.
3473         * lib/select.c (IsConsoleHandle): Likewise.
3474         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3475         (gl_PREREQ_ISATTY): New macro.
3476         * modules/isatty (Depends-on): Add msvc-inval.
3477         (configure.ac): Invoke gl_PREREQ_ISATTY.
3478
3479 2012-01-03  Jim Meyering  <meyering@redhat.com>
3480
3481         maint.mk: remove temporary transition aid from over 1.5 years ago
3482         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3483         purpose was to aid in the transition (avoiding silent malfunction)
3484         from that old name to the new _sc_search_regexp.  This shim was
3485         added by commit 219c504b.
3486
3487         init.sh: do not try to accommodate compare arguments starting with "-"
3488         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3489         compare arguments that start with "-".  Besides, we do not worry
3490         about this when invoking diff or cmp; why start now with sed?
3491         Using "--" to separate options from argument would trigger sed
3492         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3493         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3494
3495 2012-01-02  Bruno Haible  <bruno@clisp.org>
3496
3497         Enhance tests for module 'isatty'.
3498         * modules/isatty-tests (Depends-on): Add pipe-posix.
3499         * tests/test-isatty.c: Include <fcntl.h>.
3500         (DEV_NULL): New macro.
3501         (main): Test the resut of isatty() also on regular files, pipes, and
3502         /dev/null.
3503
3504         New module 'isatty'.
3505         * lib/unistd.in.h (isatty): New declaration.
3506         * lib/isatty.c: New file, based on an idea of
3507         Bastien Roucariès <roucaries.bastien@gmail.com>.
3508         * m4/isatty.m4: New file.
3509         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3510         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3511         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3512         REPLACE_ISATTY.
3513         * modules/isatty: New file.
3514         * doc/posix-functions/isatty.texi: Mention the new module.
3515         Suggested by Paolo Bonzini.
3516
3517 2012-01-02  Bruno Haible  <bruno@clisp.org>
3518
3519         canonicalize: Tweak 2011-12-29 commit.
3520         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3521         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3522
3523 2012-01-02  Jim Meyering  <meyering@redhat.com>
3524
3525         gitlog-to-changelog: describe input syntax in --help output
3526         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3527
3528         gitlog-to-changelog: fix typo in --help: show backslash before email @
3529         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3530         in sources, but not in actual output.
3531
3532 2011-12-30  Jim Meyering  <meyering@redhat.com>
3533
3534         gitlog-to-changelog: don't malfunction when name contains %-directive
3535         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3536         in a name string cause trouble.  E.g., with a user name of "%s",
3537         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3538
3539 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3540
3541         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3542         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3543         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3544         the "  (tiny change)" notation that is appended to the standard
3545         ChangeLog "date  name  email" header line.
3546
3547 2012-01-01  Jim Meyering  <meyering@redhat.com>
3548
3549         test-framework-sh: init.sh: fix "make dist" failure
3550         When using gnulib-tool's --with-tests option and any module that
3551         depends on test-framework-sh, "make dist" would fail due to the
3552         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3553         in the gltests directory, and not in the gllib/ directory.
3554         One way to work around that is to move the EXTRA_DIST += init.sh
3555         from the primary module to the -tests one:
3556         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3557         * modules/test-framework-sh (Makefile.am): ...not here.
3558         Reported by Tom G. Christensen in
3559         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3560
3561         version-etc: update copyright year reported by --version
3562         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3563
3564 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3565
3566         canonicalize: only stat() if required
3567         * lib/canonicalize.c (canonicalize_filename_mode):
3568         Avoid calling l?stat() when both CAN_MISSING,
3569         and CAN_NOLINKS are set, as we neither need
3570         to resolve symlinks or test component existence.
3571
3572 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3573
3574         doc: cover st_ino issues once; add OpenVMS etc.
3575         * doc/posix-functions/stat.texi (stat):
3576         * doc/posix-functions/lstat.texi (lstat):
3577         * doc/posix-functions/fstatat.texi (fstatat):
3578         * doc/posix-functions/fstat.texi (fstat):
3579         Move general 'struct stat' stuff to sys_stat.texi,
3580         leaving behind a pointer.
3581         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3582         Merge duplicate info about 'struct stat' problems into here.
3583         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3584         and suggest partial workarounds.
3585
3586         same-inode: port to OpenVMS
3587         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3588         three st_ino values.
3589
3590 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3591
3592         canonicalize: fix references to stat() and lstat()
3593         * lib/canonicalize.c (canonicalize_filename_mode):
3594         Ensure references always resolve to a replacement
3595         function if required (even via a macro).
3596
3597 2011-12-30  Jim Meyering  <meyering@redhat.com>
3598
3599         gitlog-to-changelog: remove a little duplication
3600         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3601         rather than twice.
3602
3603 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3604
3605         canonicalize: add support for not resolving symlinks
3606         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3607         indicate we don't want to follow symlinks.  Also
3608         provide CAN_MODE_MASK to aid setting these existing
3609         mutually exclusive values.
3610         * lib/canonicalize.c (canonicalize_filename_mode):
3611         Extract the flags from can_mode parameter, which
3612         are currently just used to select between stat()
3613         and lstat().  Also ensure that mutually exclusive
3614         values are flagged immediately as invalid.
3615         * tests/test-canonicalize.c: Verify symlinks are
3616         not followed, and that invalid flag combinations
3617         are diagnosed.
3618
3619 2011-12-25  Jim Meyering  <meyering@redhat.com>
3620
3621         gitlog-to-changelog: do not clump multi-paragraph entries
3622         Identical header lines (date,name,email+coauthors) are suppressed,
3623         thus putting all entries with those same characteristics under
3624         a single header.  However, when a log entry consists of two or
3625         more paragraphs, it may not be clear where it starts and ends.
3626         This change makes it so that such an entry is always separated
3627         from others by a header line, even when that header would
3628         otherwise be suppressed.
3629         * build-aux/gitlog-to-changelog: Implement the above.
3630         Inspired by a related request from Stefano Lattarini in
3631         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3632
3633 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3634
3635         announce-gen: fix `cmd' typo in diagnostic
3636         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3637         diagnostic: a missing '$' meant that the command was not output.
3638
3639 2011-12-23  Jim Meyering  <meyering@redhat.com>
3640
3641         test-framework-sh: distribute init.sh
3642         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3643         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3644         fail due to the lack of init.sh.
3645
3646         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3647         * modules/atexit-tests: Rather than listing tests/init.sh,
3648         now that there's a module for it, simply depend on that new module.
3649         * modules/closein-tests: Likewise.
3650         * modules/exclude-tests: Likewise.
3651         * modules/getcwd-tests: Likewise.
3652         * modules/perror-tests: Likewise.
3653         * modules/pread-tests: Likewise.
3654         * modules/pwrite-tests: Likewise.
3655         * modules/vc-list-files-tests: Likewise.
3656         * modules/verify-tests: Likewise.
3657         * modules/xalloc-die-tests: Likewise.
3658         * modules/xstrtoimax-tests: Likewise.
3659         * modules/xstrtol-tests: Likewise.
3660         * modules/xstrtoll-tests: Likewise.
3661         * modules/xstrtoumax-tests: Likewise.
3662         * modules/yesno-tests: Likewise.
3663
3664 2011-12-22  Jim Meyering  <meyering@redhat.com>
3665
3666         test-framework-sh: add minimal tests of init.sh's compare function
3667         * modules/test-framework-sh-tests: New file.
3668         * tests/test-init.sh: New file.
3669
3670         test-framework-sh: new module
3671         * modules/test-framework-sh: New file.
3672         * MODULES.html.sh (Support for maintaining and releasing projects):
3673         List it.
3674
3675         init.sh: do not emit simulated diff output to stderr
3676         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3677
3678 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3679
3680         .gitignore: ignore gnulib.dvi and regex.info
3681         * doc/.gitignore:add gnulib.dvi and regex.info
3682
3683 2011-12-22  Jim Meyering  <meyering@redhat.com>
3684
3685         init.sh: correct previous change
3686         * tests/init.sh (compare): My previous change was wrong.
3687         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3688
3689         init.sh: avoid unwarranted test failure when using "set -e"
3690         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3691         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3692         a use like "compare exp out" would get evoke an unconditional failure.
3693
3694 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3695
3696         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3697         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3698         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3699         autoreconf that did not.
3700         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3701         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3702
3703 2011-12-17  Jim Meyering  <meyering@redhat.com>
3704
3705         bootstrap: remove some now-unneeded code
3706         This script arose back when gnulib-tool was young.
3707         Since then, it has seen improvements that render much of this
3708         script unnecessary.  In particular, it can now make symlinks
3709         to the files it uses.  Also, I no longer see as much value in
3710         marking files as read-only via comments.
3711         If you relied on the symlink-creation feature of the preceding
3712         version of this script, you can get most of that functionality
3713         by adding the --symlink option to the definition of
3714         gnulib_tool_option_extras in your bootstrap.conf file.
3715         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3716         Run autopoint and libtoolize *before* gnulib-tool.
3717         After it, run an abbreviated autoreconf, rather than a loop around
3718         all tools.
3719         (slirp, bt_mark_as_generated): Remove functions.
3720
3721 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3722
3723         ftoastr: fix typo
3724         * lib/ftoastr.h: Fix misspelling in comment.
3725
3726 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3727
3728         * top/README-release: fix punctuation.
3729
3730 2011-12-17  Jim Meyering  <meyering@redhat.com>
3731
3732         bootstrap: correct the recent buildreq change
3733         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3734         had no effect.
3735         * build-aux/bootstrap (buildreq): Bracket each search term with
3736         "*...*", so that the shell "case" statement works as intended.
3737         Add comments.
3738
3739 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3740
3741         build: let bootstrap resort to wget when downloading .po files
3742         * build-aux/bootstrap (download_po_files): Fallback to wget when
3743         downloading the .po files via rsync fails.  This is necessary to
3744         bootstrap from behind a strict firewall.
3745
3746 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3747
3748         stdint: don't assume C++11 when compiling with g++
3749         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3750         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3751         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3752         work also in C++ before C++11, as that improperly inhibits
3753         generating a substitute stdint.h for that case.
3754
3755 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3756
3757         alloca: protect comment from gnulib-tool
3758         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3759         that gnulib-tool doesn't think it's a license, and munge it to
3760         say "GCC version 3".
3761
3762 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3763
3764         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3765         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3766         $(abs_top_builddir) instead of $(top_builddir).
3767
3768 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3769
3770         strftime-tests: also test nanoseconds
3771         * tests/test-strftime.c (T): Add a test of %N.
3772
3773 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3774
3775         inttypes, stdint: add C++11 support
3776         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3777         when including inttypes.h and stdint.h.  Support this change to
3778         the standard.
3779         * doc/posix-headers/inttypes.texi (inttypes.h):
3780         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3781         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3782         Define if not defined already, for the benefit of pre-C++11 hosts.
3783         Define the standard format macros (e.g., PRId8) always.
3784         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3785         Likewise, if __cpluspus.  Define the standard constant and limit
3786         macros (e.g., INT8_C, INT8_MAX) always.
3787         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3788         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3789         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3790         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3791         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3792         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3793         Likewise.
3794
3795 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3796
3797         nonblocking tests: Fix test failure on Linux/PPC.
3798         Suggested by Prerna Saxena in
3799         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
3800         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
3801         Set to 1100000.
3802
3803 2011-12-12  Jim Meyering  <meyering@redhat.com>
3804
3805         argmatch: don't hard-code `' when listing valid option arguments
3806         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
3807         use the quote function to add quotes.  Use fputs rather than
3808         fprintf for the format string with no format directive.
3809
3810 2011-12-07  Eric Blake  <eblake@redhat.com>
3811
3812         bootstrap: detect tools required by gnulib-tool
3813         * build-aux/bootstrap (buildreq): Provide minimum implicit
3814         dependencies.
3815         * DEPENDENCIES: Mention patch as a prereq.
3816
3817 2011-12-04  Bruno Haible  <bruno@clisp.org>
3818
3819         sethostname: Port to Windows platforms.
3820         * lib/sethostname.c: Provide an alternate implementation for Windows
3821         platforms.
3822         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3823         (main): Skip the test if sethostname() fails with EPERM. On Windows
3824         platforms, don't check the result of gethostname().
3825
3826 2011-12-04  Bruno Haible  <bruno@clisp.org>
3827             Jim Meyering  <meyering@redhat.com>
3828
3829         tests: Avoid spurious error message on platforms without mktemp program.
3830         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3831
3832 2011-12-04  Bruno Haible  <bruno@clisp.org>
3833
3834         sethostname: Fix documentation.
3835         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3836         "not fixed" section.
3837
3838 2011-12-03  Bruno Haible  <bruno@clisp.org>
3839
3840         gnulib-tool: Verify that the License field is present and non-empty.
3841         * gnulib-tool (func_get_license_raw): New function, extracted from
3842         func_get_license.
3843         (func_get_license): Use it. Warn if the module is not a test module and
3844         has no license.
3845         Suggested by Jim Meyering.
3846
3847 2011-12-03  Bruno Haible  <bruno@clisp.org>
3848
3849         sethostname tests: Fix link error on mingw.
3850         * tests/test-sethostname1.c: New file, extracted from
3851         tests/test-sethostname.c.
3852         * tests/test-sethostname2.c: New file, extracted from
3853         tests/test-sethostname.c.
3854         * tests/test-sethostname.c: Remove file.
3855         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3856         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3857         (Depends-on): Add gethostname.
3858         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3859         Link the latter with $(GETHOSTNAME_LIB).
3860
3861         sethostname tests: Fix compilation error on mingw.
3862         * tests/test-sethostname.c: Don't include <sys/types.h>.
3863         (geteuid): Use a dummy value without uid_t.
3864         * modules/sethostname-tests (Depends-on): Remove sys_types.
3865
3866         sethostname tests: Avoid a gcc warning.
3867         * tests/test-sethostname.c (main): Remove an unused variable.
3868
3869         Tweak last commit.
3870         * modules/sethostname-tests (Files): Sort by decreasing importance.
3871         (configure.ac): Check for geteuid.
3872         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3873         the test when there's nothing to test. Drop an unnecessary cast.
3874         Improve an error message. Verify that the final sethostname() call
3875         succeeds.
3876
3877 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3878
3879         Add a test suite for the sethostname module.
3880         * modules/sethostname-tests: New file.  A test program
3881         for the sethostname module.
3882         * tests/test-sethostname.c: Likewise.
3883
3884 2011-12-03  Bruno Haible  <bruno@clisp.org>
3885
3886         Tweak last commit.
3887         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3888         Fix preprocessor directives indentation. Fix typos.
3889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3890         * modules/unistd (Makefile): Likewise.
3891
3892 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3893
3894         Integrate the sethostname module into unistd.
3895         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3896         into the unistd.h header.
3897         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3898         preprocessor directives.
3899         * modules/unistd: Setup the Makefile substitutions of the
3900         SETHOSTNAME preprocessor directives.
3901
3902 2011-12-03  Bruno Haible  <bruno@clisp.org>
3903
3904         Tweak last commit.
3905         * lib/sethostname.c: Don't include <string.h>.
3906         (sethostname): No need to copy the argument string to the stack. Don't
3907         call clearerr. Preserve errno when fprintf failed.
3908         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3909         Don't invoke AC_REPLACE_FUNCS.
3910         * modules/sethostname (Link): Remove empty section.
3911         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3912         failure problem.
3913
3914 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3915
3916         New module 'sethostname'.
3917         * lib/sethostname.c (sethostname): New file.  Provide sethostname
3918         for systems that lack it.
3919         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
3920         sethostname declaration and function.
3921         * modules/sethostname: New file.  Define the sethostname module.
3922
3923 2011-12-03  Bruno Haible  <bruno@clisp.org>
3924
3925         Tweak last commit.
3926         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
3927
3928 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3929
3930         Split the HOST_NAME_MAX detection into a separate m4 macro.
3931         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
3932         macro so it can be used by the pending sethostname module.
3933
3934 2011-12-03  Bruno Haible  <bruno@clisp.org>
3935
3936         Fix module descriptions syntax.
3937         * modules/argv-iter (License): Fix syntax.
3938         * modules/di-set (License): Likewise.
3939         * modules/ino-map (License): Likewise.
3940         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
3941
3942 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
3943
3944         stdalign: port to Clang 3.0
3945         Problem reported by Simon Josefsson in
3946         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
3947         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
3948         which has <stdalign.h> but which does not define alignof.
3949         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
3950
3951 2011-12-01  Eric Blake  <eblake@redhat.com>
3952
3953         mktempd: silence dd usage
3954         * build-aux/mktempd (rand_bytes): Silence dd.
3955
3956 2011-11-30  Simon Josefsson  <simon@josefsson.org>
3957
3958         manywarnings: Don't mention gcc version in docstring.
3959         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
3960         Jim Meyering <meyering@redhat.com>.
3961
3962 2011-11-30  Jim Meyering  <meyering@redhat.com>
3963
3964         hash: mark a few floating point constants with "f" suffix
3965         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
3966         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
3967         floating point constants with "f", since they're destined to be
3968         saved/used as "float"s.
3969
3970 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
3971
3972         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
3973         * tests/test-float.c (test_long_double): Correct and re-enable the
3974         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
3975
3976 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
3977
3978         Avoid subtracting two pointers that don't point into the same block.
3979         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
3980         only pointers into the same memory block are subtracted. We cannot
3981         assume that sizeof (ptrdiff_t) == sizeof (void *).
3982
3983 2011-11-29  Eric Blake  <eblake@redhat.com>
3984
3985         maint.mk: add syntax check for use of compare from init.sh
3986         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
3987         moved here from coreutils.
3988
3989         manywarnings: drop -Wunsuffixed-float-constants
3990         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
3991         '1.0D', which is the only way to silence this warning for 'double'.
3992
3993 2011-11-29  Jim Meyering  <meyering@redhat.com>
3994
3995         hash: mark compute_bucket_size with the pure attribute
3996         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
3997
3998         quotearg, propername: correct pragma guard expression
3999         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4000         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4001
4002 2011-11-28  Jim Meyering  <meyering@redhat.com>
4003
4004         propername: do not mark proper_name with the const attribute
4005         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4006         since it examines data pointed to by its parameter.
4007         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4008         the suggestion from -Wsuggest-attribute=const.
4009
4010         propername: mark one more function as const
4011         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4012
4013 2011-11-27  Jim Meyering  <meyering@redhat.com>
4014
4015         mark functions with const and pure attributes
4016
4017         Mark functions per suggestions from gcc-4.6 when using these options:
4018         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4019         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4020         Follow these guidelines: when possible, apply the attribute to
4021         an extern declaration, not to its definition.  Apply it to the
4022         definition only when the definition is static.
4023         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4024         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4025         * lib/base64.h (isbase64): Likewise.
4026         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4027         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4028         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4029         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4030         (c_tolower, c_toupper): Likewise.
4031         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4032         * lib/chdir-long.c (find_non_slash): Likewise.
4033         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4034         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4035         * lib/file-type.h (file_type): Likewise.
4036         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4037         * lib/filevercmp.c (verrevcmp): Likewise.
4038         * lib/freadahead.h (freadahead): Likewise.
4039         * lib/fts.c (fts_maxarglen): Likewise.
4040         * lib/hash-pjw.h (hash_pjw): Likewise.
4041         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4042         * lib/hash.c (is_prime, next_prime): Likewise.
4043         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4044         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4045         (hash_table_ok, hash_get_first, hash_string): Likewise.
4046         (compute_bucket_size): Likewise.
4047         * lib/i-ring.h (i_ring_empty): Likewise.
4048         * lib/isnan.c (isnanl): Likewise.
4049         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4050         * lib/memcasecmp.h (memcasecmp): Likewise.
4051         * lib/memchr2.h (memchr2): Likewise.
4052         * lib/memcmp2.h (memcmp2): Likewise.
4053         * lib/parse-datetime.y (lookup_zone): Likewise.
4054         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4055         [!WINDOWS_SOCKETS]: Likewise.
4056         * lib/strnlen1.h (strnlen1): Likewise.
4057         * lib/uniwidth.in.h (uc_width): Likewise.
4058         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4059         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4060         (quoting_options_from_style): Add a comment.
4061         * lib/propername.h (proper_name): Add a comment.
4062
4063 2011-11-27  Bruno Haible  <bruno@clisp.org>
4064
4065         Remove unused macros from !_LIBC code in glibc-borrowed files.
4066         * lib/fnmatch.c (STRCOLL): Remove macro.
4067         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4068         * lib/glob.c (__stat, __readdir64): Remove macros.
4069         * lib/tempname.c (__open64, __xstat64): Remove macros.
4070         Suggested by Paul Eggert.
4071
4072 2011-11-27  Bruno Haible  <bruno@clisp.org>
4073
4074         getcwd: Fix link error on MSVC 9.
4075         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4076
4077 2011-11-27  Bruno Haible  <bruno@clisp.org>
4078
4079         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4080         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4081         HAVE_OPENDIR is 0.
4082         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4083         HAVE_CLOSEDIR is 0.
4084         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4085         is 0.
4086         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4087
4088 2011-11-27  Bruno Haible  <bruno@clisp.org>
4089
4090         getcwd: Fix bug from 2011-08-17.
4091         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4092         platforms that need it.
4093         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4094         code of 4 to be a failure, not a success. This ensures that
4095         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4096
4097 2011-11-27  Bruno Haible  <bruno@clisp.org>
4098
4099         binary-io tests: Avoid test failure on mingw when libtool is used.
4100         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4101         Don't verify the size of t-bin-out1.tmp here.
4102         * tests/test-binary-io.sh: Verify it here.
4103         Reported by Simon Josefsson.
4104
4105 2011-11-26  Bruno Haible  <bruno@clisp.org>
4106
4107         Fix conflict between two instantiations of module 'unistd'.
4108         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4109         ${include_guard_prefix} also in the autoconf snippet.
4110         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4112         GNULIB_UNISTD_H_GETOPT.
4113         * modules/getopt-posix (configure.ac): Set the
4114         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4115         * modules/getopt-gnu (configure.ac): Likewise.
4116         * modules/unistd (Makefile.am): Change the substitution value of
4117         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4118         Reported by Simon Josefsson.
4119
4120 2011-11-25  Bruno Haible  <bruno@clisp.org>
4121
4122         pagealign_alloc: Doc and comments.
4123         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4124         module.
4125         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4126
4127 2011-11-25  Jim Meyering  <meyering@redhat.com>
4128
4129         test-update-copyright.sh: avoid false-positive failure
4130         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4131         around false positive failure on Cygwin/Windows.  The latter was
4132         matching erroneously-created files with names like
4133         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4134
4135 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4136
4137         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4138         * m4/valgrind-tests.m4: Check that the parameters that will be
4139         used works, not just a subset of them.  Reported by Bruno Haible
4140         <bruno@clisp.org>.
4141
4142 2011-11-24  Jim Meyering  <meyering@redhat.com>
4143
4144         test-stdalign.c: comment out long double tests
4145         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4146         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4147         error: '_Alignas' specifiers cannot reduce alignment of \
4148         'static_longdouble_alignas'.
4149
4150 2011-11-22  Jim Meyering  <meyering@redhat.com>
4151
4152         init.sh: make "compare /dev/null FILE" output more readable
4153         * tests/init.sh (compare_): Document the preferred order of arguments.
4154         (emit_diff_u_header_): New function.
4155         (compare_dev_null_): Emit a simulated diff, rather than just the
4156         contents of the unexpected file.  Suggestion from Bruno Haible.
4157
4158 2011-11-21  Jim Meyering  <meyering@redhat.com>
4159             Eric Blake  <eblake@redhat.com>
4160
4161         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4162         * tests/init.sh: Make our compare function slightly more portable.
4163         Reported by Bruno Haible in
4164         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4165
4166 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4167
4168         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4169         before using it, in code that ends up in config.h.
4170
4171 2011-11-20  Bruno Haible  <bruno@clisp.org>
4172
4173         getcwd: Work around getcwd bug on AIX 5..7.
4174         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4175         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4176         Use a different value for gl_cv_func_getcwd_path_max. Move the
4177         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4178         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4179         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4180         Define HAVE_MINIMALLY_WORKING_GETCWD.
4181         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4182         where it is not even minimally working, that is, on AIX.
4183         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4184         m4/getcwd-path-max.m4.
4185         (main): Update exit code computation.
4186         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4187         getcwd does not handle long file names.
4188
4189 2011-11-20  Bruno Haible  <bruno@clisp.org>
4190
4191         getcwd: Fix bug from 2009-09-10.
4192         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4193         like "no".
4194
4195 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4196
4197         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4198
4199 2011-11-20  Bruno Haible  <bruno@clisp.org>
4200
4201         fma tests: Avoid shadowing local variables.
4202         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4203         expected.
4204
4205 2011-11-20  Bruno Haible  <bruno@clisp.org>
4206
4207         copysignf tests: Fix.
4208         * tests/test-copysignf.c: Fix signature check.
4209
4210 2011-11-20  Bruno Haible  <bruno@clisp.org>
4211
4212         fma: Remove unused code.
4213         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4214         unused macros.
4215
4216 2011-11-20  Bruno Haible  <bruno@clisp.org>
4217
4218         sethostname: Fix doc about AIX.
4219         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4220         sethostname; it has it.
4221
4222         sethostname: Mention more portability problems.
4223         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4224         problem.
4225         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4226
4227 2011-11-19  Bruno Haible  <bruno@clisp.org>
4228
4229         Depend on module fcntl-h when AT_FDCWD is used.
4230         * modules/utimens (Depends-on): Add fcntl-h.
4231         * modules/areadlinkat (Depends-on): Likewise.
4232         * modules/areadlinkat-with-size (Depends-on): Likewise.
4233         * modules/faccessat (Depends-on): Likewise.
4234         * modules/fchmodat (Depends-on): Likewise.
4235         * modules/fchownat (Depends-on): Likewise.
4236         * modules/getcwd (Depends-on): Likewise.
4237         * modules/mkdirat (Depends-on): Likewise.
4238         * modules/mkfifoat (Depends-on): Likewise.
4239         * modules/readlinkat (Depends-on): Likewise.
4240         * modules/symlinkat (Depends-on): Likewise.
4241         * modules/dup2-tests (Depends-on): Likewise.
4242         * modules/fdutimensat-tests (Depends-on): Likewise.
4243         * modules/futimens-tests (Depends-on): Likewise.
4244
4245 2011-11-19  Bruno Haible  <bruno@clisp.org>
4246
4247         euidaccess: Update a comment.
4248         * lib/euidaccess.c: Update comment about platforms with faccessat.
4249
4250 2011-11-19  Bruno Haible  <bruno@clisp.org>
4251
4252         openat: Fix file list.
4253         * modules/openat (Files): Remove lib/at-func.c.
4254
4255 2011-11-19  Bruno Haible  <bruno@clisp.org>
4256
4257         fstatat: Simplify.
4258         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4259         gnulib should define rpl_fstatat, there is a
4260         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4261
4262 2011-11-19  Bruno Haible  <bruno@clisp.org>
4263
4264         Ensure 'inline' can be used in tests/test-utimens-common.h.
4265         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4266         * modules/futimens-tests (configure.ac): Likewise.
4267         * modules/utimens-tests (configure.ac): Likewise.
4268         * modules/utimensat-tests (configure.ac): Likewise.
4269
4270 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4271
4272         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4273         not hash_insert0.
4274         (hash_insert_if_absent): Doc fix.
4275
4276 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4277
4278         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4279
4280 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4281
4282         test-getcwd: disambiguate exit status
4283         * tests/test-getcwd.c (test_long_name): Return 0..7.
4284         (main): Exit with an unambiguous exit status.  The old
4285         code yielded a mysterious mixture of two failure codes.
4286
4287         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4288         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4289         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4290         rpl_fstatat or fstatat.  This should fix the other problem
4291         reported by Kai Habel in
4292         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4293         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4294         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4295         and I reproduced it on a Solaris 8 host we still have in production.
4296
4297 2011-11-18  Jim Meyering  <meyering@redhat.com>
4298
4299         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4300         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4301         Add a sentence to the comment.
4302         (hash_insert0): New function that simply calls hash_insert_if_absent.
4303         * lib/hash.h (hash_insert_if_absent): Declare it.
4304         (hash_insert0): Add deprecation attribute.
4305         (_GL_ATTRIBUTE_DEPRECATED): Define.
4306         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4307         not hash_insert0.
4308         * NEWS: Mention it, even though it's not really an incompatible change.
4309
4310 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4311
4312         openat: avoid compilation failure due to lack of <errno.h> inclusion
4313         * lib/openat.c: Include <errno.h>.
4314
4315 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4316
4317         * modules/getcwd (Depends-on): Add fdopendir.
4318         This fixes one of the two problems reported by Kai Habel in
4319         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4320
4321         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4322         stdalign problem reported by Ian Beckwith in
4323         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4324         * modules/crypto/gc-arcfour (Depends-on):
4325         Depend conditionally on crypto/arcfour.
4326         * modules/crypto/gc-arctwo (Depends-on):
4327         Depend conditionally on crypto/arctwo.
4328         * modules/crypto/gc-des (Depends-on):
4329         Depend conditionally on crypto/des.
4330         * modules/crypto/gc-hmac-md5 (Depends-on):
4331         Depend conditionally on crypto/hmac-md5.
4332         * modules/crypto/gc-hmac-sha1 (Depends-on):
4333         Depend conditionally on crypto/hmac-sha1.
4334         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4335         * modules/crypto/gc-md4 (Depends-on):
4336         Depend conditionally on crypto/md4.
4337         * modules/crypto/gc-md5 (Depends-on):
4338         Depend conditionally on crypto/md5.
4339         * modules/crypto/gc-rijndael (Depends-on):
4340         Depend conditionally on crypto/rijndael.
4341         * modules/crypto/gc-sha1 (Depends-on):
4342         Depend conditionally on crypto/sha1.
4343         * modules/crypto/gc-arcfour:
4344         * modules/crypto/gc-arctwo:
4345         * modules/crypto/gc-des:
4346         * modules/crypto/gc-hmac-md5:
4347         * modules/crypto/gc-hmac-sha1:
4348         * modules/crypto/gc-md2:
4349         * modules/crypto/gc-md4:
4350         * modules/crypto/gc-md5:
4351         * modules/crypto/gc-rijndael:
4352         * modules/crypto/gc-sha1:
4353         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4354         now that the conditional dependencies do the work for us.
4355
4356 2011-11-17  Jim Meyering  <meyering@redhat.com>
4357
4358         tests: factor st_ctime-comparison out of two headers
4359         * tests/test-utimens-common.h (ctime_compare): Define.
4360         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4361         * tests/test-lutimens.h (test_lutimens): Likewise.
4362         * tests/test-utimens.h (test_utimens): Likewise.
4363
4364         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4365         Invoke the test program via an init.sh-using wrapper.
4366         * tests/test-getcwd.sh: New file.
4367         * modules/getcwd-tests (Files): Add it.
4368         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4369
4370 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4371
4372         gitlog-to-changelog: support multi-author commits.
4373         The FSF cares about keeping track of all authors of patches to its
4374         projects, but Git doesn't provide obvious support for multi-author
4375         changesets. Consensus seems to be forming around the use of extra
4376         Signed-off-by inspired lines in the log message formatted as
4377         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4378         multi-author commits between version control systems.
4379         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4380         log message and output in standard ChangeLog multi-author format.
4381         Reported by Peter Rosin <peda@lysator.liu.se>
4382
4383 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4384             Bruno Haible  <bruno@clisp.org>
4385
4386         Fix some modules' file list.
4387         * modules/fstatat (Files): Add m4/lstat.m4.
4388         * modules/openat (Files): Likewise.
4389         * modules/unlinkat (Files): Likewise.
4390
4391 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4392
4393         maint.mk: fix tight-scope.mk generation in VPATH builds.
4394         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4395         reference with $(srcdir) so that the file is found correctly even
4396         when running `make syntax-check' in a VPATH build.
4397
4398 2011-11-13  Bruno Haible  <bruno@clisp.org>
4399             Jim Meyering  <meyering@redhat.com>
4400
4401         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4402         * tests/init.sh (compare): Remove "No differences encountered" or
4403         synonymous output from the 'diff' program.
4404
4405 2011-11-13  Bruno Haible  <bruno@clisp.org>
4406
4407         Makefile: Tweak indentation.
4408         * Makefile: Use tab as first character in every line that contains rule
4409         commands.
4410
4411 2011-11-13  Bruno Haible  <bruno@clisp.org>
4412
4413         Syntax check for copyright statements.
4414         * check-copyright: New file.
4415         * Makefile (sc_check_copyright): New rule.
4416
4417 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4418
4419         * build-aux/git-version-gen: Add --prefix to configure the tag
4420         match string.
4421
4422 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4423
4424         * build-aux/git-version-gen: Add --help and --version.
4425
4426 2011-11-12  Jim Meyering  <meyering@redhat.com>
4427
4428         revamp the other test-exclude?.sh scripts to use init.sh, too
4429         * tests/test-exclude1.sh: Use init.sh.
4430         * tests/test-exclude2.sh: Likewise.
4431         * tests/test-exclude3.sh: Likewise.
4432         * tests/test-exclude4.sh: Likewise.
4433         * tests/test-exclude5.sh: Likewise.
4434         * tests/test-exclude6.sh: Likewise.
4435         * tests/test-exclude7.sh: Likewise.
4436         * tests/test-exclude8.sh: Likewise.
4437         * modules/exclude-tests (Files): List init.sh.
4438
4439         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4440         These shell scripts ignored failure of the binary test-exclude,
4441         so making the latter return 77 didn't cause them to be skipped.
4442         * tests/test-exclude5.sh: Exit with test-exclude's error status
4443         when that program fails.  Revamp to use init.sh.
4444         * tests/test-exclude2.sh: Likewise.
4445
4446         test-exclude: fix a typo
4447         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4448
4449 2011-11-11  Bruno Haible  <bruno@clisp.org>
4450
4451         obstack: Fix compilation error on MSVC 9.
4452         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4453
4454 2011-11-11  Jim Meyering  <meyering@redhat.com>
4455
4456         test-exclude: skip tests rather than failing on deficient systems
4457         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4458         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4459         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4460         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4461
4462 2011-11-10  Bruno Haible  <bruno@clisp.org>
4463
4464         ptsname_r test: Avoid gcc warning on glibc systems.
4465         * tests/test-ptsname_r.c (null_ptr): New function.
4466         (test_errors): Use it.
4467
4468 2011-11-10  Bruno Haible  <bruno@clisp.org>
4469
4470         ptsname_r: Avoid compilation error on OSF/1 5.1.
4471         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4472         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4473         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4474         function is not declared or incompatibly declared.
4475         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4476         * modules/ptsname_r (Depends-on, configure.ac): Update.
4477         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4478
4479 2011-11-10  Bruno Haible  <bruno@clisp.org>
4480
4481         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4482         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4483         When cross-compiling, guess yes on all platforms except AIX.
4484         Reported by Ludovic Courtès <ludo@gnu.org>.
4485
4486 2011-11-09  Bruno Haible  <bruno@clisp.org>
4487
4488         ptsname_r tests: Fix bugs.
4489         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4490         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4491
4492 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4493
4494         fstatat: work with cross-compilation
4495         Problem reported by Ludovic Courtès in
4496         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4497         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4498         "cross-compiling" and assume the bug is present.  Replace
4499         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4500         an inverted sense, to be more conservative about our assumptions.
4501         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4502
4503 2011-11-09  Bruno Haible  <bruno@clisp.org>
4504
4505         Improve MODULES.html output.
4506         * modules/mkfifoat (Description): Use the word "function".
4507         * modules/readlinkat (Description): Likewise.
4508         * modules/symlinkat (Description): Likewise.
4509
4510 2011-11-09  Eric Blake  <eblake@redhat.com>
4511
4512         ptsname_r-tests: new test module
4513         * modules/ptsname_r-tests: New module.
4514         * tests/test-ptsname_r.c: New file.
4515
4516         ptsname_r: new module
4517         * modules/ptsname_r: New module.
4518         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4519         * lib/ptsname.c (__ptsname_r): Split...
4520         * lib/ptsname_r.c: ...into new file.
4521         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4522         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4523         * modules/stdlib (Makefile.am): Substitute witnesses.
4524         * lib/stdlib.in.h (ptsname_r): Declare it.
4525         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4526         * MODULES.html.sh (Misc): Likewise.
4527         * modules/ptsname (Depends-on): Alter dependency.
4528         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4529
4530 2011-11-09  Jim Meyering  <meyering@redhat.com>
4531
4532         announce-gen: be more concise when there's only one URL+tarball
4533         * build-aux/announce-gen (get_tool_versions): When you distribute
4534         only one type of tarball, combine the first two "Here are..."
4535         sections and make the key-checking grammar independent of
4536         how many tarballs there are.
4537
4538 2011-11-09  Eric Blake  <eblake@redhat.com>
4539
4540         openpty: provide a stub on mingw
4541         * lib/pty.in.h (includes): Provide forward declarations.
4542         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4543
4544         raise: fix mingw handling of SIGPIPE
4545         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4546
4547 2011-11-08  Bruno Haible  <bruno@clisp.org>
4548
4549         More conditional dependencies.
4550         * modules/faccessat (Depends-on): Add conditions.
4551         * modules/fchmodat (Depends-on): Likewise.
4552         * modules/fchownat (Depends-on): Likewise.
4553         * modules/fstatat (Depends-on): Likewise.
4554         * modules/mkfifoat (Depends-on): Likewise.
4555         * modules/readlinkat (Depends-on): Likewise.
4556         * modules/symlinkat (Depends-on): Likewise.
4557         * modules/unlinkat (Depends-on): Likewise.
4558         * modules/utimensat (Depends-on): Likewise.
4559         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4560         * modules/linkat (Depends-on): Refine the conditions.
4561         * modules/renameat (Depends-on): Likewise.
4562
4563 2011-11-08  Bruno Haible  <bruno@clisp.org>
4564
4565         faccessat: Move AC_LIBOBJ invocation to module description.
4566         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4567         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4568         invocation from here...
4569         * modules/faccessat (configure.ac): ... to here. Invoke
4570         gl_PREREQ_FACCESSAT.
4571
4572 2011-11-08  Bruno Haible  <bruno@clisp.org>
4573
4574         faccessat: Simplify autoconf macro.
4575         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4576         gl_FUNC_EUIDACCESS.
4577
4578 2011-11-08  Bruno Haible  <bruno@clisp.org>
4579
4580         renameat: Fix dependencies.
4581         * modules/renameat (Depends-on): Add stdbool.
4582
4583 2011-11-08  Bruno Haible  <bruno@clisp.org>
4584
4585         mkfifoat: Fix module description.
4586         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4587         not gl_UNISTD_MODULE_INDICATOR.
4588
4589 2011-11-08  Bruno Haible  <bruno@clisp.org>
4590
4591         fstatat: Remove unused dependency.
4592         * modules/fstatat (Depends-on): Remove fstat.
4593
4594 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4595
4596         GNUmakefile: behave when Makefile is missing.
4597         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4598
4599 2011-11-08  Bruno Haible  <bruno@clisp.org>
4600
4601         openat: Conditionalize dependencies.
4602         * lib/openat.c: Reduce the scope of some #includes.
4603         * modules/openat (Depends-on): Add conditions.
4604
4605 2011-11-07  Jim Meyering  <meyering@redhat.com>
4606
4607         maint.mk: extract GPG key ID without using a temporary file
4608         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4609         without using a temporary file.  Based on a suggestion from Werner Koch
4610         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4611
4612 2011-11-07  Eric Blake  <eblake@redhat.com>
4613
4614         grantpt: fix typo
4615         * lib/stdlib.in.h (grantpt): Check correct function.
4616
4617         maint.mk: silence new syntax check
4618         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4619
4620 2011-11-06  Bruno Haible  <bruno@clisp.org>
4621
4622         Doc about floating-point and math API.
4623         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4624         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4625
4626 2011-11-06  Bruno Haible  <bruno@clisp.org>
4627
4628         stdalign tests: Skip the test when compiled by Sun C.
4629         * tests/test-stdalign.c (main): Skip the test on Sun C.
4630
4631 2011-11-06  Bruno Haible  <bruno@clisp.org>
4632
4633         ansi-c++-opt: Complete the 2011-06-05 change.
4634         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4635         does not support namespaces, set the variable to "no", not to ":".
4636
4637 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4638
4639         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4640
4641 2011-11-06  Bruno Haible  <bruno@clisp.org>
4642
4643         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4644         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4645         (minus_zerol) [HP-UX]: New macro.
4646         (unary_minus) [HP-UX]: New function.
4647         (copysignl) [HP-UX]: Use unary_minus function.
4648
4649 2011-11-06  Bruno Haible  <bruno@clisp.org>
4650
4651         ldexp, ldexpf, ldexpl: Enhance tests.
4652         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4653         and tests/test-ldexpl.c.
4654         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4655         LDEXP, MIN_EXP, MAX_EXP): New macros.
4656         Include test-ldexp.h.
4657         (main): Just call test_function.
4658         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4659         infinity.h, nan.h.
4660         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4661         MAX_EXP): New macros.
4662         Include test-ldexp.h.
4663         (x, y): Remove variables.
4664         (main): Just call test_function.
4665         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4666         infinity.h, nan.h.
4667         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4668         MAX_EXP): New macros.
4669         Include test-ldexp.h.
4670         (x, y): Remove variables.
4671         (main): Just call test_function.
4672         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4673         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4674         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4675         (Depends-on): Add isnand-nolibm, signbit, float.
4676         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4677         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4678         (Depends-on): Add isnanf-nolibm, signbit, float.
4679
4680 2011-11-06  Bruno Haible  <bruno@clisp.org>
4681
4682         math tests: Cosmetics.
4683         * tests/test-math-c++.cc: Reorder declarations.
4684
4685 2011-11-05  Bruno Haible  <bruno@clisp.org>
4686
4687         fma*: Simplify test.
4688         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4689         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4690
4691         Tests for module 'fmal'.
4692         * modules/fmal-tests: New file.
4693         * tests/test-fmal1.c: New file.
4694         * tests/test-fmal2.c: New file.
4695
4696         New module 'fmal'.
4697         * lib/math.in.h (fmal): New declaration.
4698         * lib/fmal.c: New file.
4699         * m4/fmal.m4: New file.
4700         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4701         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4702         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4703         REPLACE_FMAL.
4704         * modules/fmal: New file.
4705         * doc/posix-functions/fmal.texi: Mention the new module and the various
4706         bugs.
4707
4708         Tests for module 'fmaf'.
4709         * modules/fmaf-tests: New file.
4710         * tests/test-fmaf1.c: New file.
4711         * tests/test-fmaf2.c: New file.
4712
4713         New module 'fmaf'.
4714         * lib/math.in.h (fmaf): New declaration.
4715         * lib/fmaf.c: New file.
4716         * m4/fmaf.m4: New file.
4717         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4719         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4720         REPLACE_FMAF.
4721         * modules/fmaf: New file.
4722         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4723         bugs.
4724
4725         Tests for module 'fma'.
4726         * modules/fma-tests: New file.
4727         * tests/test-fma1.c: New file.
4728         * tests/test-fma1.h: New file.
4729         * tests/test-fma2.c: New file.
4730         * tests/test-fma2.h: New file.
4731
4732         New module 'fma'.
4733         * lib/math.in.h (fma): New declaration.
4734         * lib/fma.c: New file.
4735         * m4/fma.m4: New file.
4736         * m4/fegetround.m4: New file.
4737         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4738         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4739         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4740         REPLACE_FMA.
4741         * modules/fma: New file.
4742         * doc/posix-functions/fma.texi: Mention the new module and the various
4743         bugs.
4744
4745         Extend gl_MATHFUNC.
4746         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4747         Support 'void' as argument type.
4748         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4749
4750 2011-11-05  Jim Meyering  <meyering@redhat.com>
4751
4752         maint.mk: also prohibit inclusion of dirent.h without use
4753         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4754
4755 2011-11-05  Bruno Haible  <bruno@clisp.org>
4756
4757         ldexpl tests: Avoid test failure on MSVC 9.
4758         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4759         value. Needed in order to enforce the conversion from a value greater
4760         than LDBL_MAX to Infinity.
4761
4762 2011-11-05  Bruno Haible  <bruno@clisp.org>
4763
4764         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4765         * modules/at-internal: New file, extracted from modules/openat.
4766         * modules/openat-h: New file.
4767         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4768         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4769         * modules/openat (Description): Add reference to POSIX function.
4770         (Files): Remove lib/openat.h, lib/openat-proc.c.
4771         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4772         intprops, unistd.
4773         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4774         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4775         gl_FCNTL_MODULE_INDICATOR.
4776         (Include): Remove unistd.h, openat.h.
4777         * modules/areadlinkat (Files): Add lib/at-func.c.
4778         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4779         openat-die, openat-h, save-cwd.
4780         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4781         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4782         openat-die, openat-h, save-cwd, unistd.
4783         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4784         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4785         openat-h, save-cwd. Remove fcntl-h, openat.
4786         * modules/fchmodat (Files): Remove lib/openat.h.
4787         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4788         openat, stdbool, unistd.
4789         * modules/fchownat (Files): Remove lib/openat.h.
4790         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4791         openat, stdbool, sys_stat.
4792         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4793         lib/openat-proc.c.
4794         (Depends-on): Add at-internal.
4795         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4796         * modules/fstatat (Files): Remove lib/openat.h.
4797         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4798         stdbool, unistd.
4799         * modules/fts (Depends-on): Add openat-h.
4800         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
4801         openat.
4802         * modules/mkdirat (Files): Remove lib/openat.h.
4803         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4804         openat, stdbool, sys_stat.
4805         * modules/mkfifoat (Files): Add lib/at-func.c.
4806         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4807         openat-h, save-cwd. Remove fcntl-h, openat.
4808         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
4809         * modules/readlinkat (Files): Add lib/at-func.c.
4810         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4811         openat-h, save-cwd. Remove fcntl-h, openat.
4812         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4813         openat.
4814         * modules/selinux-at (Files): Add lib/at-func.c.
4815         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4816         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4817         * modules/symlinkat (Files): Add lib/at-func.c.
4818         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4819         openat-h, save-cwd. Remove fcntl-h, openat.
4820         * modules/unlinkat (Files): Remove lib/openat.h.
4821         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4822         stdbool.
4823         * modules/utimensat (Files): Add lib/at-func.c.
4824         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4825         openat-die, openat-h, save-cwd.
4826         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4827         * modules/fdutimensat-tests (Depends-on): Add openat.
4828         * modules/fstatat-tests (Depends-on): Add openat-h.
4829         * modules/readlinkat-tests (Depends-on): Add openat.
4830         * modules/symlinkat-tests (Depends-on): Add openat.
4831
4832 2011-11-05  Bruno Haible  <bruno@clisp.org>
4833
4834         openat: Include <stdbool.h>.
4835         * lib/openat.c: Include <stdbool.h>.
4836
4837 2011-11-04  Bruno Haible  <bruno@clisp.org>
4838
4839         fchownat, renameat, unlinkat: Fix dependencies.
4840         * modules/fchownat (Depends-on): Add fstatat.
4841         * modules/renameat (Depends-on): Likewise.
4842         * modules/unlinkat (Depends-on): Likewise.
4843
4844 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4845
4846         openat: remove direct dependency on dirent
4847         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4848         and hasn't been needed ever since fdopendir was split into its own
4849         module on 2009-08-31.
4850         * modules/openat (Depends-on): Remove dirent.
4851
4852 2011-11-04  Bruno Haible  <bruno@clisp.org>
4853
4854         renameat: Optimize code size.
4855         * modules/renameat (configure.ac): Don't compile at-func2.c if
4856         REPLACE_RENAMEAT is 1.
4857
4858 2011-11-04  Bruno Haible  <bruno@clisp.org>
4859
4860         openat tests: Fix file list.
4861         * modules/openat-tests (Files): Add tests/test-open.h.
4862
4863 2011-11-04  Bruno Haible  <bruno@clisp.org>
4864
4865         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4866         * modules/fchmodat (Depends-on): Add openat-die.
4867         * modules/fchownat (Depends-on): Likewise.
4868         * modules/linkat (Depends-on): Likewise.
4869         * modules/renameat (Depends-on): Likewise.
4870         * modules/openat (Depends-on): Add dirent.
4871
4872 2011-11-04  Jim Meyering  <meyering@redhat.com>
4873
4874         at-func*.c: fix comments
4875         * lib/at-func2.c: Correct/improve first-line comment.
4876         * lib/at-func.c: Correct grammar in first-line comment.
4877
4878 2011-11-04  Bruno Haible  <bruno@clisp.org>
4879
4880         New module 'mkdirat', split off from module 'openat'.
4881         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4882         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4883         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4884         * modules/mkdirat: New file, extracted from modules/openat.
4885         * modules/openat (Files): Remove lib/mkdirat.c.
4886         (Depends-on): Remove mkdir.
4887         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4888         (Include): Remove <sys/stat.h>.
4889         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4890         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4891         tests/test-mkdir.h.
4892         (Depends-on): Remove ignore-value.
4893         (Makefile.am): Remove rules for test-mkdirat.
4894         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4895         of module 'openat'.
4896         * NEWS: Mention the change.
4897
4898 2011-11-04  Bruno Haible  <bruno@clisp.org>
4899
4900         closedir: Avoid warning on mingw.
4901         * lib/closedir.c: Include <unistd.h>.
4902
4903 2011-11-04  Bruno Haible  <bruno@clisp.org>
4904
4905         New module 'fstatat', split off from module 'openat'.
4906         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4907         defined.
4908         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4909         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4910         gl_FUNC_FSTATAT.
4911         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4912         * modules/fstatat: New file, extracted from modules/openat.
4913         * modules/openat (Files): Remove lib/fstatat.c.
4914         (Depends-on): Remove lstat.
4915         (configure.ac): Remove AC_LIBOBJ of fstatat.
4916         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
4917         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
4918         tests/test-lstat.h, tests/test-stat.h.
4919         (Depends-on): Remove getcwd-lgpl.
4920         (Makefile.am): Remove rules for test-fstatat.
4921         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
4922         of module 'openat'.
4923         * NEWS: Mention the change.
4924         * modules/getcwd (Depends-on): Add fstatat.
4925         * modules/linkat (Depends-on): Likewise.
4926         * modules/mkfifoat-tests (Depends-on): Likewise.
4927         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
4928
4929 2011-11-03  Bruno Haible  <bruno@clisp.org>
4930
4931         New module 'unlinkat', split off from module 'openat'.
4932         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
4933         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
4934         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
4935         * modules/unlinkat: New file, extracted from modules/openat. Correct
4936         the dependency conditions.
4937         * modules/openat (Files): Remove lib/unlinkat.c.
4938         (Depends-on): Remove rmdir, unlink.
4939         (configure.ac): Remove AC_LIBOBJ of unlinkat.
4940         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
4941         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
4942         tests/test-rmdir.h, tests/test-unlink.h.
4943         (Depends-on): Remove unlinkdir.
4944         (Makefile.am): Remove rules for test-unlinkat.
4945         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
4946         of module 'openat'.
4947         * NEWS: Mention the change.
4948         * modules/linkat-tests (Depends-on): Add unlinkat.
4949         * modules/mkfifoat-tests (Depends-on): Likewise.
4950         * modules/readlinkat-tests (Depends-on): Likewise.
4951
4952 2011-11-02  Bruno Haible  <bruno@clisp.org>
4953
4954         New module 'fchmodat', split off from module 'openat'.
4955         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
4956         defined.
4957         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
4958         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
4959         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
4960         * modules/fchmodat: New file, extracted from modules/openat.
4961         * modules/openat (Files): Remove lib/fchmodat.c.
4962         (configure.ac): Remove AC_LIBOBJ of fchmodat.
4963         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
4964         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
4965         (Makefile.am): Remove rules for test-fchmodat.
4966         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
4967         of module 'openat'.
4968         * NEWS: Mention the change.
4969
4970 2011-11-02  Jim Meyering  <meyering@redhat.com>
4971
4972         putenv: indent #definition of "environ" to placate cppi
4973         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
4974
4975         gitlog-to-changelog: provide a ChangeLog-repair mechanism
4976         Git logs are often treated as immutable, because editing them
4977         changes the SHA1 checksums of all descendants.  Thus, errors in
4978         git logs tend to stay there forever.  However, when we generate
4979         a ChangeLog file -- typically for distribution -- from that git log,
4980         we can actually make corrections in the generated file.  The key
4981         lies in recording in machine-readable/applicable form the desired
4982         corrections.  See --help for description and an example.
4983         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
4984         (usage): Describe it; alphabetize option descriptions.
4985         (main): Honor the new option, carefully.
4986
4987 2011-11-01  Jim Meyering  <meyering@redhat.com>
4988
4989         gitlog-to-changelog: avoid an infloop
4990         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
4991         that ends up being empty.
4992
4993 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4994
4995         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4996         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
4997         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
4998         contains (possibly-quoted) backslashes.  This should avoid
4999         all-too-common shell bugs if COMPLICATED contains backslashes in
5000         the "wrong" places.  Reported by David Evans in
5001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5002         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5003         because we want ASCII ranges.  Is there some reason we don't use
5004         the C locale everywhere in this script?
5005         (func_module, top level): Avoid unwanted pathname expansion when
5006         $repo_url_prefix or $repo_url_suffix_repl contain shell
5007         metacharacters like '?' and '*'.
5008
5009 2011-11-01  Bruno Haible  <bruno@clisp.org>
5010
5011         fchownat: Improve description.
5012         * modules/fchownat (Description): Add link to function.
5013
5014 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5015
5016         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5017         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5018         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5019         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5020
5021 2011-11-01  Bruno Haible  <bruno@clisp.org>
5022
5023         alignof: Avoid collision with stdalign module.
5024         * lib/alignof.h (alignof): Remove macro.
5025         * NEWS: Mention the change.
5026         Reported by Paul Eggert.
5027
5028 2011-11-01  Bruno Haible  <bruno@clisp.org>
5029
5030         New module 'fchownat', split off from module 'openat'.
5031         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5032         defined.
5033         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5034         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5035         invoke gl_FUNC_FCHOWNAT.
5036         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5037         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5038         * modules/fchownat: New file, extracted from modules/openat.
5039         * modules/openat (Files): Remove lib/fchownat.c.
5040         (Depends-on): Remove lchown.
5041         (configure.ac): Remove AC_LIBOBJ of fchownat.
5042         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5043         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5044         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5045         (Depends-on): Remove mgetgroups, usleep, stat-time.
5046         (configure.ac): Remove test for getegid.
5047         (Makefile.am): Remove rules for test-fchownat.
5048         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5049         of module 'openat'.
5050         * NEWS: Mention the change.
5051
5052 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5053
5054         stdalign: port better to MSVC and to Sun C 5.11
5055         This fixes some of the problems reported by Bruno Haible in
5056         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5057         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5058         shortcomings of MSVC and of Sun C 5.11.
5059         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5060         around __declspec arg.
5061         * modules/stdalign-tests (Files): Add tests/macros.h.
5062         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5063         Include macros.h, for ASSERT.
5064         (DECLARE_ALIGNED): Remove.
5065         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5066         to catch bug), and to 1 if not (simplifies the rest of the code).
5067         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5068         (CHECK_AUTO): Remove.
5069         (CHECK_ALIGNED): Check only the alignment of the static vars,
5070         since auto var alignment isn't supported by Sun C 5.11.
5071         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5072         ASSERT failures are easier to diagnose.
5073
5074 2011-10-31  Bruno Haible  <bruno@clisp.org>
5075
5076         doc about some IRIX 5.3 problems.
5077         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5078         on IRIX 5.3.
5079         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5080         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5081         5.3.
5082         * doc/posix-functions/grantpt.texi: Likewise.
5083         * doc/posix-functions/unlockpt.texi: Likewise.
5084         * doc/posix-functions/lgamma.texi: Likewise.
5085         * doc/posix-functions/nextafter.texi: Likewise.
5086         * doc/posix-functions/remainder.texi: Likewise.
5087         * doc/posix-functions/select.texi: Mention misplaced declaration on
5088         IRIX 5.3.
5089         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5090
5091 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5092
5093         gitlog-to-changelog: fix git-log invocation.
5094         git-log mishandles date strings before 1970-01-01 UTC, and there is
5095         no use to specify --since=1970-01-01 by default anyway.
5096         * build-aux/gitlog-to-changelog: By default, when no --since option
5097         was given, do not specify explicit --since option to git-log.
5098
5099 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5100
5101         gitlog-to-changelog: new option --append-dot.
5102         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5103         first non-blank line of each commit message terminated with a dot.
5104
5105 2011-10-30  Bruno Haible  <bruno@clisp.org>
5106
5107         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5108         * lib/ffsl.h: Include <config.h>.
5109         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5110
5111 2011-10-30  Jim Meyering  <meyering@redhat.com>
5112
5113         GNUmakefile: reenable "make syntax-check" for most projects
5114         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5115         build-aux variable", "syntax-check" would do nothing but succeed with
5116         the "No version control files detected..." diagnostic (unless you
5117         happened to override _build-aux via cfg.mk).
5118         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5119         to precede inclusion of maint.mk.  Otherwise, these variables would
5120         be used undefined in any project that does not override the default.
5121
5122 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5123
5124         gitlog-to-changelog: treat a message with only blank lines as empty.
5125         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5126         trailing blank lines before the code that issues a warning about an
5127         empty commit message.
5128
5129 2011-10-30  Jim Meyering  <meyering@redhat.com>
5130
5131         test-parse-datetime.c: avoid new DST-related false positive test failure
5132         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5133         based on the time/date we'll convert, not the current time.
5134         Otherwise, the moment we cross a DST boundary like today's in
5135         Europe, (CEST to CET), that offset ends up being one hour off.
5136
5137 2011-10-27  Bruno Haible  <bruno@clisp.org>
5138
5139         fstat: Tweak documentation.
5140         * modules/fstat (Description): More precise description.
5141
5142 2011-10-27  Bruno Haible  <bruno@clisp.org>
5143
5144         Update documentation regarding 'largefile' module.
5145         * doc/posix-functions/fstat.texi: Tweak wording.
5146         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5147         problems with huge directories and/or small ino_t types.
5148         * doc/posix-functions/readdir.texi: Likewise.
5149         * doc/posix-functions/rewinddir.texi: Likewise.
5150
5151 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5152
5153         maint.mk: don't maintain a second build-aux variable.
5154         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5155         depends on GNUmakefile, which already maintains a cfg.mk
5156         overridable $(_build-aux) for projects with a non-standard
5157         build-aux directory location, although without the $(srcdir)
5158         prefix.  Use that variable consistently instead of introducing a
5159         second one.  Adjust all call sites.
5160
5161 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5162
5163         Add stdalign module and use it in other modules.
5164         This is based on a previous proposal by Bruno Haible
5165         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5166
5167         stdalign: new module
5168         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5169         * modules/stdalign: New files.
5170         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5171         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5172
5173         stdalign-tests: new module
5174         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5175
5176         argp: use stdalign
5177         * lib/argp-parse.c: Include <stdalign.h>.
5178         (alignof): Remove.
5179         * modules/argp (Depends-on): Add stdalign.
5180
5181         crypto libraries: use stdalign
5182         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5183         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5184         Do not include <stdlib.h> twice, in md4.c.
5185         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5186         because we are accessing a pointer's bit-pattern, not a size.
5187         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5188         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5189         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5190         * modules/crypto/sha512: Likewise.
5191
5192         sys_socket: use stdalign, not alignof
5193         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5194         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5195
5196 2011-10-27  Bruno Haible  <bruno@clisp.org>
5197
5198         raise test: Avoid a test failure on Linux/MIPS.
5199         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5200         because 99 is a valid signal on Linux/MIPS.
5201
5202 2011-10-27  Bruno Haible  <bruno@clisp.org>
5203
5204         nonblocking tests: Fix test failure on Linux/MIPS.
5205         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5206         Set to 270000.
5207
5208 2011-10-27  Bruno Haible  <bruno@clisp.org>
5209
5210         utimensat: Work around problem on Linux/hppa.
5211         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5212         values.
5213         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5214
5215 2011-10-25  Jim Meyering  <meyering@redhat.com>
5216
5217         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5218         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5219         after symbols like NULL, size_t, etc.
5220         Reported by Alfred M. Szmidt.
5221
5222         maint.mk: exempt ENODATA from a syntax-check rule
5223         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5224         from the sc_prohibit_always-defined_macros syntax-check rule.
5225         Add a comment.  See this for more details:
5226         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5227
5228 2011-10-23  Jim Meyering  <meyering@redhat.com>
5229
5230         fts: close parent dir FD before returning from post-traversal fts_read
5231         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5232         unlink A, even though an FD open on A remained.  This is suboptimal
5233         (holding a file descriptor open longer than needed), but otherwise not
5234         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5235         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5236         that represents a real problem: it causes the removal of A to fail
5237         with e.g., "rm: cannot remove `A': Device or resource busy"
5238
5239         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5240         directory file descriptors.  After completing the final, FTS_DP,
5241         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5242         cache, but then proceeded to add a new FD to it via the subsequent
5243         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5244         final file descriptor would be closed only via fts_close's call to
5245         fd_ring_clear.  Now, it is usually closed earlier, via the final
5246         FTS_DP-returning fts_read call.
5247         * lib/fts.c (restore_initial_cwd): New function, converted from
5248         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5249         Update callers.
5250         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5251         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5252
5253 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5254             Bruno Haible  <bruno@clisp.org>
5255             Jim Meyering  <jim@meyering.net>
5256
5257         readme-release: improve safety of release prep instructions.
5258         * README-release: Don't git pull all branches when only master
5259         is needed for the release process.
5260         Run make maintainer-clean before changing trees and merging.
5261         Don't try to run ./configure right after git pull in case files
5262         that influence the bootstrap process have changed, move the
5263         ./configure step to after running ./bootstrap.
5264         Don't bootstrap "one last time"... it's the first time!
5265
5266 2011-10-22  Bruno Haible  <bruno@clisp.org>
5267
5268         errno, strerror-override: Support for MSVC 10.
5269         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5270         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5271         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5272         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5273         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5274         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5275         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5276         Assign values compatible with MSVC 10.
5277         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5278         New macros.
5279         (GNULIB_defined_EWINSOCK): New macro.
5280         * lib/strerror-override.c (strerror_override): Update accordingly.
5281         * lib/strerror-override.h: Likewise.
5282         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5283         longer equal to the corresponding errno value.
5284         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5285
5286 2011-10-22  Bruno Haible  <bruno@clisp.org>
5287
5288         perror: Recognize when test program crashes.
5289         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5290         strerror, set gl_cv_func_perror_works to no.
5291         Reported by Daniel Richard G. <skunk@iskunk.org>.
5292
5293         perror: Fix indentation.
5294         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5295
5296 2011-10-22  Bruno Haible  <bruno@clisp.org>
5297
5298         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5299         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5300         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5301         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5302         functions, not as a macro.
5303         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5304         macros.
5305         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5306         absence of macro.
5307         Suggested by Eric Blake.
5308         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5309
5310 2011-10-21  Bruno Haible  <bruno@clisp.org>
5311
5312         relocatable-prog-wrapper: Don't leave object files behind.
5313         * build-aux/install-reloc: Re-synchronize list of .o files to be
5314         removed with list of compilation units.
5315
5316 2011-10-20  Bruno Haible  <bruno@clisp.org>
5317
5318         openpty, posix_openpt: Remove code duplication.
5319         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5320         * lib/openpty.c: Include <stdlib.h>.
5321         (openpty): Use posix_openpt on all platforms except IRIX.
5322         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5323
5324 2011-10-20  Bruno Haible  <bruno@clisp.org>
5325
5326         unlockpt: Detect invalid argument.
5327         * lib/unlockpt.c: Include <fcntl.h>.
5328         (unlockpt): Check whether fd is valid, using fcntl().
5329         * modules/unlockpt (Depends-on): Add fcntl-h.
5330
5331 2011-10-20  Bruno Haible  <bruno@clisp.org>
5332
5333         openpty: Avoid compilation error on AIX 6.1.
5334         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5335
5336 2011-10-20  Bruno Haible  <bruno@clisp.org>
5337
5338         posix_openpt: Support for OpenBSD.
5339         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5340         (posix_openpt) [OpenBSD]: New code.
5341         * lib/grantpt.c: Include <fcntl.h>.
5342         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5343         * modules/grantpt (Depends-on): Add fcntl-h.
5344
5345 2011-10-20  Bruno Haible  <bruno@clisp.org>
5346
5347         posix_openpt test: Coding style.
5348         * tests/test-posix_openpt.c: Use GNU coding style.
5349
5350 2011-10-20  Bruno Haible  <bruno@clisp.org>
5351
5352         grantpt: Support --avoid=pt_chown.
5353         * modules/grantpt (Files): Add lib/pty-private.h.
5354
5355 2011-10-20  Bruno Haible  <bruno@clisp.org>
5356
5357         posix_openpt: Fix autoconf macro.
5358         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5359         unneeded check for _getpty.
5360
5361 2011-10-20  Bruno Haible  <bruno@clisp.org>
5362
5363         openpty: Update comments.
5364         * lib/openpty.c: Add comments about Minix.
5365
5366 2011-10-19  Eric Blake  <eblake@redhat.com>
5367
5368         openpty: relax license
5369         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5370
5371         pt_chown: use configmake to simplify build
5372         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5373
5374         ptsname and others: relax license
5375         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5376         * modules/unlockpt (License): Likewise.
5377         * modules/pt_chown (License): Likewise.
5378         * modules/ptsname (License): Likewise.
5379         * modules/ttyname_r (License): Likewise.
5380
5381 2011-10-19  Jim Meyering  <meyering@redhat.com>
5382
5383         posix_openpt: remove spurious #endif
5384         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5385
5386 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5387
5388         maint.mk: Respect $(build_aux) in web-manual rule.
5389         * top/maint.mk (web-manual): Find gen-announce script in user's
5390         $(build_aux) directory instead of hard-coding 'build-aux'.
5391
5392 2011-10-19  Bruno Haible  <bruno@clisp.org>
5393
5394         posix_openpt: Fix compilation error.
5395         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5396         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5397         Mention the openpty module as an alternative.
5398
5399 2011-10-19  Bruno Haible  <bruno@clisp.org>
5400
5401         Support for old NeXTstep 3.3 frexp().
5402         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5403         execution time of the test to 5 seconds.
5404         Reported by Daniel Richard G. <skunk@iskunk.org>.
5405
5406 2011-10-19  Bruno Haible  <bruno@clisp.org>
5407
5408         Support for old NeXTstep 3.3 sed.
5409         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5410         part, use /.../, not \|...|. Escape periods in the header file name.
5411         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5412         Reported by Daniel Richard G. <skunk@iskunk.org>.
5413
5414 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5415
5416         Support for old NeXTstep 3.3 gcc.
5417         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5418         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5419         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5420         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5421         * lib/regex.h (_Restrict_arr_): Likewise.
5422         * lib/regex_internal.h (re_token_t): Likewise.
5423         * lib/regexec.c (check_node_accept_bytes): Likewise.
5424         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5425
5426 2011-10-18  Eric Blake  <eblake@redhat.com>
5427
5428         posix_openpt: new module
5429         * modules/posix_openpt: New module.
5430         * m4/posix_openpt.m4: New file.
5431         * lib/posix_openpt.c: Likewise.
5432         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5433         (gl_STDLIB_H_DEFAULTS): Set defaults.
5434         * modules/stdlib (Makefile.am): Substitute macros.
5435         * lib/stdlib.in.h (posix_openpt): Declare.
5436         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5437         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5438         * modules/posix_openpt-tests: New test module.
5439         * tests/test-posix_openpt.c: New test.
5440
5441 2011-10-15  Bruno Haible  <bruno@clisp.org>
5442
5443         xstrtoll: Fix compilation failure.
5444         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5445         from lib/strtol.c.
5446         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5447         some platforms.
5448         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5449
5450 2011-10-15  Bruno Haible  <bruno@clisp.org>
5451
5452         vasnprintf: Optimize bit search operation.
5453         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5454         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5455         gl_DOUBLE_EXPONENT_LOCATION.
5456         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5457         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5458         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5459         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5460         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5461         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5462         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5463         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5464         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5465
5466 2011-10-15  Bruno Haible  <bruno@clisp.org>
5467
5468         vasnprintf: Fix comments.
5469         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5470
5471 2011-10-14  Bruno Haible  <bruno@clisp.org>
5472
5473         Tests for module 'integer_length_ll'.
5474         * modules/integer_length_ll-tests: New file.
5475         * tests/test-integer_length_ll.c: New file.
5476
5477         New module 'integer_length_ll'.
5478         * lib/integer_length_ll.c: New file.
5479         * modules/integer_length_ll: New file.
5480
5481 2011-10-14  Bruno Haible  <bruno@clisp.org>
5482
5483         Tests for module 'integer_length_l'.
5484         * modules/integer_length_l-tests: New file.
5485         * tests/test-integer_length_l.c: New file.
5486
5487         New module 'integer_length_l'.
5488         * lib/integer_length_l.c: New file.
5489         * modules/integer_length_l: New file.
5490
5491 2011-10-14  Bruno Haible  <bruno@clisp.org>
5492
5493         Tests for module 'integer_length'.
5494         * modules/integer_length-tests: New file.
5495         * tests/test-integer_length.c: New file.
5496
5497         New module 'integer_length'.
5498         * lib/integer_length.h: New file.
5499         * lib/integer_length.c: New file.
5500         * modules/integer_length: New file.
5501
5502 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5503
5504         popen: Fix dependency conditions.
5505         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5506
5507 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5508
5509         perror: Fix autoconf test.
5510         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5511         <stdlib.h> and <string.h>.
5512
5513 2011-10-14  Bruno Haible  <bruno@clisp.org>
5514
5515         ffsl: Optimize on 64-bit platforms.
5516         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5517         unrolling.
5518
5519 2011-10-13  Bruno Haible  <bruno@clisp.org>
5520
5521         ffsl: Optimize on 32-bit platforms.
5522         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5523         use ffs() without a loop.
5524
5525         ffsl, ffsll: Optimize for GCC.
5526         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5527         * lib/ffsl.c (GCC_BUILTIN): New macro.
5528         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5529
5530 2011-10-13  Bruno Haible  <bruno@clisp.org>
5531
5532         ffs, bcopy, memset: Support symbol renaming via config.h.
5533         * lib/ffs.c: Include <config.h>.
5534         * lib/bcopy.c: Likewise.
5535         * lib/memset.c: Likewise.
5536
5537 2011-10-10  Bruno Haible  <bruno@clisp.org>
5538
5539         atanl: Simplify for platforms where 'long double' == 'double'.
5540         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5541         alternative implementation.
5542         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5543         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5544         * modules/atanl (Depends-on): Add atan. Update conditions.
5545
5546 2011-10-10  Bruno Haible  <bruno@clisp.org>
5547
5548         acosl: Simplify for platforms where 'long double' == 'double'.
5549         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5550         alternative implementation.
5551         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5552         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5553         * modules/acosl (Depends-on): Add acos. Update conditions.
5554
5555 2011-10-10  Bruno Haible  <bruno@clisp.org>
5556
5557         asinl: Simplify for platforms where 'long double' == 'double'.
5558         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5559         alternative implementation.
5560         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5561         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5562         * modules/asinl (Depends-on): Add asin. Update conditions.
5563
5564 2011-10-10  Bruno Haible  <bruno@clisp.org>
5565
5566         tanl: Simplify for platforms where 'long double' == 'double'.
5567         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5568         implementation.
5569         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5570         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5571         * modules/tanl (Depends-on): Add tan. Update conditions.
5572         (configure.ac): Don't compile trigl.c if
5573         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5574
5575 2011-10-10  Bruno Haible  <bruno@clisp.org>
5576
5577         cosl: Simplify for platforms where 'long double' == 'double'.
5578         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5579         implementation.
5580         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5581         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5582         * modules/cosl (Depends-on): Add cos. Update conditions.
5583         (configure.ac): Don't compile sincosl.c and trigl.c if
5584         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5585
5586 2011-10-10  Bruno Haible  <bruno@clisp.org>
5587
5588         sinl: Simplify for platforms where 'long double' == 'double'.
5589         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5590         implementation.
5591         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5592         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5593         * modules/sinl (Depends-on): Add sin. Update conditions.
5594         (configure.ac): Don't compile sincosl.c and trigl.c if
5595         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5596
5597 2011-10-10  Bruno Haible  <bruno@clisp.org>
5598
5599         logl: Simplify for platforms where 'long double' == 'double'.
5600         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5601         implementation.
5602         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5603         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5604         * modules/logl (Depends-on): Add log. Update conditions.
5605
5606 2011-10-10  Bruno Haible  <bruno@clisp.org>
5607
5608         expl: Simplify for platforms where 'long double' == 'double'.
5609         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5610         implementation.
5611         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5612         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5613         * modules/expl (Depends-on): Add exp. Update conditions.
5614
5615 2011-10-10  Bruno Haible  <bruno@clisp.org>
5616
5617         sqrtl: Simplify for platforms where 'long double' == 'double'.
5618         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5619         alternative implementation.
5620         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5621         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5622         * modules/sqrtl (Depends-on): Update conditions.
5623
5624 2011-10-10  Bruno Haible  <bruno@clisp.org>
5625
5626         ldexpl: Simplify for platforms where 'long double' == 'double'.
5627         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5628         alternative implementation.
5629         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5630         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5631         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5632
5633 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5634
5635         ffsll: set correct witness
5636         * modules/ffsll (configure.ac): Fix typo.
5637
5638 2011-10-10  Bruno Haible  <bruno@clisp.org>
5639
5640         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5641         * lib/printf-frexpl.c: Include <config.h>.
5642         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5643         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5644         second time.
5645         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5646         gl_LONG_DOUBLE_VS_DOUBLE.
5647         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5648         conditions.
5649
5650 2011-10-10  Bruno Haible  <bruno@clisp.org>
5651
5652         frexpl: Simplify for platforms where 'long double' == 'double'.
5653         * lib/frexpl.c: Include <config.h>.
5654         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5655         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5656         time.
5657         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5658         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5659         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5660         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5661         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5662         conditions.
5663
5664 2011-10-10  Jim Meyering  <meyering@redhat.com>
5665
5666         test-renameat: don't leave behind a temporary file
5667         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5668           ERROR: files left in build directory after distclean:
5669           ./gltests/test-renameat.too
5670           make[1]: *** [distcleancheck] Error 1
5671         Reported by Tom G. Christensen.
5672
5673 2011-10-09  Bruno Haible  <bruno@clisp.org>
5674
5675         rint: Determine RINT_LIBM correctly on AIX 7.
5676         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5677         directly, not only through a function pointer. Also accept an optional
5678         4th argument with extra code.
5679         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5680         rintf() call by gcc when optimizing.
5681
5682         mathfunc.m4: Refactor.
5683         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5684         m4 variable.
5685
5686 2011-10-09  Bruno Haible  <bruno@clisp.org>
5687
5688         rintl: Simplify for platforms where 'long double' == 'double'.
5689         * lib/rintl.c: Include <config.h>.
5690         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5691         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5692         time.
5693         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5694         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5695         * modules/rintl (Depends-on): Add rint. Update conditions.
5696
5697 2011-10-09  Bruno Haible  <bruno@clisp.org>
5698
5699         roundl: Simplify for platforms where 'long double' == 'double'.
5700         * lib/roundl.c: Include <config.h>.
5701         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5702         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5703         time.
5704         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5705         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5706         * modules/roundl (Depends-on): Add round. Update conditions.
5707
5708 2011-10-09  Bruno Haible  <bruno@clisp.org>
5709
5710         truncl: Simplify for platforms where 'long double' == 'double'.
5711         * lib/truncl.c: Include <config.h>.
5712         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5713         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5714         time.
5715         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5716         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5717         * modules/truncl (Depends-on): Add trunc. Update conditions.
5718
5719 2011-10-09  Bruno Haible  <bruno@clisp.org>
5720
5721         ceill: Simplify for platforms where 'long double' == 'double'.
5722         * lib/ceill.c: Include <config.h>.
5723         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5724         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5725         time.
5726         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5727         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5728         * modules/ceill (Depends-on): Add ceil. Update conditions.
5729
5730 2011-10-09  Bruno Haible  <bruno@clisp.org>
5731
5732         floorl: Simplify for platforms where 'long double' == 'double'.
5733         * lib/floorl.c: Include <config.h>.
5734         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5735         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5736         time.
5737         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5738         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5739         * modules/floorl (Depends-on): Add floor. Update conditions.
5740
5741 2011-10-09  Bruno Haible  <bruno@clisp.org>
5742
5743         rint: Fix ordering constraints.
5744         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5745         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5746         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5747
5748 2011-10-09  Bruno Haible  <bruno@clisp.org>
5749
5750         copysignl: Simplify for platforms where 'long double' == 'double'.
5751         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5752         alternative.
5753         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5754         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5755         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5756
5757 2011-10-09  Bruno Haible  <bruno@clisp.org>
5758
5759         Tests for module 'rintl'.
5760         * modules/rintl-tests: New file.
5761         * tests/test-rintl.c: New file.
5762
5763         New module 'rintl'.
5764         * lib/math.in.h (rintl): New declaration.
5765         * lib/rintl.c: New file.
5766         * m4/rintl.m4: New file.
5767         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5768         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5769         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5770         * modules/rintl: New file.
5771         * tests/test-math-c++.cc: Check the declaration of rintl.
5772         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5773         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5774         * doc/posix-functions/rintl.texi: Mention the new module.
5775
5776 2011-10-09  Bruno Haible  <bruno@clisp.org>
5777
5778         Tests for module 'rintf'.
5779         * modules/rintf-tests: New file.
5780         * tests/test-rintf.c: New file.
5781
5782         New module 'rintf'.
5783         * lib/math.in.h (rintf): New declaration.
5784         * lib/rintf.c: New file.
5785         * m4/rintf.m4: New file.
5786         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5787         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5788         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5789         * modules/rintf: New file.
5790         * tests/test-math-c++.cc: Check the declaration of rintf.
5791         * doc/posix-functions/rintf.texi: Mention the new module.
5792
5793 2011-10-09  Bruno Haible  <bruno@clisp.org>
5794
5795         rint: Support for MSVC.
5796         * lib/math.in.h (rint): New declaration.
5797         * lib/rint.c: New file.
5798         * m4/rint.m4: New file.
5799         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
5800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
5801         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
5802         * modules/rint (Description): Fix.
5803         (Files): Add lib/rint.c, m4/rint.m4.
5804         (Depends-on): Add math.
5805         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
5806         gl_MATH_MODULE_INDICATOR.
5807         * tests/test-math-c++.cc: Check the declaration of rint.
5808         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5809         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
5810         * doc/posix-functions/rint.texi: Mention the replacement provided by
5811         the module.
5812
5813         rint tests: More tests.
5814         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5815         minus-zero.h, infinity.h, nan.h.
5816         (main): Skip the test if the current rounding mode is not standard. Add
5817         tests for negative numbers, minus zero, infinity, NaN.
5818         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5819         tests/nan.h.
5820         (Depends-on): Add isnand-nolibm.
5821
5822 2011-10-09  Bruno Haible  <bruno@clisp.org>
5823
5824         Tests for module 'copysignl'.
5825         * modules/copysignl-tests: New file.
5826         * tests/test-copysignl.c: New file.
5827
5828         New module 'copysignl'.
5829         * lib/math.in.h (copysignl): New declaration.
5830         * lib/copysignl.c: New file.
5831         * m4/copysignl.m4: New file.
5832         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5833         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5834         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5835         HAVE_COPYSIGNL.
5836         * modules/copysignl: New file.
5837         * tests/test-math-c++.cc: Check the declaration of copysignl.
5838         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5839         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5840         * doc/posix-functions/copysignl.texi: Mention the new module.
5841
5842 2011-10-09  Bruno Haible  <bruno@clisp.org>
5843
5844         Tests for module 'copysignf'.
5845         * modules/copysignf-tests: New file.
5846         * tests/test-copysignf.c: New file.
5847
5848         New module 'copysignf'.
5849         * lib/math.in.h (copysignf): New declaration.
5850         * lib/copysignf.c: New file.
5851         * m4/copysignf.m4: New file.
5852         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5854         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5855         HAVE_COPYSIGNF.
5856         * modules/copysignf: New file.
5857         * tests/test-math-c++.cc: Check the declaration of copysignf.
5858         * doc/posix-functions/copysignf.texi: Mention the new module.
5859
5860 2011-10-09  Bruno Haible  <bruno@clisp.org>
5861
5862         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5863         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5864         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5865         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5866         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5867         gl_SIGNAL_H_DEFAULTS.
5868
5869 2011-10-09  Bruno Haible  <bruno@clisp.org>
5870
5871         poll: Make macro safer.
5872         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5873         ac_cv_header_poll_h is not set.
5874
5875 2011-10-09  Bruno Haible  <bruno@clisp.org>
5876
5877         copysign: Provide replacement.
5878         * lib/math.in.h (copysign): New declaration.
5879         * lib/copysign.c: New file.
5880         * m4/copysign.m4: New file.
5881         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5882         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5883         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5884         HAVE_COPYSIGN.
5885         * modules/copysign (Description): Clarify.
5886         (Files): Add lib/copysign.c, m4/copysign.m4.
5887         (Depends-on): Add math, signbit.
5888         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5889         gl_MATH_MODULE_INDICATOR.
5890         * tests/test-math-c++.cc: Check the declaration of copysign.
5891         * doc/posix-functions/copysign.texi: Mention the effects of the module
5892         on Minix and MSVC.
5893
5894 2011-10-09  Bruno Haible  <bruno@clisp.org>
5895
5896         isinf: Ensure macro on AIX 5.1.
5897         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5898         macro.
5899         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5900
5901 2011-10-09  Bruno Haible  <bruno@clisp.org>
5902
5903         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5904         * modules/snprintf-posix-tests (configure.ac): Require
5905         gl_LONG_DOUBLE_VS_DOUBLE.
5906         * modules/sprintf-posix-tests (configure.ac): Likewise.
5907         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5908         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5909         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5910         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5911         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5912         tests on platforms where 'long double' is the same as 'double'.
5913         * tests/test-sprintf-posix.h (test_function): Likewise.
5914         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5915         * tests/test-vasprintf-posix.c (test_function): Likewise.
5916
5917         *printf: Fix for platforms where 'long double' == 'double'.
5918         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
5919         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
5920         * modules/dprintf-posix (Files): Add m4/math_h.m4.
5921         * modules/fprintf-posix (Files): Likewise.
5922         * modules/obstack-printf-posix (Files): Likewise.
5923         * modules/snprintf-posix (Files): Likewise.
5924         * modules/sprintf-posix (Files): Likewise.
5925         * modules/vasnprintf (Files): Likewise.
5926         * modules/vasnprintf-posix (Files): Likewise.
5927         * modules/vasprintf-posix (Files): Likewise.
5928         * modules/vdprintf-posix (Files): Likewise.
5929         * modules/vfprintf-posix (Files): Likewise.
5930         * modules/vsnprintf-posix (Files): Likewise.
5931         * modules/vsprintf-posix (Files): Likewise.
5932         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5933         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5934         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5935         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5936         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5937         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5938         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5939
5940         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
5941         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
5942         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5943         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
5944         'long double'.
5945         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
5946
5947         isinf: Fix for platforms where 'long double' == 'double'.
5948         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5949         Don't blindly assume 80-bit 'long double'.
5950
5951         isfinite: Fix for platforms where 'long double' == 'double'.
5952         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5953         Don't blindly assume 80-bit 'long double'.
5954
5955         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
5956         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
5957         * modules/isfinite-tests (configure.ac): Require
5958         gl_LONG_DOUBLE_VS_DOUBLE.
5959         * modules/isinf-tests (configure.ac): Likewise.
5960         * modules/isnan-tests (configure.ac): Likewise.
5961         * modules/isnanl-tests (configure.ac): Likewise.
5962         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
5963         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
5964         tests on platforms where 'long double' is the same as 'double'.
5965         * tests/test-isinf.c (test_isinfl): Likewise.
5966         * tests/test-isnan.c (test_long_double): Likewise.
5967         * tests/test-isnanl.h (main): Likewise.
5968
5969 2011-10-08  Bruno Haible  <bruno@clisp.org>
5970
5971         Tests for module 'tanhf'.
5972         * modules/tanhf-tests: New file.
5973         * tests/test-tanhf.c: New file.
5974
5975         New module 'tanhf'.
5976         * lib/math.in.h (tanhf): New declaration.
5977         * lib/tanhf.c: New file.
5978         * m4/tanhf.m4: New file.
5979         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
5980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
5981         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
5982         * modules/tanhf: New file.
5983         * tests/test-math-c++.cc: Check the declaration of tanhf.
5984         * doc/posix-functions/tanhf.texi: Mention the new module.
5985
5986         tanh: Use a .m4 file.
5987         * m4/tanh.m4: New file.
5988         * modules/tanh (Files): Add it.
5989         (configure.ac): Just invoke gl_FUNC_TANH.
5990
5991 2011-10-08  Bruno Haible  <bruno@clisp.org>
5992
5993         Tests for module 'coshf'.
5994         * modules/coshf-tests: New file.
5995         * tests/test-coshf.c: New file.
5996
5997         New module 'coshf'.
5998         * lib/math.in.h (coshf): New declaration.
5999         * lib/coshf.c: New file.
6000         * m4/coshf.m4: New file.
6001         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6002         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6003         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6004         * modules/coshf: New file.
6005         * tests/test-math-c++.cc: Check the declaration of coshf.
6006         * doc/posix-functions/coshf.texi: Mention the new module.
6007
6008         cosh: Use a .m4 file.
6009         * m4/cosh.m4: New file.
6010         * modules/cosh (Files): Add it.
6011         (configure.ac): Just invoke gl_FUNC_COSH.
6012
6013 2011-10-08  Bruno Haible  <bruno@clisp.org>
6014
6015         Tests for module 'sinhf'.
6016         * modules/sinhf-tests: New file.
6017         * tests/test-sinhf.c: New file.
6018
6019         New module 'sinhf'.
6020         * lib/math.in.h (sinhf): New declaration.
6021         * lib/sinhf.c: New file.
6022         * m4/sinhf.m4: New file.
6023         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6024         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6025         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6026         * modules/sinhf: New file.
6027         * tests/test-math-c++.cc: Check the declaration of sinhf.
6028         * doc/posix-functions/sinhf.texi: Mention the new module.
6029
6030         sinh: Use a .m4 file.
6031         * m4/sinh.m4: New file.
6032         * modules/sinh (Files): Add it.
6033         (configure.ac): Just invoke gl_FUNC_SINH.
6034
6035 2011-10-08  Bruno Haible  <bruno@clisp.org>
6036
6037         Tests for module 'atan2f'.
6038         * modules/atan2f-tests: New file.
6039         * tests/test-atan2f.c: New file.
6040
6041         New module 'atan2f'.
6042         * lib/math.in.h (atan2f): New declaration.
6043         * lib/atan2f.c: New file.
6044         * m4/atan2f.m4: New file.
6045         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6046         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6047         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6048         * modules/atan2f: New file.
6049         * tests/test-math-c++.cc: Check the declaration of atan2f.
6050         * doc/posix-functions/atan2f.texi: Mention the new module.
6051
6052         atan2: Use a .m4 file.
6053         * m4/atan2.m4: New file.
6054         * modules/atan2 (Files): Add it.
6055         (configure.ac): Just invoke gl_FUNC_ATAN2.
6056
6057 2011-10-08  Bruno Haible  <bruno@clisp.org>
6058
6059         Tests for module 'atanf'.
6060         * modules/atanf-tests: New file.
6061         * tests/test-atanf.c: New file.
6062
6063         New module 'atanf'.
6064         * lib/math.in.h (atanf): New declaration.
6065         * lib/atanf.c: New file.
6066         * m4/atanf.m4: New file.
6067         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6068         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6069         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6070         * modules/atanf: New file.
6071         * tests/test-math-c++.cc: Check the declaration of atanf.
6072         * doc/posix-functions/atanf.texi: Mention the new module.
6073
6074         atan: Use a .m4 file.
6075         * m4/atan.m4: New file.
6076         * modules/atan (Files): Add it.
6077         (configure.ac): Just invoke gl_FUNC_ATAN.
6078
6079 2011-10-08  Bruno Haible  <bruno@clisp.org>
6080
6081         Tests for module 'acosf'.
6082         * modules/acosf-tests: New file.
6083         * tests/test-acosf.c: New file.
6084
6085         New module 'acosf'.
6086         * lib/math.in.h (acosf): New declaration.
6087         * lib/acosf.c: New file.
6088         * m4/acosf.m4: New file.
6089         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6090         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6091         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6092         * modules/acosf: New file.
6093         * tests/test-math-c++.cc: Check the declaration of acosf.
6094         * doc/posix-functions/acosf.texi: Mention the new module.
6095
6096         acos: Use a .m4 file.
6097         * m4/acos.m4: New file.
6098         * modules/acos (Files): Add it.
6099         (configure.ac): Just invoke gl_FUNC_ACOS.
6100
6101 2011-10-08  Bruno Haible  <bruno@clisp.org>
6102
6103         Tests for module 'asinf'.
6104         * modules/asinf-tests: New file.
6105         * tests/test-asinf.c: New file.
6106
6107         New module 'asinf'.
6108         * lib/math.in.h (asinf): New declaration.
6109         * lib/asinf.c: New file.
6110         * m4/asinf.m4: New file.
6111         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6112         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6113         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6114         * modules/asinf: New file.
6115         * tests/test-math-c++.cc: Check the declaration of asinf.
6116         * doc/posix-functions/asinf.texi: Mention the new module.
6117
6118         asin: Use a .m4 file.
6119         * m4/asin.m4: New file.
6120         * modules/asin (Files): Add it.
6121         (configure.ac): Just invoke gl_FUNC_ASIN.
6122
6123 2011-10-08  Bruno Haible  <bruno@clisp.org>
6124
6125         Tests for module 'tanf'.
6126         * modules/tanf-tests: New file.
6127         * tests/test-tanf.c: New file.
6128
6129         New module 'tanf'.
6130         * lib/math.in.h (tanf): New declaration.
6131         * lib/tanf.c: New file.
6132         * m4/tanf.m4: New file.
6133         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6135         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6136         * modules/tanf: New file.
6137         * tests/test-math-c++.cc: Check the declaration of tanf.
6138         * doc/posix-functions/tanf.texi: Mention the new module.
6139
6140         tan: Use a .m4 file.
6141         * m4/tan.m4: New file.
6142         * modules/tan (Files): Add it.
6143         (configure.ac): Just invoke gl_FUNC_TAN.
6144
6145 2011-10-08  Bruno Haible  <bruno@clisp.org>
6146
6147         Tests for module 'cosf'.
6148         * modules/cosf-tests: New file.
6149         * tests/test-cosf.c: New file.
6150
6151         New module 'cosf'.
6152         * lib/math.in.h (cosf): New declaration.
6153         * lib/cosf.c: New file.
6154         * m4/cosf.m4: New file.
6155         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6157         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6158         * modules/cosf: New file.
6159         * tests/test-math-c++.cc: Check the declaration of cosf.
6160         * doc/posix-functions/cosf.texi: Mention the new module.
6161
6162         cos: Use a .m4 file.
6163         * m4/cos.m4: New file.
6164         * modules/cos (Files): Add it.
6165         (configure.ac): Just invoke gl_FUNC_COS.
6166
6167 2011-10-08  Bruno Haible  <bruno@clisp.org>
6168
6169         Tests for module 'sinf'.
6170         * modules/sinf-tests: New file.
6171         * tests/test-sinf.c: New file.
6172
6173         New module 'sinf'.
6174         * lib/math.in.h (sinf): New declaration.
6175         * lib/sinf.c: New file.
6176         * m4/sinf.m4: New file.
6177         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6178         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6179         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6180         * modules/sinf: New file.
6181         * tests/test-math-c++.cc: Check the declaration of sinf.
6182         * doc/posix-functions/sinf.texi: Mention the new module.
6183
6184         sin: Use a .m4 file.
6185         * m4/sin.m4: New file.
6186         * modules/sin (Files): Add it.
6187         (configure.ac): Just invoke gl_FUNC_SIN.
6188
6189 2011-10-08  Bruno Haible  <bruno@clisp.org>
6190
6191         Tests for module 'powf'.
6192         * modules/powf-tests: New file.
6193         * tests/test-powf.c: New file.
6194
6195         New module 'powf'.
6196         * lib/math.in.h (powf): New declaration.
6197         * lib/powf.c: New file.
6198         * m4/powf.m4: New file.
6199         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6200         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6201         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6202         * modules/powf: New file.
6203         * tests/test-math-c++.cc: Check the declaration of powf.
6204         * doc/posix-functions/powf.texi: Mention the new module.
6205
6206         pow: Use a .m4 file.
6207         * m4/pow.m4: New file.
6208         * modules/pow (Files): Add it.
6209         (configure.ac): Just invoke gl_FUNC_POW.
6210
6211 2011-10-08  Bruno Haible  <bruno@clisp.org>
6212
6213         Tests for module 'log10f'.
6214         * modules/log10f-tests: New file.
6215         * tests/test-log10f.c: New file.
6216
6217         New module 'log10f'.
6218         * lib/math.in.h (log10f): New declaration.
6219         * lib/log10f.c: New file.
6220         * m4/log10f.m4: New file.
6221         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6223         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6224         * modules/log10f: New file.
6225         * tests/test-math-c++.cc: Check the declaration of log10f.
6226         * doc/posix-functions/log10f.texi: Mention the new module.
6227
6228         log10: Use a .m4 file.
6229         * m4/log10.m4: New file.
6230         * modules/log10 (Files): Add it.
6231         (configure.ac): Just invoke gl_FUNC_LOG10.
6232
6233 2011-10-08  Bruno Haible  <bruno@clisp.org>
6234
6235         Tests for module 'logf'.
6236         * modules/logf-tests: New file.
6237         * tests/test-logf.c: New file.
6238
6239         New module 'logf'.
6240         * lib/math.in.h (logf): New declaration.
6241         * lib/logf.c: New file.
6242         * m4/logf.m4: New file.
6243         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6244         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6245         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6246         * modules/logf: New file.
6247         * tests/test-math-c++.cc: Check the declaration of logf.
6248         * doc/posix-functions/logf.texi: Mention the new module.
6249
6250         log: Use a .m4 file.
6251         * m4/log.m4: New file.
6252         * modules/log (Files): Add it.
6253         (configure.ac): Just invoke gl_FUNC_LOG.
6254
6255 2011-10-08  Bruno Haible  <bruno@clisp.org>
6256
6257         Tests for module 'expf'.
6258         * modules/expf-tests: New file.
6259         * tests/test-expf.c: New file.
6260
6261         New module 'expf'.
6262         * lib/math.in.h (expf): New declaration.
6263         * lib/expf.c: New file.
6264         * m4/expf.m4: New file.
6265         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6266         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6267         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6268         * modules/expf: New file.
6269         * tests/test-math-c++.cc: Check the declaration of expf.
6270         * doc/posix-functions/expf.texi: Mention the new module.
6271
6272         exp: Use a .m4 file.
6273         * m4/exp.m4: New file.
6274         * modules/exp (Files): Add it.
6275         (configure.ac): Just invoke gl_FUNC_EXP.
6276
6277 2011-10-08  Bruno Haible  <bruno@clisp.org>
6278
6279         Tests for module 'sqrtf'.
6280         * modules/sqrtf-tests: New file.
6281         * tests/test-sqrtf.c: New file.
6282
6283         New module 'sqrtf'.
6284         * lib/math.in.h (sqrtf): New declaration.
6285         * lib/sqrtf.c: New file.
6286         * m4/sqrtf.m4: New file.
6287         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6288         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6289         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6290         * modules/sqrtf: New file.
6291         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6292         * doc/posix-functions/sqrtf.texi: Mention the new module.
6293
6294 2011-10-08  Bruno Haible  <bruno@clisp.org>
6295
6296         Tests: Avoid link failures w.r.t. libintl.
6297         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6298         $(LIBINTL).
6299         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6300         $(LIBINTL).
6301         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6302         against $(LIBINTL).
6303         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6304         $(LIBINTL).
6305         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6306         $(LIBINTL).
6307         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6308
6309 2011-10-08  Bruno Haible  <bruno@clisp.org>
6310
6311         pow tests: Defeat compiler optimizations.
6312         * tests/test-pow.c (main): Assign arguments to x and y before use.
6313
6314 2011-10-08  Bruno Haible  <bruno@clisp.org>
6315
6316         gnulib-tool: Improve last commit.
6317         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6318         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6319         ignore dependencies that are not among the modules list.
6320
6321 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6322
6323         gnulib-tool: don't follow dependencies to avoided modules
6324         This fixes a bug that is related to the previous one.
6325         * gnulib-tool (func_modules_transitive_closure)
6326         (func_emit_autoconf_snippets):
6327         Check whether a dependency is acceptable before using it.
6328         (--extract-dependencies): Report an error if --avoid is also used,
6329         since this combination of options is not yet supported.
6330
6331         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6332         Problem reported by Peter Dyballa in
6333         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6334         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6335         when echoing "$condition".
6336
6337 2011-10-07  Bruno Haible  <bruno@clisp.org>
6338
6339         Fix documentation about math functions on MacOS X.
6340         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6341         MacOS X 10.5.
6342         * doc/posix-functions/fdim.texi: Likewise.
6343         * doc/posix-functions/feclearexcept.texi: Likewise.
6344         * doc/posix-functions/fegetenv.texi: Likewise.
6345         * doc/posix-functions/fegetround.texi: Likewise.
6346         * doc/posix-functions/feholdexcept.texi: Likewise.
6347         * doc/posix-functions/feraiseexcept.texi: Likewise.
6348         * doc/posix-functions/fesetenv.texi: Likewise.
6349         * doc/posix-functions/fesetround.texi: Likewise.
6350         * doc/posix-functions/fetestexcept.texi: Likewise.
6351         * doc/posix-functions/feupdateenv.texi: Likewise.
6352         * doc/posix-functions/fmax.texi: Likewise.
6353         * doc/posix-functions/fmin.texi: Likewise.
6354         * doc/posix-functions/log2.texi: Likewise.
6355         * doc/posix-functions/modff.texi: Likewise.
6356         * doc/posix-functions/nan.texi: Likewise.
6357         * doc/posix-functions/nanf.texi: Likewise.
6358         * doc/posix-functions/nextafterf.texi: Likewise.
6359         * doc/posix-functions/remquo.texi: Likewise.
6360
6361 2011-10-07  Bruno Haible  <bruno@clisp.org>
6362
6363         modff: Drop assumption about library that defines modff.
6364         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6365         AC_CHECK_FUNCS.
6366         * modules/modff (Files): Add m4/mathfunc.m4.
6367
6368 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6369
6370         raise tests: Avoid a GCC warning.
6371         * tests/test-raise.c (handler): Use _Noreturn.
6372
6373 2011-10-07  Bruno Haible  <bruno@clisp.org>
6374
6375         Tests for module 'ldexpf'.
6376         * modules/ldexpf-tests: New file.
6377         * tests/test-ldexpf.c: New file.
6378
6379         New module 'ldexpf'.
6380         * lib/math.in.h (ldexpf): New declaration.
6381         * lib/ldexpf.c: New file.
6382         * m4/ldexpf.m4: New file.
6383         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6384         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6385         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6386         * modules/ldexpf: New file.
6387         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6388         * doc/posix-functions/ldexpf.texi: Mention the new module.
6389
6390 2011-10-06  Bruno Haible  <bruno@clisp.org>
6391
6392         frexpf: Work around problems on IRIX and mingw.
6393         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6395         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6396         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6397         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6398         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6399         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6400
6401 2011-10-06  Bruno Haible  <bruno@clisp.org>
6402
6403         fabsf: Drop assumption about library that defines fabsf.
6404         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6405         AC_CHECK_FUNCS.
6406         * modules/fabsf (Files): Add m4/mathfunc.m4.
6407
6408 2011-10-06  Bruno Haible  <bruno@clisp.org>
6409
6410         frexpf: Drop assumption about library that defines frexpf.
6411         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6412         'int *', 'float *', 'long double *', 'float', 'long double'.
6413         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6414         AC_CHECK_FUNCS.
6415         * modules/frexpf (Files): Add m4/mathfunc.m4.
6416
6417         Tests for module 'frexpf'.
6418         * modules/frexpf-tests: New file.
6419         * tests/test-frexpf.c: New file.
6420
6421         New module 'frexpf'.
6422         * lib/math.in.h (frexpf): New declaration.
6423         * lib/frexpf.c: New file.
6424         * m4/frexpf.m4: New file.
6425         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6427         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6428         * modules/frexpf: New file.
6429         * tests/test-math-c++.cc: Check the declaration of frexpf.
6430         * doc/posix-functions/frexpf.texi: Mention the new module.
6431
6432 2011-10-06  Bruno Haible  <bruno@clisp.org>
6433
6434         math: Sort function declarations of math.in.h.
6435         * lib/math.in.h (frexp, logb): Move declarations.
6436
6437 2011-10-05  Bruno Haible  <bruno@clisp.org>
6438
6439         Tests for module 'modff'.
6440         * modules/modff-tests: New file.
6441         * tests/test-modff.c: New file.
6442
6443         New module 'modff'.
6444         * lib/math.in.h (modff): New declaration.
6445         * lib/modff.c: New file.
6446         * m4/modff.m4: New file.
6447         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6449         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6450         * modules/modff: New file.
6451         * tests/test-math-c++.cc: Check the declaration of modff.
6452         * doc/posix-functions/modff.texi: Mention the new module.
6453
6454         modf tests: Make test sharper.
6455         * tests/test-modf.c (main): Strengthen upper bound.
6456
6457         modf: Use a .m4 file.
6458         * m4/modf.m4: New file.
6459         * modules/modf (Files): Add it.
6460         (configure.ac): Just invoke gl_FUNC_MODF.
6461
6462 2011-10-05  Bruno Haible  <bruno@clisp.org>
6463
6464         Tests for module 'fmodf'.
6465         * modules/fmodf-tests: New file.
6466         * tests/test-fmodf.c: New file.
6467
6468         New module 'fmodf'.
6469         * lib/math.in.h (fmodf): New declaration.
6470         * lib/fmodf.c: New file.
6471         * m4/fmodf.m4: New file.
6472         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6473         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6474         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6475         * modules/fmodf: New file.
6476         * tests/test-math-c++.cc: Check the declaration of fmodf.
6477         * doc/posix-functions/fmodf.texi: Mention the new module.
6478
6479         fmod: Use a .m4 file.
6480         * m4/fmod.m4: New file.
6481         * modules/fmod (Files): Add it.
6482         (configure.ac): Just invoke gl_FUNC_FMOD.
6483
6484 2011-10-05  Bruno Haible  <bruno@clisp.org>
6485
6486         Tests for module 'fabsf'.
6487         * modules/fabsf-tests: New file.
6488         * tests/test-fabsf.c: New file.
6489
6490         New module 'fabsf'.
6491         * lib/math.in.h (fabsf): New declaration.
6492         * lib/fabsf.c: New file.
6493         * m4/fabsf.m4: New file.
6494         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6495         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6496         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6497         * modules/fabsf: New file.
6498         * tests/test-math-c++.cc: Check the declaration of fabsf.
6499         * doc/posix-functions/fabsf.texi: Mention the new module.
6500
6501         fabs: Use a .m4 file.
6502         * m4/fabs.m4: New file.
6503         * modules/fabs (Files): Add it.
6504         (configure.ac): Just invoke gl_FUNC_FABS.
6505
6506 2011-10-05  Jim Meyering  <meyering@redhat.com>
6507
6508         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6509         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6510         ls -lL regression introduced in coreutils-8.12, it does so at the
6511         cost of an additional stat call in the common case.  Besides, now
6512         that the kernel change that prompted commit 95f7c57f has been reverted
6513         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6514         we have no use for commit 95f7c57f, "file-has-acl: use
6515         acl_extended_file_nofollow if available".
6516
6517 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6518
6519         file-has-acl: revert unintended change in behavior of ls -L
6520         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6521         derived from...
6522         (file_has_acl): ...code here.  Call it.
6523         This problem was introduced with 2011-07-22 commit 95f7c57f,
6524         "file-has-acl: use acl_extended_file_nofollow if available".
6525         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6526
6527 2011-10-03  Bruno Haible  <bruno@clisp.org>
6528
6529         poll: Avoid link errors on MSVC.
6530         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6531         * modules/poll (Depends-on): Add sockets.
6532         (Link): New section.
6533         * NEWS: Mention the change.
6534         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6535         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6536         $(LIB_POLL) instead of $(LIBSOCKET).
6537
6538 2011-10-03  Bruno Haible  <bruno@clisp.org>
6539
6540         sys_select tests: Fix link error on MSVC 9.
6541         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6542         with $(LIB_SELECT) instead of $(LIBSOCKET).
6543
6544 2011-10-03  Bruno Haible  <bruno@clisp.org>
6545
6546         sys_select: Fix compilation error on mingw.
6547         * lib/sys_select.in.h: On native Windows, include <io.h>.
6548
6549 2011-10-03  Bruno Haible  <bruno@clisp.org>
6550
6551         wmemset: Support for MSVC.
6552         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6553         whether wmemset() exists.
6554
6555 2011-10-03  Bruno Haible  <bruno@clisp.org>
6556
6557         wmemmove: Support for MSVC.
6558         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6559         whether wmemmove() exists.
6560
6561 2011-10-03  Bruno Haible  <bruno@clisp.org>
6562
6563         wmemcpy: Support for MSVC.
6564         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6565         whether wmemcpy() exists.
6566
6567 2011-10-03  Bruno Haible  <bruno@clisp.org>
6568
6569         wmemcmp: Support for MSVC.
6570         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6571         whether wmemcmp() exists.
6572
6573 2011-10-03  Bruno Haible  <bruno@clisp.org>
6574
6575         wmemchr: Support for MSVC.
6576         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6577         whether wmemchr() exists.
6578
6579 2011-10-03  Bruno Haible  <bruno@clisp.org>
6580
6581         glthread/*, strsignal: Support for MSVC.
6582         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6583         including <winsock.h> on MSVC 9.
6584         * lib/glthread/lock.h: Likewise.
6585         * lib/glthread/thread.h: Likewise.
6586         * lib/glthread/tls.h: Likewise.
6587         * lib/glthread/yield.h: Likewise.
6588         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6589         if HAVE_UNISTD_H is false.
6590         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6591
6592 2011-10-03  Bruno Haible  <bruno@clisp.org>
6593
6594         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6595         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6596         Set to 100000.
6597
6598 2011-10-03  Bruno Haible  <bruno@clisp.org>
6599
6600         acl: Fix specification.
6601         * lib/file-has-acl.c (file_has_acl): Fix specification.
6602
6603 2011-10-03  Bruno Haible  <bruno@clisp.org>
6604
6605         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6606         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6607         (compute_curr_prefix, shared_library_fullname,
6608         find_shared_library_fullname, get_shared_library_fullname, relocate):
6609         Use it together with PIC && INSTALLDIR.
6610         Reported by <jojelino@gmail.com>
6611         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6612
6613 2011-10-01  Jim Meyering  <meyering@redhat.com>
6614
6615         maint.mk: adjust a release-related rule not to require use of gzip
6616         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6617         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6618         projects that build only .tar.xz files.  Also fix an erroneous test.
6619
6620         test-linkat: don't leave behind a temporary file
6621         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6622         Otherwise, coreutils' "make distcheck" would fail with this:
6623           Only in /c/cu/tests/torture/coreutils/test/\
6624             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6625           make[2]: *** [my-distcheck] Error 1
6626
6627         float, math: add omitted file
6628         * lib/itold.c: Add file, required for yesterday's float change.
6629
6630 2011-10-01  Bruno Haible  <bruno@clisp.org>
6631
6632         isinf: Fix for OpenBSD/x86.
6633         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6634         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6635         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6636
6637 2011-10-01  Bruno Haible  <bruno@clisp.org>
6638
6639         isfinite: Fix syntax error in configure test.
6640         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6641
6642         isfinite: Fix typo.
6643         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6644         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6645
6646 2011-10-01  Bruno Haible  <bruno@clisp.org>
6647
6648         nonblocking tests: Fix test failure on Linux/IA-64.
6649         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6650         Set to 270000.
6651
6652 2011-10-01  Bruno Haible  <bruno@clisp.org>
6653
6654         mkfifoat tests: Fix a test failure on mingw.
6655         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6656         with error ENOSYS.
6657
6658 2011-09-30  Bruno Haible  <bruno@clisp.org>
6659
6660         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6661         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6662         'long double'. Set REPLACE_ITOLD.
6663         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6664         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6665         * lib/itold.c: New file.
6666         * modules/float (Files): Add lib/itold.c.
6667         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6668         (Makefile.am): Substitute REPLACE_ITOLD.
6669         * modules/math (Depends-on): Add float.
6670         (Makefile.am): Substitute REPLACE_ITOLD.
6671         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6672         * doc/posix-headers/math.texi: Likewise.
6673         * doc/posix-functions/logl.texi: Likewise.
6674
6675 2011-09-30  Bruno Haible  <bruno@clisp.org>
6676
6677         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6678         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6679         Set to 140000.
6680
6681 2011-09-30  Bruno Haible  <bruno@clisp.org>
6682
6683         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6684         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6685         invocation, say "right after AC_PROG_CC_STDC", not "right after
6686         AC_PROG_CC".
6687         Reported by Gary V. Vaughan <gary@gnu.org>.
6688
6689 2011-09-30  Bruno Haible  <bruno@clisp.org>
6690
6691         Centralize C99 requirement.
6692         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6693         * modules/stdarg (configure.ac-early): Invoke it instead of
6694         AC_PROG_CC_STDC.
6695         Reported by Gary V. Vaughan and Paul Eggert.
6696
6697 2011-09-29  Bruno Haible  <bruno@clisp.org>
6698
6699         float: Fix LDBL_MAX value on Linux/PowerPC.
6700         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6701         on Linux/PowerPC.
6702         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6703         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6704         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6705         platform.
6706         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6707
6708 2011-09-29  Bruno Haible  <bruno@clisp.org>
6709
6710         doc: Improve doc about gl_EARLY.
6711         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6712         AC_PROG_CC_STDC invocation.
6713         Reported by Gary V. Vaughan <gary@gnu.org>.
6714
6715 2011-09-28  Bruno Haible  <bruno@clisp.org>
6716
6717         fgetc, fputc, fread, fwrite tests: Fix link error.
6718         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6719         on non-MSVC platforms.
6720         * tests/test-fputc.c (main): Likewise.
6721         * tests/test-fread.c (main): Likewise.
6722         * tests/test-fwrite.c (main): Likewise.
6723         Reported by Jim Meyering.
6724
6725 2011-09-27  Bruno Haible  <bruno@clisp.org>
6726
6727         fputc, fwrite tests: Avoid test failure on MSVC.
6728         * tests/test-fgetc.c: Include msvc-inval.h.
6729         (main): Invoke gl_msvc_inval_ensure_handler.
6730         * tests/test-fputc.c: Include msvc-inval.h.
6731         (main): Invoke gl_msvc_inval_ensure_handler.
6732         * tests/test-fread.c: Include msvc-inval.h.
6733         (main): Invoke gl_msvc_inval_ensure_handler.
6734         * tests/test-fwrite.c: Include msvc-inval.h.
6735         (main): Invoke gl_msvc_inval_ensure_handler.
6736         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6737         * modules/fputc-tests (Depends-on): Likewise.
6738         * modules/fread-tests (Depends-on): Likewise.
6739         * modules/fwrite-tests (Depends-on): Likewise.
6740
6741 2011-09-27  Bruno Haible  <bruno@clisp.org>
6742
6743         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6744         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6745         (raise): Remove older, duplicated declaration.
6746         (_gl_raise_SIGPIPE): New declaration.
6747         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6748         (rpl_raise): Remove function.
6749         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6750         a gnulib-defined SIGPIPE here.
6751         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6752         'sigprocmask' has detected missing signal-blocking and the module
6753         'sigpipe' is enabled.
6754         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6755
6756 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6757
6758         base64-tests: avoid memory leak
6759         * tests/test-base64.c (main): Plug memory leak.
6760
6761         base32: new module
6762         * modules/base32: New module.
6763         * lib/base32.c: New file.
6764         * lib/base32.h: Likewise.
6765         * m4/base32.m4: Likewise.
6766         * modules/base32-tests: New test.
6767         * tests/test-base32.c: Likewise.
6768         * MODULES.html.sh (Misc): Mention it.
6769
6770 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6771
6772         gnulib: use more-standard license notice wording
6773         * gnulib-tool (func_emit_copyright_notice): When emitting a
6774         license notice into a file, use the standard wording as suggested
6775         by the current information for GNU maintainers, except say "file"
6776         rather than "program".  The new wording gives a license version
6777         number, which addresses an issue raised by Glenn Morris in
6778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6779         * m4/onceonly.m4: Use that same wording here, too.
6780
6781         dup2: minor simplification
6782         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6783         as lib/dup2.c no longer uses 'inline'.
6784
6785 2011-09-25  Bruno Haible  <bruno@clisp.org>
6786
6787         strings: Fix compilation error on MSVC.
6788         * lib/strings.in.h: Include <stddef.h> for size_t.
6789
6790 2011-09-25  Bruno Haible  <bruno@clisp.org>
6791
6792         fflush et al.: Document limitation on MSVC.
6793         * doc/posix-functions/fflush.texi: Document possible crash in handling
6794         mode other than DEFAULT_HANDLING.
6795         * doc/posix-functions/fgetc.texi: Likewise.
6796         * doc/posix-functions/fputc.texi: Likewise.
6797         * doc/posix-functions/fread.texi: Likewise.
6798         * doc/posix-functions/fwrite.texi: Likewise.
6799
6800 2011-09-25  Bruno Haible  <bruno@clisp.org>
6801
6802         msvc-inval: Allow three invalid parameter handling modes.
6803         * lib/msvc-inval.h: Don't include <stdlib.h> here.
6804         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
6805         macros.
6806         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
6807         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
6808         SANE_LIBRARY_HANDLING as a no-op.
6809         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
6810         <stdlib.h>.
6811         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6812
6813 2011-09-25  Bruno Haible  <bruno@clisp.org>
6814
6815         msvc-inval: Make handler multithread-safe.
6816         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6817         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6818         declarations.
6819         (gl_msvc_inval_current): New declaration.
6820         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6821         Operate on the structure returned by gl_msvc_inval_current().
6822         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6823         Remove varaiables.
6824         (tls_index, tls_initialized): New variables.
6825         (not_per_thread): New variable.
6826         (gl_msvc_inval_current): New function.
6827         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6828         returned by gl_msvc_inval_current().
6829
6830 2011-09-25  Bruno Haible  <bruno@clisp.org>
6831
6832         msvc-inval: Install handler globally.
6833         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6834         !_MSC_VER.
6835         (gl_msvc_invalid_parameter_handler): Remove declaration.
6836         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6837         declarations.
6838         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6839         Install the handler globally, don't uninstall it.
6840         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6841         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6842         currently valid, call RaiseException instead.
6843         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6844         for !_MSC_VER.
6845
6846 2011-09-25  Bruno Haible  <bruno@clisp.org>
6847
6848         strerror_r-posix: Fix for MSVC 9.
6849         * lib/strerror_r.c (local_snprintf): New function.
6850         (snprintf): Define to local_snprintf, not to _snprintf.
6851
6852 2011-09-25  Bruno Haible  <bruno@clisp.org>
6853
6854         ftruncate: Support for MSVC 9.
6855         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6856         (chsize_nothrow): New function.
6857         (chsize): Redefine as a macro.
6858         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6859         * modules/ftruncate (Depends-on): Add msvc-inval.
6860
6861 2011-09-25  Bruno Haible  <bruno@clisp.org>
6862
6863         New module 'fstat'.
6864         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6865         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6866         * lib/fchdir.c (rpl_fstat): Remove function.
6867         * m4/fstat.m4: New file.
6868         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6869         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6870         declared.
6871         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6872         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6873         * modules/fstat: New file.
6874         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6875         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6876         is set.
6877         * doc/posix-functions/fstat.texi: Mention the new module and the
6878         problem on MSVC.
6879         * NEWS: Mention the change.
6880         * modules/acl (Depends-on): Add fstat.
6881         * modules/chdir-safer (Depends-on): Likewise.
6882         * modules/chown (Depends-on): Likewise.
6883         * modules/copy-file (Depends-on): Likewise.
6884         * modules/fchdir (Depends-on): Likewise.
6885         * modules/fdopendir (Depends-on): Likewise.
6886         * modules/fopen (Depends-on): Likewise.
6887         * modules/fts (Depends-on): Likewise.
6888         * modules/getcwd (Depends-on): Likewise.
6889         * modules/isapipe (Depends-on): Likewise.
6890         * modules/linkat (Depends-on): Likewise.
6891         * modules/lseek (Depends-on): Likewise.
6892         * modules/mkdir-p (Depends-on): Likewise.
6893         * modules/open (Depends-on): Likewise.
6894         * modules/openat (Depends-on): Likewise.
6895         * modules/read-file (Depends-on): Likewise.
6896         * modules/renameat (Depends-on): Likewise.
6897         * modules/utimens (Depends-on): Likewise.
6898
6899 2011-09-25  Bruno Haible  <bruno@clisp.org>
6900
6901         linkat: Fix compilation on MSVC 9.
6902         * lib/linkat.c: Don't include <stdint.h>.
6903
6904 2011-09-25  Bruno Haible  <bruno@clisp.org>
6905
6906         fclose: Support for MSVC 9.
6907         * lib/fclose.c: Include msvc-inval.h.
6908         (fclose_nothrow): New function.
6909         (rpl_fclose): Use it.
6910         * modules/fclose (Depends-on): Add msvc-inval.
6911         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6912
6913 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6914
6915         dup2: minor simplifications
6916         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
6917         that it's a performance win.
6918         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
6919         ! defined __CYGWIN__)" to "ifdef F_GETFL".
6920
6921 2011-09-24  Jim Meyering  <meyering@redhat.com>
6922
6923         test-futimens: avoid a warning from gcc -Wshadow
6924         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
6925         to avoid a shadowing warning.
6926
6927 2011-09-24  Bruno Haible  <bruno@clisp.org>
6928
6929         fdopen: Support for MSVC 9.
6930         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
6931         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
6932         * lib/fdopen.c: Include msvc-inval.h.
6933         (fdopen_nothrow): New function.
6934         (rpl_fdopen): Use it.
6935         * modules/fdopen (Depends-on): Add msvc-inval.
6936         * modules/fclose-tests (Depends-on): Add fdopen.
6937         * modules/fflush-tests (Depends-on): Likewise.
6938         * modules/fgetc-tests (Depends-on): Likewise.
6939         * modules/fputc-tests (Depends-on): Likewise.
6940         * modules/fread-tests (Depends-on): Likewise.
6941         * modules/freopen-tests (Depends-on): Likewise.
6942         * modules/fseeko-tests (Depends-on): Likewise.
6943         * modules/ftello-tests (Depends-on): Likewise.
6944         * modules/fwrite-tests  (Depends-on): Likewise.
6945         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
6946
6947 2011-09-24  Bruno Haible  <bruno@clisp.org>
6948
6949         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
6950         * modules/fgetc-tests (Depends-on): Add unistd.
6951         * modules/fputc-tests (Depends-on): Likewise.
6952         * modules/fread-tests (Depends-on): Likewise.
6953         * modules/fwrite-tests (Depends-on): Likewise.
6954
6955 2011-09-24  Bruno Haible  <bruno@clisp.org>
6956
6957         dup: Simplify autoconf test.
6958         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
6959         on gl_MSVC_INVAL's result.
6960
6961 2011-09-24  Bruno Haible  <bruno@clisp.org>
6962
6963         Tests for function fwrite().
6964         * modules/fwrite-tests: New file.
6965         * tests/test-fwrite.c: New file.
6966         * modules/stdio-tests (Depends-on): Add fwrite-tests.
6967
6968         Tests for function fread().
6969         * modules/fread-tests: New file.
6970         * tests/test-fread.c: New file.
6971         * modules/stdio-tests (Depends-on): Add fread-tests.
6972
6973         Activate fputc tests.
6974         * modules/stdio-tests (Depends-on): Add fputc-tests.
6975
6976         Enhance fgetc, fputc tests.
6977         * tests/test-fgetc.c (main): Also test the stream's error indicator.
6978         * tests/test-fputc.c (main): Likewise.
6979
6980 2011-09-24  Bruno Haible  <bruno@clisp.org>
6981
6982         write: Support for MSVC 9.
6983         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6984         is not 1.
6985         * lib/write.c (write_nothrow): New function.
6986         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
6987         not 1. Use write_nothrow.
6988         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
6989         invalid parameter handler.
6990         (gl_PREREQ_WRITE): New macro.
6991         * modules/write (Depends-on): Add msvc-inval.
6992         (configure.ac): Invoke gl_PREREQ_WRITE.
6993         * doc/posix-functions/write.texi: Mention the problem on MSVC.
6994
6995 2011-09-24  Bruno Haible  <bruno@clisp.org>
6996
6997         read: Fix last commit.
6998         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
6999
7000 2011-09-24  Bruno Haible  <bruno@clisp.org>
7001
7002         dup2: Fix last commit.
7003         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7004         (rpl_dup2): Disable fcntl workaround on native Windows.
7005
7006         sigprocmask: Make code safer.
7007         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7008         section that changes macro definitions for this compilation unit.
7009
7010 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7011
7012         dup2: clarify by coalescing Windows-specific material
7013         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7014         "msvc-nothrow.h"' to the Windows-specific section, so that the
7015         Emacs source need not contain these include files.
7016         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7017         Windows-specific fixes into this function rather than just the
7018         nothrow fix, as this shortens and clarifies the code.  Always
7019         define as a function, as that's a bit cleaner than having it be
7020         sometimes a function and sometimes a macro.
7021         (rpl_dup2): Move the Windows-specific stuff out of here and into
7022         ms_windows_dup2.  Don't protect the Haiku-related fix with
7023         "#if !defined __linux__", as the same code also works around
7024         a Linux kernel bug, and it doesn't add any system calls on any
7025         platform.  Add comment about FreeBSD 6.1.
7026
7027         sigprocmask: move #include directive
7028         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7029         Windows-specific section, so that the Emacs source need not
7030         contain msvc-inval.h.
7031
7032 2011-09-23  Bruno Haible  <bruno@clisp.org>
7033
7034         read: Support for MSVC 9.
7035         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7036         is not 1.
7037         * lib/read.c (read_nothrow): New function.
7038         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7039         read_nothrow.
7040         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7041         invalid parameter handler.
7042         (gl_PREREQ_READ): New macro.
7043         * modules/read (Depends-on): Add msvc-inval.
7044         (configure.ac): Invoke gl_PREREQ_READ.
7045         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7046
7047 2011-09-23  Bruno Haible  <bruno@clisp.org>
7048
7049         close: Support for MSVC 9.
7050         * lib/close.c: Include <errno.h>, msvc-inval.h.
7051         (close_nothrow): New function.
7052         (rpl_close): Use it.
7053         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7054         invalid parameter handler.
7055         * modules/close (Depends-on): Add msvc-inval.
7056         * modules/dup2-tests (Depends-on): Add close.
7057         * modules/dup3-tests (Depends-on): Likewise.
7058         * modules/fcntl-tests (Depends-on): Likewise.
7059         * modules/spawn-pipe-tests (Depends-on): Likewise.
7060         * modules/unistd-safer-tests (Depends-on): Likewise.
7061         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7062
7063 2011-09-23  Bruno Haible  <bruno@clisp.org>
7064
7065         New module 'dup'.
7066         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7067         Allow replacement.
7068         * lib/dup.c: New file.
7069         * lib/fchdir.c (rpl_dup): Remove function.
7070         * m4/dup.m4: New file.
7071         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7072         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7073         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7074         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7075         * modules/dup: New file.
7076         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7077         'dup' module is in use.
7078         * modules/fdopendir (Depends-on): Add dup.
7079         * modules/fdutimensat-tests (Depends-on): Likewise.
7080         * modules/fts (Depends-on): Likewise.
7081         * modules/futimens-tests (Depends-on): Likewise.
7082         * modules/posix_spawnp-tests (Depends-on): Likewise.
7083         * modules/unistd-safer-tests (Depends-on): Likewise.
7084         * modules/utimens-tests (Depends-on): Likewise.
7085         * doc/posix-functions/dup.texi: Mention the new module and the problem
7086         on MSVC.
7087
7088 2011-09-23  Bruno Haible  <bruno@clisp.org>
7089
7090         getdtablesize: Support for MSVC 9.
7091         * lib/getdtablesize.c: Include msvc-inval.h.
7092         (_setmaxstdio_nothrow): New function.
7093         (_setmaxstdio): Redefine it.
7094         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7095         * modules/getdtablesize (Depends-on): Add msvc-inval.
7096         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7097
7098 2011-09-23  Bruno Haible  <bruno@clisp.org>
7099
7100         signal-h: Rename from signal.
7101         * modules/signal-h: Renamed from modules/signal.
7102         * modules/pthread_sigmask (Depends-on): Update.
7103         * modules/raise (Depends-on): Likewise.
7104         * modules/sigaction (Depends-on): Likewise.
7105         * modules/sigpipe (Depends-on): Likewise.
7106         * modules/sigprocmask (Depends-on): Likewise.
7107         * modules/sys_select (Depends-on): Likewise.
7108         * modules/signal-h-tests: Renamed from modules/signal-tests.
7109         (Files, Depends-on, Makefile.am): Update.
7110         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7111         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7112         (Files, Makefile.am): Update.
7113         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7114         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7115         * modules/signal: New placeholder file.
7116         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7117         * doc/posix-headers/signal.texi: Update.
7118         * NEWS: Mention the change.
7119
7120 2011-09-23  Bruno Haible  <bruno@clisp.org>
7121
7122         sigprocmask: Avoid crashes through signal() on MSVC 9.
7123         * lib/sigprocmask.c: Include msvc-inval.h.
7124         (signal_nothrow): New function.
7125         (signal): Redefine it.
7126         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7127         * modules/sigprocmask (Depends-on): Add msvc-inval.
7128         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7129
7130 2011-09-23  Bruno Haible  <bruno@clisp.org>
7131
7132         Tests for module 'raise'.
7133         * modules/raise-tests: New file.
7134         * tests/test-raise.c: New file.
7135
7136         raise: Support for MSVC.
7137         * lib/signal.in.h (raise): New declaration.
7138         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7139         for native Windows platforms.
7140         * m4/raise.m4: New file.
7141         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7142         HAVE_RAISE, REPLACE_RAISE.
7143         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7144         REPLACE_RAISE.
7145         * modules/raise (Status, Notice): Remove fields.
7146         (Files): Add m4/raise.m4.
7147         (Depends-on): Add signal, msvc-inval.
7148         (configure.ac): Use the common idioms.
7149         (Maintainer): Add me.
7150         * tests/test-signal-c++.cc: Check the signature of raise.
7151         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7152
7153 2011-09-23  Bruno Haible  <bruno@clisp.org>
7154
7155         pipe2: Fix compilation on pre-C99 compilers.
7156         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7157
7158 2011-09-23  Bruno Haible  <bruno@clisp.org>
7159
7160         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7161         * lib/msvc-nothrow.h: New file.
7162         * lib/msvc-nothrow.c: New file.
7163         * m4/msvc-nothrow.m4: New file.
7164         * modules/msvc-nothrow: New file.
7165         * lib/dup2.c: Include msvc-nothrow.h.
7166         (rpl_dup2): No need to protect _get_osfhandle call here.
7167         * lib/accept4.c: Include msvc-nothrow.h.
7168         * lib/error.c: Likewise.
7169         * lib/fcntl.c: Likewise.
7170         * lib/lseek.c: Likewise.
7171         * lib/nonblocking.c: Likewise.
7172         * lib/poll.c: Likewise.
7173         * lib/read.c: Likewise.
7174         * lib/select.c: Likewise.
7175         * lib/sockets.h: Likewise.
7176         * lib/sockets.c: Likewise.
7177         * lib/stdio-read.c: Likewise.
7178         * lib/stdio-write.c: Likewise.
7179         * lib/write.c: Likewise.
7180         * lib/w32sock.h: Likewise.
7181         * lib/w32spawn.h: Likewise.
7182         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7183         * lib/fsync.c: Likewise.
7184         * lib/isapipe.c: Likewise.
7185         * modules/dup2 (Depends-on): Add msvc-nothrow.
7186         * modules/accept4 (Depends-on): Likewise.
7187         * modules/error (Depends-on): Likewise.
7188         * modules/fcntl (Depends-on): Likewise.
7189         * modules/lseek (Depends-on): Likewise.
7190         * modules/nonblocking (Depends-on): Likewise.
7191         * modules/poll (Depends-on): Likewise.
7192         * modules/read (Depends-on): Likewise.
7193         * modules/select (Depends-on): Likewise.
7194         * modules/sockets (Depends-on): Likewise.
7195         * modules/sigpipe (Depends-on): Likewise.
7196         * modules/write (Depends-on): Likewise.
7197         * modules/accept (Depends-on): Likewise.
7198         * modules/bind (Depends-on): Likewise.
7199         * modules/connect (Depends-on): Likewise.
7200         * modules/gethostname (Depends-on): Likewise.
7201         * modules/getpeername (Depends-on): Likewise.
7202         * modules/getsockname (Depends-on): Likewise.
7203         * modules/getsockopt (Depends-on): Likewise.
7204         * modules/ioctl (Depends-on): Likewise.
7205         * modules/listen (Depends-on): Likewise.
7206         * modules/recv (Depends-on): Likewise.
7207         * modules/recvfrom (Depends-on): Likewise.
7208         * modules/send (Depends-on): Likewise.
7209         * modules/sendto (Depends-on): Likewise.
7210         * modules/setsockopt (Depends-on): Likewise.
7211         * modules/shutdown (Depends-on): Likewise.
7212         * modules/socket (Depends-on): Likewise.
7213         * modules/execute (Depends-on): Likewise.
7214         * modules/spawn-pipe (Depends-on): Likewise.
7215         * modules/flock (Depends-on): Likewise.
7216         * modules/fsync (Depends-on): Likewise.
7217         * modules/isapipe (Depends-on): Likewise.
7218         * tests/test-cloexec.c: Include msvc-nothrow.h.
7219         * tests/test-dup-safer.c: Likewise.
7220         * tests/test-dup2.c: Likewise.
7221         * tests/test-dup3.c: Likewise.
7222         * tests/test-fcntl.c: Likewise.
7223         * tests/test-pipe.c: Likewise.
7224         * tests/test-pipe2.c: Likewise.
7225         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7226         * modules/unistd-safer-tests (Depends-on): Likewise.
7227         * modules/dup2-tests (Depends-on): Likewise.
7228         * modules/dup3-tests (Depends-on): Likewise.
7229         * modules/fcntl-tests (Depends-on): Likewise.
7230         * modules/pipe-posix-tests (Depends-on): Likewise.
7231         * modules/pipe2-tests (Depends-on): Likewise.
7232
7233 2011-09-23  Bruno Haible  <bruno@clisp.org>
7234
7235         dup2: Make code more maintainable.
7236         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7237         (rpl_dup2): Use it.
7238         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7239         * modules/dup2 (configure.ac): Invoke it.
7240         Reported by Paul Eggert.
7241
7242 2011-09-23  Bruno Haible  <bruno@clisp.org>
7243
7244         msvc-inval: Fix compilation error.
7245         * lib/msvc-inval.h: Include <excpt.h>.
7246
7247 2011-09-23  Bruno Haible  <bruno@clisp.org>
7248
7249         mkdir: Tweak for MSVC 9.
7250         * lib/sys_stat.in.h: Update comments.
7251         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7252
7253         Tests for module 'chdir'.
7254         * modules/chdir-tests: New file.
7255         * tests/test-chdir.c: New file.
7256
7257         New module 'chdir'.
7258         * modules/chdir: New file.
7259         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7260         (chdir): New declaration.
7261         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7262         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7263         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7264         * tests/test-unistd-c++.cc: Check signature of chdir.
7265         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7266         * modules/chdir-long (Depends-on): Add chdir.
7267         * modules/fchdir (Depends-on): Likewise.
7268         * modules/rename (Depends-on): Likewise.
7269         * modules/savewd (Depends-on): Likewise.
7270
7271         rmdir: Support for mingw, MSVC 9.
7272         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7273         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7274
7275         getcwd: Tweak for MSVC 9.
7276         * lib/unistd.in.h: Update comments.
7277         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7278
7279 2011-09-22  Bruno Haible  <bruno@clisp.org>
7280
7281         strerror_r-posix: Avoid a link error on MSVC.
7282         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7283         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7284
7285 2011-09-22  Bruno Haible  <bruno@clisp.org>
7286
7287         select: Avoid link errors on MSVC.
7288         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7289         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7290         * modules/pselect (Link): Likewise.
7291         * NEWS: Mention the change.
7292         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7293         test-select-stdin against $(LIB_SELECT).
7294         * modules/pselect-tests (Makefile.am): Link test-pselect against
7295         $(LIB_SELECT).
7296
7297 2011-09-22  Bruno Haible  <bruno@clisp.org>
7298
7299         select: Avoid compilation error on MSVC.
7300         * lib/select.c: Don't include <stdbool.h>.
7301
7302 2011-09-21  Bruno Haible  <bruno@clisp.org>
7303
7304         Consolidate all uses of PATH_MAX in *.m4 files.
7305         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7306         macros.
7307         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7308         and gl_PATHMAX_SNIPPET.
7309         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7310         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7311         * modules/chdir-long (Files): Add m4/pathmax.m4.
7312         * modules/getcwd (Files): Likewise.
7313
7314 2011-09-21  Bruno Haible  <bruno@clisp.org>
7315
7316         ftruncate: Un-deprecate, concentrate on Win32 support.
7317         * modules/ftruncate (Status, Notice): Remove sections.
7318         (Depends-on): Add largefile.
7319         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7320         non-mingw platforms.
7321         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7322         include <io.h>.
7323         * modules/perror-tests (Depends-on): Add ftruncate.
7324         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7325         'ftruncate' module.
7326
7327 2011-09-21  Bruno Haible  <bruno@clisp.org>
7328
7329         Add dependencies to new dirent related modules.
7330         * modules/opendir (Depends-on): Add closedir.
7331         * modules/getcwd (Depends-on): Add opendir, closedir.
7332         * modules/dirent-safer-tests (Depends-on): Likewise.
7333         * modules/fdopendir-tests (Depends-on): Likewise.
7334         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7335         * modules/renameat-tests (Depends-on): Likewise.
7336
7337 2011-09-21  Bruno Haible  <bruno@clisp.org>
7338
7339         opendir: Avoid compilation error on mingw.
7340         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7341         * modules/opendir (Depends-on): Add unistd.
7342
7343 2011-09-21  Bruno Haible  <bruno@clisp.org>
7344
7345         ftruncate tests: Avoid a test failure on mingw.
7346         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7347
7348 2011-09-21  Bruno Haible  <bruno@clisp.org>
7349
7350         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7351         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7352         native Windows.
7353
7354 2011-09-21  Bruno Haible  <bruno@clisp.org>
7355
7356         New module 'fdopen'.
7357         * lib/stdio.in.h (fdopen): New declaration.
7358         * lib/fdopen.c: New file.
7359         * m4/fdopen.m4: New file.
7360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7361         REPLACE_FDOPEN.
7362         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7363         REPLACE_FDOPEN.
7364         * modules/fdopen: New file.
7365         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7366         * tests/test-stdio-c++.cc: Check signature of fdopen.
7367         * doc/posix-functions/fdopen.texi: Mention the new module.
7368
7369 2011-09-21  Bruno Haible  <bruno@clisp.org>
7370
7371         unlockpt tests: Avoid test failure on NetBSD 5.1.
7372         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7373         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7374
7375 2011-09-21  Bruno Haible  <bruno@clisp.org>
7376
7377         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7378         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7379         * tests/test-getlogin_r.c (main): Likewise.
7380
7381 2011-09-20  Bruno Haible  <bruno@clisp.org>
7382
7383         time tests: Don't require pid_t.
7384         * doc/posix-headers/time.texi: Revert last change.
7385         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7386         * tests/test-time.c: Comment out the check for pid_t.
7387
7388 2011-09-20  Bruno Haible  <bruno@clisp.org>
7389
7390         fsync tests: Avoid a test failure on mingw.
7391         * tests/test-fsync.c (main): Allow a failure with EIO.
7392
7393 2011-09-20  Bruno Haible  <bruno@clisp.org>
7394
7395         euidaccess: Update comments.
7396         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7397
7398 2011-09-20  Bruno Haible  <bruno@clisp.org>
7399
7400         Ensure EBADF returns for socket functions on mingw.
7401         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7402         descriptor is invalid.
7403         * lib/bind.c (rpl_bind): Likewise.
7404         * lib/connect.c (rpl_connect): Likewise.
7405         * lib/getpeername.c (rpl_getpeername): Likewise.
7406         * lib/getsockname.c (rpl_getsockname): Likewise.
7407         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7408         * lib/listen.c (rpl_listen): Likewise.
7409         * lib/recv.c (rpl_recv): Likewise.
7410         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7411         * lib/send.c (rpl_send): Likewise.
7412         * lib/sendto.c (rpl_sendto): Likewise.
7413         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7414         * lib/shutdown.c (rpl_shutdown): Likewise.
7415
7416 2011-09-20  Bruno Haible  <bruno@clisp.org>
7417
7418         select tests: EBADF tests.
7419         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7420         test_bad_fd): New functions.
7421         (test_function): Invoke also test_bad_fd.
7422
7423 2011-09-20  Bruno Haible  <bruno@clisp.org>
7424
7425         Tests for module 'posix_spawn_file_actions_addopen.
7426         * modules/posix_spawn_file_actions_addopen-tests: New file.
7427         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7428
7429         Tests for module 'posix_spawn_file_actions_adddup2'.
7430         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7431         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7432
7433         Tests for module 'posix_spawn_file_actions_addclose'.
7434         * modules/posix_spawn_file_actions_addclose-tests: New file.
7435         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7436
7437 2011-09-20  Bruno Haible  <bruno@clisp.org>
7438
7439         Tests for module 'unlockpt'.
7440         * modules/unlockpt-tests: New file.
7441         * tests/test-unlockpt.c: New file.
7442         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7443
7444         Tests for module 'grantpt'.
7445         * modules/grantpt-tests: New file.
7446         * tests/test-grantpt.c: New file.
7447         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7448
7449 2011-09-20  Bruno Haible  <bruno@clisp.org>
7450
7451         freopen tests: EBADF tests.
7452         * tests/test-freopen.c: Include errno.h, unistd.h.
7453         (main): Add tests for EBADF, commented out for the moment.
7454
7455         fclose tests: EBADF tests.
7456         * tests/test-fclose.c (main): Add tests for EBADF.
7457
7458         fflush tests: EBADF tests.
7459         * tests/test-fflush.c: Include errno.h, macros.h.
7460         (main): Add tests for EBADF.
7461
7462         ftello tests: EBADF tests.
7463         * tests/test-ftello4.sh: New file.
7464         * tests/test-ftello4.c: New file.
7465         * modules/ftello-tests (Files): Add them.
7466         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7467
7468         fseeko tests: EBADF tests.
7469         * tests/test-fseeko4.sh: New file.
7470         * tests/test-fseeko4.c: New file.
7471         * modules/fseeko-tests (Files): Add them.
7472         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7473
7474         Tests for function fputc().
7475         * modules/fputc-tests: New file.
7476         * tests/test-fputc.c: New file.
7477         * modules/stdio-tests (Depends-on): Add fputc-tests.
7478
7479         Tests for function fgetc().
7480         * modules/fgetc-tests: New file.
7481         * tests/test-fgetc.c: New file.
7482         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7483
7484         Tests for function fdopen().
7485         * modules/fdopen-tests: New file.
7486         * tests/test-fdopen.c: New file.
7487         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7488
7489         Tests for module 'vdprintf'.
7490         * modules/vdprintf-tests: New file.
7491         * tests/test-vdprintf.c: New file.
7492
7493         Tests for module 'dprintf'.
7494         * modules/dprintf-tests: New file.
7495         * tests/test-dprintf.c: New file.
7496
7497 2011-09-20  Bruno Haible  <bruno@clisp.org>
7498
7499         Tests for module 'ioctl'.
7500         * modules/ioctl-tests: New file.
7501         * tests/test-ioctl.c: New file.
7502
7503 2011-09-20  Bruno Haible  <bruno@clisp.org>
7504
7505         fcntl tests: EBADF tests.
7506         * tests/test-fcntl.c (main): Add more tests for EBADF.
7507
7508 2011-09-20  Bruno Haible  <bruno@clisp.org>
7509
7510         utimensat tests: EBADF tests.
7511         * tests/test-utimensat.c (main): Add tests for EBADF.
7512
7513         renameat tests: EBADF tests.
7514         * tests/test-renameat.c (main): Add tests for EBADF.
7515
7516         mkfifoat tests: EBADF tests.
7517         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7518
7519         readlinkat tests: EBADF tests.
7520         * tests/test-readlinkat.c (main): Add tests for EBADF.
7521
7522         symlinkat tests: EBADF tests.
7523         * tests/test-symlinkat.c (main): Add tests for EBADF.
7524
7525         linkat tests: EBADF tests.
7526         * tests/test-linkat.c (main): Add tests for EBADF.
7527
7528         Tests for module 'faccessat'.
7529         * modules/faccessat-tests: New file.
7530         * tests/test-faccessat.c: New file.
7531
7532         fdopendir tests: EBADF tests.
7533         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7534
7535         openat tests: EBADF tests.
7536         * tests/test-fchownat.c (main): Add tests for EBADF.
7537         * tests/test-fstatat.c (main): Likewise.
7538         * tests/test-mkdirat.c (main): Likewise.
7539         * tests/test-openat.c (main): Likewise.
7540         * tests/test-unlinkat.c (main): Likewise.
7541         * tests/test-fchmodat.c: New file.
7542         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7543         (Makefile.am): Also run 'test-fchmodat'.
7544
7545 2011-09-20  Bruno Haible  <bruno@clisp.org>
7546
7547         utimens, futimens, fdutimensat tests: EBADF tests.
7548         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7549
7550         Tests for function fstat().
7551         * modules/fstat-tests: New file.
7552         * tests/test-fstat.c: New file.
7553         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7554
7555 2011-09-20  Bruno Haible  <bruno@clisp.org>
7556
7557         test-ttyname_r tests: EBADF tests.
7558         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7559
7560         Tests for module 'isatty'.
7561         * modules/isatty-tests: New file.
7562         * tests/test-isatty.c: New file.
7563
7564         Tests for module 'write'.
7565         * modules/write-tests: New file.
7566         * tests/test-write.c: New file.
7567
7568         Tests for module 'read'.
7569         * modules/read-tests: New file.
7570         * tests/test-read.c: New file.
7571
7572         pwrite tests: EBADF tests.
7573         * tests/test-pwrite.c (main): Add tests for EBADF.
7574
7575         pread tests: EBADF tests.
7576         * tests/test-pread.c (main): Add tests for EBADF.
7577
7578         lseek tests: EBADF tests.
7579         * tests/test-lseek.c (main): Add more tests for EBADF.
7580
7581         Tests for module 'ftruncate'.
7582         * modules/ftruncate-tests: New file.
7583         * tests/test-ftruncate.sh: New file.
7584         * tests/test-ftruncate.c: New file.
7585
7586         fsync tests: EBADF tests.
7587         * tests/test-fsync.c (main): Add more tests for EBADF.
7588
7589         fdatasync tests: EBADF tests.
7590         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7591
7592         Tests for module 'fchown'.
7593         * modules/fchown-tests: New file.
7594         * tests/test-fchown.c: New file.
7595
7596         Tests for module 'fchmod'.
7597         * modules/fchmod-tests: New file.
7598         * tests/test-fchmod.c: New file.
7599
7600         fchdir tests: EBADF tests.
7601         * tests/test-fchdir.c (main): Add more tests for EBADF.
7602
7603         dup2 tests: EBADF tests.
7604         * tests/test-dup2.c (main): Add more tests for EBADF.
7605
7606         Tests for module 'dup'.
7607         * modules/dup-tests: New file.
7608         * tests/test-dup.c: New file.
7609
7610         Tests for module 'close'.
7611         * modules/close-tests: New file.
7612         * tests/test-close.c: New file.
7613
7614 2011-09-20  Bruno Haible  <bruno@clisp.org>
7615
7616         Tests for module 'shutdown'.
7617         * modules/shutdown-tests: New file.
7618         * tests/test-shutdown.c: New file.
7619
7620         Tests for module 'setsockopt'.
7621         * modules/setsockopt-tests: New file.
7622         * tests/test-setsockopt.c: New file.
7623
7624         Tests for module 'sendto'.
7625         * modules/sendto-tests: New file.
7626         * tests/test-sendto.c: New file.
7627
7628         Tests for module 'send'.
7629         * modules/send-tests: New file.
7630         * tests/test-send.c: New file.
7631
7632         Tests for module 'recvfrom'.
7633         * modules/recvfrom-tests: New file.
7634         * tests/test-recvfrom.c: New file.
7635
7636         Tests for module 'recv'.
7637         * modules/recv-tests: New file.
7638         * tests/test-recv.c: New file.
7639
7640         Tests for module 'listen'.
7641         * modules/listen-tests: New file.
7642         * tests/test-listen.c: New file.
7643
7644         Tests for module 'getsockopt'.
7645         * modules/getsockopt-tests: New file.
7646         * tests/test-getsockopt.c: New file.
7647
7648         Tests for module 'getsockname'.
7649         * modules/getsockname-tests: New file.
7650         * tests/test-getsockname.c: New file.
7651
7652         Tests for module 'getpeername'.
7653         * modules/getpeername-tests: New file.
7654         * tests/test-getpeername.c: New file.
7655
7656         Tests for module 'connect'.
7657         * modules/connect-tests: New file.
7658         * tests/test-connect.c: New file.
7659
7660         Tests for module 'bind'.
7661         * modules/bind-tests: New file.
7662         * tests/test-bind.c: New file.
7663
7664         accept4 tests: Fix for native Windows.
7665         * tests/test-accept4.c: Include sockets.h.
7666         (main): Invoke gl_sockets_startup.
7667         * modules/accept4-tests (Depends-on): Add sockets.
7668
7669         accept tests: Fix for native Windows.
7670         * tests/test-accept.c: Include sockets.h.
7671         (main): Invoke gl_sockets_startup.
7672         * modules/accept-tests (Depends-on): Add sockets.
7673
7674 2011-09-19  Bruno Haible  <bruno@clisp.org>
7675
7676         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7677         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7678         do...while(0).
7679         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7680         Suggested by Paul Eggert.
7681
7682 2011-09-19  Bruno Haible  <bruno@clisp.org>
7683
7684         sched: Ensure pid_t is defined.
7685         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7686         not define pid_t.
7687         * lib/sched.in.h: Include <sys/types.h>.
7688         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7689         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7690
7691 2011-09-19  Bruno Haible  <bruno@clisp.org>
7692
7693         msvc-inval: Ensure the entire expansion is a single statement.
7694         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7695         of braces.
7696
7697 2011-09-19  Jim Meyering  <meyering@redhat.com>
7698
7699         tests: use printf, not echo in init.sh's warn_ function
7700         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7701         misbehave when given strings containing a backslash or starting
7702         with e.g., -n.  James Youngman suggested setting IFS.
7703
7704 2011-09-19  Eric Blake  <eblake@redhat.com>
7705
7706         futimens: enhance test
7707         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7708         closed non-negative fd.
7709
7710         date: accept 'hence' as opposite of 'ago'
7711         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7712         * tests/test-parse-datetime.c (main): Enhance test.
7713         Suggested by Jesse Wilson.
7714
7715 2011-09-19  Jim Meyering  <meyering@redhat.com>
7716
7717         getcwd: don't fail in a deep directory on a system without openat
7718         Before this change, getcwd would fail when called from a directory
7719         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7720         the non-openat implementation used "..", "../..", "../../..", etc.
7721         to access ancestor directories.  With too many, that string would
7722         be longer than PATH_MAX.
7723         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7724         using gnulib's openat replacement.
7725         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7726         we're using the replacement function.
7727
7728 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7729
7730         maint.mk: avoid warnings from perl about missing files
7731         * top/maint.mk (def_sym_regex): Ignore files listed in
7732         $(gl_other_headers_) that do not exist, say because a project
7733         does not use a corresponding module.
7734
7735 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7736
7737         stat: use pathmax.h only if needed
7738         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7739         This is better for Emacs, which does not have a mingw port and
7740         therefore can avoid the pathmax module.
7741
7742         utimens: remove dependency on dup2
7743         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7744         to work around the Linux kernel bug.
7745         * modules/utimens (Depends-on): Remove dup2.
7746
7747 2011-09-18  Bruno Haible  <bruno@clisp.org>
7748
7749         inet_ntop, inet_pton: Look for it also in libresolv.
7750         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7751         libnsl, search for it in libresolv.
7752         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7753         Needed on Solaris 7.
7754
7755 2011-09-18  Bruno Haible  <bruno@clisp.org>
7756
7757         accept, accept4 tests: Avoid link error on Solaris.
7758         * modules/accept-tests (Makefile.am): Link test-accept against
7759         $(LIBSOCKET).
7760         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7761         $(LIBSOCKET).
7762
7763         accept4: Avoid link error on Solaris.
7764         * modules/accept4 (Link): New section.
7765
7766         socket functions: Avoid link errors on Solaris.
7767         * modules/accept (Depends-on): Add socketlib.
7768         (Link): New section.
7769         * modules/bind (Depends-on): Add socketlib.
7770         (Link): New section.
7771         * modules/connect (Depends-on): Add socketlib.
7772         (Link): New section.
7773         * modules/getpeername (Depends-on): Add socketlib.
7774         (Link): New section.
7775         * modules/getsockname (Depends-on): Add socketlib.
7776         (Link): New section.
7777         * modules/getsockopt (Depends-on): Add socketlib.
7778         (Link): New section.
7779         * modules/listen (Depends-on): Add socketlib.
7780         (Link): New section.
7781         * modules/recv (Depends-on): Add socketlib.
7782         (Link): New section.
7783         * modules/recvfrom (Depends-on): Add socketlib.
7784         (Link): New section.
7785         * modules/send (Depends-on): Add socketlib.
7786         (Link): New section.
7787         * modules/sendto (Depends-on): Add socketlib.
7788         (Link): New section.
7789         * modules/setsockopt (Depends-on): Add socketlib.
7790         (Link): New section.
7791         * modules/shutdown (Depends-on): Add socketlib.
7792         (Link): New section.
7793         * modules/socket (Depends-on): Add socketlib.
7794         (Link): New section.
7795
7796 2011-09-18  Bruno Haible  <bruno@clisp.org>
7797
7798         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
7799         * tests/test-ptsname.c (main): Terminate the test if it takes longer
7800         than 5 seconds.
7801         * modules/ptsname-tests (configure.ac): Test for alarm.
7802
7803 2011-09-18  Bruno Haible  <bruno@clisp.org>
7804
7805         posix_spawn_file_actions_add*: Fix module dependencies.
7806         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
7807         posix_spawn_file_actions_init.
7808         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
7809         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
7810
7811 2011-09-18  Bruno Haible  <bruno@clisp.org>
7812
7813         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7814         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7815         * tests/test-renameat.c (main): Likewise.
7816
7817 2011-09-18  Bruno Haible  <bruno@clisp.org>
7818
7819         Tests for module 'accept4'.
7820         * modules/accept4-tests: New file.
7821         * tests/test-accept4.c: New file.
7822
7823 2011-09-18  Bruno Haible  <bruno@clisp.org>
7824
7825         Tests for module 'accept'.
7826         * modules/accept-tests: New file.
7827         * tests/test-accept.c: New file.
7828
7829 2011-09-18  Bruno Haible  <bruno@clisp.org>
7830
7831         dup2: Support for MSVC.
7832         * lib/dup2.c: Include msvc-inval.h.
7833         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7834         _get_osfhandle calls.
7835         * modules/dup2 (Depends-on): Add msvc-inval.
7836         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7837
7838         New module 'msvc-inval'.
7839         * lib/msvc-inval.h: New file.
7840         * lib/msvc-inval.c: New file.
7841         * m4/msvc-inval.m4: New file.
7842         * modules/msvc-inval: New file.
7843
7844 2011-09-17  Bruno Haible  <bruno@clisp.org>
7845
7846         Tests for module 'pclose'.
7847         * modules/pclose-tests: New file.
7848
7849         New module 'pclose'.
7850         * lib/stdio.in.h (pclose): New declaration.
7851         * lib/pclose.c: New file.
7852         * m4/pclose.m4: New file.
7853         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7854         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7855         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7856         * modules/pclose: New file.
7857         * modules/popen-tests (Depends-on): Add pclose.
7858         * modules/popen-safer-tests (Depends-on): Likewise.
7859         * doc/posix-functions/pclose.texi: Mention the new module.
7860
7861 2011-09-17  Bruno Haible  <bruno@clisp.org>
7862
7863         popen: Support for MSVC.
7864         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7865         * lib/popen.c (popen): Provide alternate definition for native Windows.
7866         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7868         * modules/popen (Depends-on, configure.ac): Update condition.
7869         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7870         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7871         fixed.
7872
7873 2011-09-17  Bruno Haible  <bruno@clisp.org>
7874
7875         isnanl, isnand, isnanf: Work around MSVC bug.
7876         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7877
7878 2011-09-17  Bruno Haible  <bruno@clisp.org>
7879
7880         sys_socket tests: Fix recent mistake.
7881         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7882
7883 2011-09-17  Bruno Haible  <bruno@clisp.org>
7884
7885         putenv: Support for MSVC.
7886         * modules/putenv (Depends-on): Add environ.
7887         * lib/putenv.c (environ): Disable declaration.
7888         * lib/unistd.in.h: Update comment.
7889
7890 2011-09-17  Bruno Haible  <bruno@clisp.org>
7891
7892         math: Avoid macro redefinition warnings on MSVC.
7893         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7894         Undefine before redefining.
7895
7896 2011-09-17  Bruno Haible  <bruno@clisp.org>
7897
7898         doc: Mention functions which are declared as macros.
7899         * doc/posix-functions/*[fl].texi: Mention that some functions are
7900         defined as macros with arguments only.
7901
7902 2011-09-17  Bruno Haible  <bruno@clisp.org>
7903
7904         Add dependencies to new dirent related modules.
7905         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7906         * modules/fts (Depends-on): Likewise.
7907         * modules/glob (Depends-on): Likewise.
7908         * modules/savedir (Depends-on): Likewise.
7909         * modules/scandir (Depends-on): Likewise.
7910         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7911         * modules/fdopendir (Depends-on): Add opendir.
7912
7913 2011-09-17  Bruno Haible  <bruno@clisp.org>
7914
7915         inet_pton: Support for MSVC on Windows Vista or newer.
7916         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
7917         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
7918         HAVE_DECL_INET_PTON is defined.
7919         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7920         On platforms with <winsock2.h>, test whether inet_pton is declared in
7921         <ws2tcpip.h>. If so, arrange to replace it.
7922         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7923         REPLACE_INET_PTON.
7924         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
7925         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
7926         (Depends-on, configure.ac): Update condition.
7927         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
7928
7929 2011-09-17  Bruno Haible  <bruno@clisp.org>
7930
7931         inet_ntop: Support for MSVC on Windows Vista or newer.
7932         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
7933         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
7934         HAVE_DECL_INET_NTOP is defined.
7935         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7936         On platforms with <winsock2.h>, test whether inet_ntop is declared in
7937         <ws2tcpip.h>. If so, arrange to replace it.
7938         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7939         REPLACE_INET_NTOP.
7940         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
7941         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
7942         (Depends-on, configure.ac): Update condition.
7943         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
7944
7945 2011-09-16  Eric Blake  <eblake@redhat.com>
7946
7947         test-fsync: yet another enhancement
7948         * tests/test-fsync.c (main): Also test behavior on read-only text
7949         file.
7950
7951 2011-09-16  Bruno Haible  <bruno@clisp.org>
7952
7953         Enhance fsync, fdatasync tests.
7954         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
7955         * tests/test-fdatasync.c (main): Likewise.
7956
7957 2011-09-16  Bruno Haible  <bruno@clisp.org>
7958
7959         Support for MSVC compiler: Ensure mode_t gets defined.
7960         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
7961         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7962         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7963         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
7964         * tests/test-fcntl-h.c: Check that mode_t is defined.
7965         * tests/test-sys_stat.c: Likewise.
7966         * tests/test-sys_types.c: Likewise.
7967         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
7968         * doc/posix-headers/sys_stat.texi: Likewise.
7969         * doc/posix-headers/sys_types.texi: Likewise.
7970
7971 2011-09-16  Bruno Haible  <bruno@clisp.org>
7972
7973         sys_stat: Support for MSVC.
7974         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
7975         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
7976         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
7977         MSVC.
7978
7979 2011-09-16  Bruno Haible  <bruno@clisp.org>
7980
7981         Support for MSVC compiler: Ensure off_t gets defined.
7982         * lib/unistd.in.h: Include <sys/types.h>.
7983         * tests/test-fcntl-h.c: Check that off_t is defined.
7984         * tests/test-sys_stat.c: Likewise.
7985         * tests/test-sys_types.c: Likewise.
7986
7987 2011-09-16  Eric Blake  <eblake@redhat.com>
7988
7989         fdatasync: port to Solaris
7990         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
7991         * modules/fdatasync (Link): Document it.
7992         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
7993
7994         fdatasync: port to MacOS X 10.7
7995         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
7996         declared.
7997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
7998         * modules/unistd (Makefile.am): Substitute it.
7999         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8000         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8001
8002         fdatasync: minor improvements
8003         * modules/fdatasync (Depends-on): Add condition for fsync.
8004         * lib/fdatasync.c (fdatasync): Add comment.
8005         * tests/test-unistd-c++.cc: Test fdatasync.
8006
8007         unistd: update refs to newer POSIX
8008         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8009         Suggested by Bruno Haible.
8010
8011         fdatasync: new module
8012         * modules/fsync (Description): Document difference to fdatasync.
8013         * modules/fdatasync: New module.
8014         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8015         * lib/fdatasync.c (fdatasync): Likewise.
8016         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8017         defaults.
8018         * modules/unistd (Makefile.am): Set witnesses.
8019         * lib/unistd.in.h (fdatasync): Declare.
8020         * MODULES.html.sh: Document it.
8021         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8022         * modules/fdatasync-tests: New test.
8023         * tests/test-fdatasync.c: Likewise.
8024
8025 2011-09-16  Eric Blake  <eblake@redhat.com>
8026
8027         test-fsync: enhance tests
8028         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8029         * tests/test-fsync.c (main): Enhance test.
8030
8031 2011-09-15  Bruno Haible  <bruno@clisp.org>
8032
8033         Support for MSVC compiler: Ensure ssize_t gets defined.
8034         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8035         * doc/posix-headers/stdio.texi: Likewise.
8036         * modules/stdio (Depends-on): Add ssize_t.
8037         * modules/sys_socket (Depends-on): Likewise.
8038         * modules/sys_types (Depends-on): Likewise.
8039         * modules/sys_uio (Depends-on): Likewise.
8040         * modules/unistd (Depends-on): Likewise.
8041         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8042         * tests/test-sys_types.c: Check that ssize_t is defined.
8043
8044 2011-09-14  Bruno Haible  <bruno@clisp.org>
8045
8046         Avoid using #, the m4 comment starter character, near brackets.
8047         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8048         delimiter character in sed expressions.
8049         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8050         Suggested by Eric Blake.
8051
8052         Properly quote AC_CHECK_DECLS' 4th argument.
8053         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8054         argument.
8055         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8056         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8057         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8058         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8059         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8060         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8061         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8062         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8063         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8064         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8065         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8066         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8067         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8068         * m4/isinf.m4 (gl_ISINF): Likewise.
8069         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8070         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8071         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8072         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8073         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8074         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8075         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8076         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8077         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8078         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8079         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8080         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8081         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8082         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8083         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8084         Reported by Eric Blake.
8085
8086         Properly quote AC_CHECK_DECL's 4th argument.
8087         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8088         argument.
8089         * m4/argp.m4 (gl_ARGP): Likewise.
8090         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8091         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8092         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8093         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8094         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8095         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8096         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8097         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8098         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8099         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8100         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8101         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8102         Reported by Eric Blake.
8103
8104 2011-09-14  Eric Blake  <eblake@redhat.com>
8105
8106         opendir: avoid compile warning
8107         * lib/opendir.c (includes): Always include errno.h.
8108         Reported by Tatsuro MATSUOKA.
8109
8110 2011-09-14  Jim Meyering  <meyering@redhat.com>
8111
8112         maint.mk: sc_tight_scope: propagate failure from sub-make
8113         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8114         Reported by Martin von Gagern.
8115
8116 2011-09-13  Bruno Haible  <bruno@clisp.org>
8117
8118         tempname: Support for MSVC.
8119         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8120         MSVC.
8121         * modules/tempname (Depends-on): Add fcntl-h.
8122
8123 2011-09-13  Bruno Haible  <bruno@clisp.org>
8124
8125         sys_time: Support for MSVC.
8126         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8127         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8128         include <winsock2.h>.
8129         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8130         function declarations that collide with POSIX.
8131         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8132         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8133
8134 2011-09-13  Bruno Haible  <bruno@clisp.org>
8135
8136         stat: Support for MSVC.
8137         * lib/stat.c: Include pathmax.h.
8138         * modules/stat (Depends-on): Add pathmax.
8139
8140         pathmax: Support for native Windows.
8141         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8142
8143 2011-09-12  Bruno Haible  <bruno@clisp.org>
8144
8145         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8146         * lib/dirent.in.h (struct dirent): New type.
8147         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8148         DT_WHT): New macros.
8149         (DIR): New type.
8150         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8151         (readdir, rewinddir): New declarations.
8152         * lib/dirent-private.h: New file.
8153         * lib/opendir.c: New file.
8154         * lib/readdir.c: New file.
8155         * lib/rewinddir.c: New file.
8156         * lib/closedir.c: New file.
8157         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8158         * m4/opendir.m4: New file.
8159         * m4/readdir.m4: New file.
8160         * m4/rewinddir.m4: New file.
8161         * m4/closedir.m4: New file.
8162         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8163         REPLACE_CLOSEDIR here.
8164         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8165         readdir, rewinddir are declared.
8166         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8167         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8168         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8169         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8170         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8171         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8172         * modules/opendir: New file.
8173         * modules/readdir: New file.
8174         * modules/rewinddir: New file.
8175         * modules/closedir: New file.
8176         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8177         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8178         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8179         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8180         * NEWS: Mention the 'fchdir' change.
8181
8182 2011-09-11  Bruno Haible  <bruno@clisp.org>
8183
8184         asm-underscore.m4: Support for MSVC.
8185         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8186         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8187
8188 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8189
8190         Doc about crypt functions.
8191         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8192         needing for _GNU_SOURCE to get crypt.
8193         * doc/posix-functions/encrypt.texi: Likewise.
8194         * doc/posix-functions/setkey.texi: Likewise.
8195
8196 2011-09-11  Bruno Haible  <bruno@clisp.org>
8197
8198         doc: Update regarding MSVC 9.
8199         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8200         tested".
8201         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8202         * doc/posix-headers/*.texi: Likewise.
8203         * doc/pastposix-functions/*.texi: Likewise.
8204         * doc/glibc-functions/*.texi: Likewise.
8205         * doc/glibc-headers/*.texi: Likewise.
8206
8207 2011-09-11  Bruno Haible  <bruno@clisp.org>
8208
8209         unistd et al.: Don't assume <unistd.h> exists.
8210         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8211         does not exist.
8212         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8213         exist. But include <stdlib.h>.
8214         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8215         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8216         symlink() does not exist.
8217         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8218         include <io.h> instead.
8219         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8220         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8221         include <direct.h> instead.
8222         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8223         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8224         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8225         <io.h> instead.
8226         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8227         correctly if the system does not have hard links.
8228         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8229         <direct.h> instead.
8230         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8231         it when looking for function declarations.
8232         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8233         <direct.h> and <io.h> instead.
8234         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8235
8236 2011-09-11  Bruno Haible  <bruno@clisp.org>
8237
8238         strcase: Support for MSVC.
8239         * modules/strcase (Status, Notice): Remove obsoletion mark.
8240         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8241         * doc/posix-functions/strncasecmp.texi: Likewise.
8242
8243         strings: Don't assume <strings.h> exists.
8244         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8245         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8246         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8247         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8248
8249 2011-09-11  Bruno Haible  <bruno@clisp.org>
8250
8251         dirent: Don't assume <dirent.h> exists.
8252         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8253         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8254         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8255         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8256
8257 2011-09-11  Bruno Haible  <bruno@clisp.org>
8258
8259         Fix wint_t on MSVC.
8260         * lib/wchar.in.h (wint_t): On MSVC, override it.
8261         * lib/wctype.in.h (wint_t): Likewise.
8262         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8263         MSVC.
8264         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8265         * doc/posix-headers/wctype.texi: Likewise.
8266
8267 2011-09-11  Bruno Haible  <bruno@clisp.org>
8268
8269         sys_types: Fix typo.
8270         * lib/sys_types.in.h: Fix typo in comment.
8271         Reported by Paul Eggert.
8272
8273         Support for MSVC compiler: Ensure size_t gets defined.
8274         * modules/strings (Depends-on): Add 'sys_types'.
8275         * modules/sys_uio (Depends-on): Likewise.
8276         * lib/sys_uio.in.h: Update comment.
8277
8278         C++ tests for module 'sys_types'.
8279         * modules/sys_types-c++-tests: New file.
8280         * tests/test-sys_types-c++.cc: New file.
8281
8282         Tests for module 'sys_types'.
8283         * modules/sys_types-tests: New file.
8284         * tests/test-sys_types.c: New file.
8285
8286         New module 'sys_types'.
8287         * lib/sys_types.in.h: New file.
8288         * m4/sys_types_h.m4: New file.
8289         * modules/sys_types: New file.
8290         * doc/posix-headers/sys_types.texi: Mention the new module and the
8291         size_t problem on MSVC 9.
8292
8293 2011-09-11  Bruno Haible  <bruno@clisp.org>
8294
8295         Support for MSVC compiler: Avoid division by a literal 0.
8296         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8297         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8298         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8299         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8300         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8301         * tests/infinity.h: New file.
8302         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8303         on MSVC.
8304         * tests/test-ceilf1.c: Include infinity.h.
8305         (main): Use Infinityf.
8306         * tests/test-ceil1.c: Include infinity.h.
8307         (main): Use Infinityd.
8308         * tests/test-ceill.c: Include infinity.h.
8309         (main): Use Infinityl.
8310         * tests/test-dprintf-posix.c: Include infinity.h.
8311         (test_function): Use Infinityd.
8312         * tests/test-floorf1.c: Include infinity.h.
8313         (main): Use Infinityf.
8314         * tests/test-floor1.c: Include infinity.h.
8315         (main): Use Infinityd.
8316         * tests/test-floorl.c: Include infinity.h.
8317         (main): Use Infinityl.
8318         * tests/test-fprintf-posix.c: Include infinity.h.
8319         (test_function): Use Infinityd.
8320         * tests/test-frexp.c: Include infinity.h.
8321         (main): Use Infinityd.
8322         * tests/test-frexpl.c: Include infinity.h.
8323         (main): Use Infinityl.
8324         * tests/test-isfinite.c: Include infinity.h.
8325         (test_isfinitef): Use Infinityf.
8326         (test_isfinited): Use Infinityd.
8327         (test_isfinitel): Use Infinityl.
8328         * tests/test-isinf.c: Include infinity.h.
8329         (test_isinff): Use Infinityf.
8330         (test_isinfd): Use Infinityd.
8331         (test_isinfl): Use Infinityl.
8332         * tests/test-isnan.c: Include infinity.h.
8333         (test_float): Use Infinityf.
8334         (test_double): Use Infinityd.
8335         (test_long_double): Use Infinityl.
8336         * tests/test-isnanf.h: Include infinity.h.
8337         (main): Use Infinityf.
8338         * tests/test-isnand.h: Include infinity.h.
8339         (main): Use Infinityd.
8340         * tests/test-isnanl.h: Include infinity.h.
8341         (main): Use Infinityl.
8342         * tests/test-ldexpl.c: Include infinity.h.
8343         (main): Use Infinityl.
8344         * tests/test-printf-posix.h: Include infinity.h.
8345         (test_function): Use Infinityd.
8346         * tests/test-roundf1.c: Include infinity.h.
8347         (main): Use Infinityf.
8348         * tests/test-round1.c: Include infinity.h.
8349         (main): Use Infinityd.
8350         * tests/test-roundl.c: Include infinity.h.
8351         (main): Use Infinityl.
8352         * tests/test-signbit.c: Include infinity.h.
8353         (test_signbitf): Use Infinityf.
8354         (test_signbitd): Use Infinityd.
8355         (test_signbitl): Use Infinityl.
8356         * tests/test-snprintf-posix.h: Include infinity.h.
8357         (test_function): Use Infinityd, Infinityl.
8358         * tests/test-sprintf-posix.h: Include infinity.h.
8359         (test_function): Use Infinityd, Infinityl.
8360         * tests/test-truncf1.c: Include infinity.h.
8361         (main): Use Infinityf.
8362         * tests/test-trunc1.c: Include infinity.h.
8363         (main): Use Infinityd.
8364         * tests/test-truncl.c: Include infinity.h.
8365         (main): Use Infinityl.
8366         * tests/test-vasnprintf-posix.c: Include infinity.h.
8367         (test_function): Use Infinityd, Infinityl.
8368         * tests/test-vasprintf-posix.c: Include infinity.h.
8369         (test_function): Use Infinityd, Infinityl.
8370         * modules/ceilf-tests (Files): Add tests/infinity.h.
8371         * modules/ceil-tests (Files): Likewise.
8372         * modules/ceill-tests (Files): Likewise.
8373         * modules/dprintf-posix-tests (Files): Likewise.
8374         * modules/floorf-tests (Files): Likewise.
8375         * modules/floor-tests (Files): Likewise.
8376         * modules/floorl-tests (Files): Likewise.
8377         * modules/fprintf-posix-tests (Files): Likewise.
8378         * modules/frexp-tests (Files): Likewise.
8379         * modules/frexp-nolibm-tests (Files): Likewise.
8380         * modules/frexpl-tests (Files): Likewise.
8381         * modules/frexpl-nolibm-tests (Files): Likewise.
8382         * modules/isfinite-tests (Files): Likewise.
8383         * modules/isinf-tests (Files): Likewise.
8384         * modules/isnan-tests (Files): Likewise.
8385         * modules/isnanf-tests (Files): Likewise.
8386         * modules/isnanf-nolibm-tests (Files): Likewise.
8387         * modules/isnand-tests (Files): Likewise.
8388         * modules/isnand-nolibm-tests (Files): Likewise.
8389         * modules/isnanl-tests (Files): Likewise.
8390         * modules/isnanl-nolibm-tests (Files): Likewise.
8391         * modules/ldexpl-tests (Files): Likewise.
8392         * modules/printf-posix-tests (Files): Likewise.
8393         * modules/roundf-tests (Files): Likewise.
8394         * modules/round-tests (Files): Likewise.
8395         * modules/roundl-tests (Files): Likewise.
8396         * modules/signbit-tests (Files): Likewise.
8397         * modules/snprintf-posix-tests (Files): Likewise.
8398         * modules/sprintf-posix-tests (Files): Likewise.
8399         * modules/truncf-tests (Files): Likewise.
8400         * modules/trunc-tests (Files): Likewise.
8401         * modules/truncl-tests (Files): Likewise.
8402         * modules/vasnprintf-posix-tests (Files): Likewise.
8403         * modules/vasprintf-posix-tests (Files): Likewise.
8404         * modules/vdprintf-posix-tests (Files): Likewise.
8405         * modules/vfprintf-posix-tests (Files): Likewise.
8406         * modules/vprintf-posix-tests (Files): Likewise.
8407         * modules/vsnprintf-posix-tests (Files): Likewise.
8408         * modules/vsprintf-posix-tests (Files): Likewise.
8409         * modules/xprintf-posix-tests (Files): Likewise.
8410
8411 2011-09-11  Bruno Haible  <bruno@clisp.org>
8412
8413         Ensure pid_t gets defined.
8414         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8415         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8416         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8417         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8418         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8419         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8420         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8421         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8422         * tests/test-fcntl-h.c: Check that pid_t is defined.
8423         * tests/test-sched.c: Likewise.
8424         * tests/test-termios.c: Likewise.
8425         * tests/test-time.c: Likewise.
8426         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8427         * doc/posix-headers/signal.texi: Likewise.
8428         * doc/posix-headers/sys_types.texi: Likewise.
8429         * doc/posix-headers/time.texi: Likewise.
8430
8431 2011-09-11  Bruno Haible  <bruno@clisp.org>
8432
8433         acl: Fix compilation on Solaris 10 (older version).
8434         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8435         of ACE_EVERYONE.
8436         * lib/set-mode-acl.c (qset_acl): Likewise.
8437         Reported by Christian Jullien <eligis@orange.fr>.
8438
8439 2011-09-10  Bruno Haible  <bruno@clisp.org>
8440
8441         iconv, unsetenv: Add support for MSVC compiler.
8442         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8443         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8444
8445 2011-09-10  Bruno Haible  <bruno@clisp.org>
8446
8447         *printf: Add support for MSVC compiler.
8448         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8449         handles the exception caused by the %n directive. When cross-compiling,
8450         guess no on native Windows.
8451         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8452         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8453         emulate it through vsnprintf.
8454         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8455         * doc/posix-functions/dprintf.texi: Update documentation regarding
8456         MSVC 9.
8457         * doc/posix-functions/fprintf.texi: Likewise.
8458         * doc/posix-functions/printf.texi: Likewise.
8459         * doc/posix-functions/snprintf.texi: Likewise.
8460         * doc/posix-functions/sprintf.texi: Likewise.
8461         * doc/posix-functions/swprintf.texi: Likewise.
8462         * doc/posix-functions/vdprintf.texi: Likewise.
8463         * doc/posix-functions/vfprintf.texi: Likewise.
8464         * doc/posix-functions/vprintf.texi: Likewise.
8465         * doc/posix-functions/vsnprintf.texi: Likewise.
8466         * doc/posix-functions/vsprintf.texi: Likewise.
8467         * doc/glibc-functions/asprintf.texi: Likewise.
8468         * doc/glibc-functions/obstack_printf.texi: Likewise.
8469         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8470         * doc/glibc-functions/vasprintf.texi: Likewise.
8471
8472 2011-09-10  Bruno Haible  <bruno@clisp.org>
8473
8474         nocrash: Add support for native Windows.
8475         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8476
8477 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8478             Bruno Haible  <bruno@clisp.org>
8479
8480         absolute-header, include-next: Add support for MSVC compiler.
8481         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8482         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8483         directory separator in #line directives.
8484         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8485         recognize also backslash as directory separator in #line directives.
8486
8487 2011-09-08  Jim Meyering  <meyering@redhat.com>
8488
8489         maint.mk: mark the post-release commit log with "maint: " prefix
8490         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8491         one-line commit-log summary.
8492
8493 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8494             Bruno Haible  <bruno@clisp.org>
8495
8496         Doc about crypt functions.
8497         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8498         systems.
8499         * doc/posix-functions/encrypt.texi: Likewise.
8500         * doc/posix-functions/setkey.texi: Likewise.
8501
8502 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8503
8504         * lib/gc.h: Fix copyright header.
8505
8506 2011-09-07  Bruno Haible  <bruno@clisp.org>
8507
8508         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8509         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8510         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8511
8512 2011-09-07  Bruno Haible  <bruno@clisp.org>
8513
8514         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8515         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8516         * lib/freopen.c: Likewise.
8517         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8518         * lib/lstat.c: Likewise.
8519         * lib/stat.c: Likewise.
8520         * lib/open.c: Use different syntax for include of <fcntl.h>.
8521         * lib/openat.c: Include fcntl.h again, explicitly.
8522
8523 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8524
8525         parse-datetime: document the newly accepted format
8526         * doc/parse-datetime.texi (Combined date and time of day items):
8527         New section.
8528
8529 2011-09-06  Bruno Haible  <bruno@clisp.org>
8530
8531         acl: Fix a test failure on newer Solaris 10 with ZFS.
8532         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8533         ENOSYS as no ACL.
8534         Reported by Jim Meyering.
8535
8536 2011-09-06  Bruno Haible  <bruno@clisp.org>
8537
8538         acl: Update for AIX >= 5.3 with NFS.
8539         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8540         ENOSYS as no ACL.
8541
8542         acl: Fix a test failure on AIX >= 5.3 with NFS.
8543         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8544         as no ACL.
8545
8546 2011-09-06  Bruno Haible  <bruno@clisp.org>
8547
8548         acl: Fix a test failure on IRIX 6.5 with NFS.
8549         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8550         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8551         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8552         * lib/copy-acl.c (qcopy_acl): Likewise.
8553
8554 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8555
8556         openat: port to AIX 7.1 with large files
8557         AIX 7.1 does a "#define openat open64at" if large files are in use,
8558         so we can't simply #undef openat.  Use the orig_openat trick (similar
8559         to orig_open in lib/open.c) to work around the problem.  Problem
8560         reported by Kevin Brott for GNU tar, in the thread containing
8561         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8562         * lib/openat.c (__need_system_fcntl_h): Define first.
8563         Include <fcntl.h> and <sys/types.h> before undefining.
8564         (orig_openat) [HAVE_OPENAT]: New inline function.
8565         (openat) [HAVE_OPENAT]: Do not undef.
8566         (rpl_openat): Use orig_openat, not openat.
8567
8568 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8569             Bruno Haible  <bruno@clisp.org>
8570
8571         acl: Avoid errors on NonStop Kernel.
8572         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8573         ENOTSUP errors.
8574
8575 2011-09-05  Bruno Haible  <bruno@clisp.org>
8576
8577         acl: Clean up Solaris code.
8578         * lib/acl-internal.h: Remove no-op #if.
8579         * lib/file-has-acl.c: Likewise.
8580         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8581         * lib/copy-acl.c (qcopy_acl): Likewise.
8582
8583 2011-09-05  Bruno Haible  <bruno@clisp.org>
8584
8585         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8586         binaries built on the original Solaris 10.
8587         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8588         trivial.
8589
8590 2011-09-05  Bruno Haible  <bruno@clisp.org>
8591
8592         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8593         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8594         10.
8595         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8596         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8597         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8598         instead of acl_get, facl_get, acl_set, facl_set.
8599
8600 2011-09-05  Bruno Haible  <bruno@clisp.org>
8601
8602         copy-file: Try unit tests on more file systems.
8603         * tests/test-copy-file-1.sh: New file.
8604         * tests/test-copy-file-2.sh: New file.
8605         * modules/copy-file-tests (Files): Add them.
8606         (Makefile.am): Add them to TESTS.
8607
8608         acl: Try unit tests on more file systems.
8609         * tests/test-file-has-acl-1.sh: New file.
8610         * tests/test-file-has-acl-2.sh: New file.
8611         * tests/test-set-mode-acl-1.sh: New file.
8612         * tests/test-set-mode-acl-2.sh: New file.
8613         * tests/test-copy-acl-1.sh: New file.
8614         * tests/test-copy-acl-2.sh: New file.
8615         * modules/acl-tests (Files): Add them.
8616         (Makefile.am): Add them to TESTS.
8617
8618 2011-09-04  Bruno Haible  <bruno@clisp.org>
8619
8620         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8621         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8622         10.
8623         (OLD_ALLOW, OLD_DENY): New macros.
8624         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8625         ACE_ACCESS_ALLOWED_ACE_TYPE.
8626         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8627         ACE_ACCESS_DENIED_ACE_TYPE.
8628         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8629         (NEW_ACE_EXECUTE): Fix value.
8630         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8631         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8632         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8633         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8634         NEW_ACE_SYNCHRONIZE): New macros.
8635         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8636         instead of acl_fromtext, acl_set, facl_set.
8637         Fixes a coreutils/tests/cp/perm failure.
8638
8639 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8640
8641         openat: test for fstatat (..., 0) bug
8642         Further testing with tar suggests that fstatat (..., 0)
8643         does not work in general, on AIX 7.1; see
8644         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8645         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8646         replacement fstatat (which is what older AIX releases were using
8647         anyway).
8648         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8649         use is now changed to orig_fstatat.  This was probably the right
8650         thing to do anyway.
8651         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8652         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8653         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8654         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8655         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8656         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8657         if the bug is found.
8658
8659         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8660         This tests for another fstatat bug on AIX 7.1:
8661         fstatat (AT_FDCWD, ..., 0) does not work.  See
8662         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8663         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8664         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8665         (rpl_fstatat): Adjust so that it works around either (or both)
8666         bugs if present.
8667         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8668
8669 2011-09-03  Karl Berry  <karl@gnu.org>
8670
8671         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8672         in index entries.
8673
8674 2011-09-02  Bruno Haible  <bruno@clisp.org>
8675
8676         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8677         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8678         values of AR, ARFLAGS, RANLIB.
8679         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8680
8681 2011-09-02  Bruno Haible  <bruno@clisp.org>
8682
8683         Find 'ar' program that fits with --host argument.
8684         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8685
8686 2011-09-02  Bruno Haible  <bruno@clisp.org>
8687
8688         tests: init.sh: Support any non-GNU diff.
8689         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8690         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8691         Solaris 8.
8692
8693 2011-09-02  Bruno Haible  <bruno@clisp.org>
8694
8695         tests: init.sh: work also with any non-GNU diff that supports -u
8696         * tests/init.sh: Relax check for diff -u support.
8697         Rather than checking for GNU diff via --version, simply check
8698         for support for -u itself.  Useful at least on OpenBSD 4.9,
8699         AIX 7.1, IRIX 6.5, and Solaris 10.
8700
8701 2011-09-01  Bruno Haible  <bruno@clisp.org>
8702
8703         strtoimax, strtoumax: Document problem on HP-UX 11.
8704         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8705         * doc/posix-functions/strtoumax.texi: Likewise.
8706
8707 2011-09-01  Bruno Haible  <bruno@clisp.org>
8708
8709         strtoumax: Avoid link error on OSF/1 with DTK cc.
8710         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8711         defined as a function.
8712         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8713         strtoumax is defined, not whether it is declared.
8714
8715 2011-09-01  Bruno Haible  <bruno@clisp.org>
8716
8717         strtoimax: Avoid link error on OSF/1 with DTK cc.
8718         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8719         defined as a function.
8720         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8721         strtoimax is defined, not whether it is declared.
8722
8723 2011-09-01  Bruno Haible  <bruno@clisp.org>
8724
8725         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8726         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8727         as a function.
8728         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8729         whether it is declared.
8730
8731 2011-09-01  Bruno Haible  <bruno@clisp.org>
8732
8733         imaxabs: Avoid link error on OSF/1 with DTK cc.
8734         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8735         as a function.
8736         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8737         whether it is declared.
8738
8739 2011-09-01  Bruno Haible  <bruno@clisp.org>
8740
8741         Tests for module 'strtoumax'.
8742         * modules/strtoumax-tests: New file.
8743         * tests/test-strtoumax.c: New file.
8744
8745         Tests for module 'strtoimax'.
8746         * modules/strtoimax-tests: New file.
8747         * tests/test-strtoimax.c: New file.
8748
8749         Tests for module 'imaxdiv'.
8750         * modules/imaxdiv-tests: New file.
8751         * tests/test-imaxdiv.c: New file.
8752
8753         Tests for module 'imaxabs'.
8754         * modules/imaxabs-tests: New file.
8755         * tests/test-imaxabs.c: New file.
8756
8757 2011-09-01  Bruno Haible  <bruno@clisp.org>
8758
8759         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8760         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8761         pthread_create.
8762
8763 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8764
8765         openat: work around AIX 7.1 fstatat issue
8766         This should fix the problem that was not properly fixed
8767         in the previous change, dated 2011-08-30.
8768         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8769         __need_system_stat_h defined.
8770         (orig_fstatat) [HAVE_FSTATAT]: New function.
8771         (rpl_fstatat): Go back to the old way of doing things,
8772         except call orig_fstatat instead of fstatat.
8773         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8774         Remove unnecessary check whether fstatat fills in st_size etc.
8775
8776 2011-09-01  Bruno Haible  <bruno@clisp.org>
8777
8778         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8779         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8780         just include the system's header.
8781
8782 2011-08-31  Jim Meyering  <meyering@redhat.com>
8783
8784         tests: avoid spurious assertion failure in test-float.c on ppc64
8785         * tests/test-float.c (test_long_double): Comment out an assertion,
8786         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8787         with gcc-4.4.4.
8788
8789         maint: indent with spaces, not TABs
8790         I need to get in the habit of running gnulib's "make check".
8791         Both of these would have been caught.
8792         * m4/largefile.m4: Indent with spaces, not TABs.
8793         * lib/parse-datetime.y (iso_8601_time): Likewise.
8794         Spotted by Pádraig Brady.
8795
8796         test-parse-datetime.c: accommodate a relatively strict gcc warning
8797         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
8798         to avoid a warning from gcc's -Werror=missing-declarations.
8799         Insert a few spaces-before-funcall-parenthesis.
8800
8801 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
8802
8803         parse-datetime: accept ISO 8601 date and time rep with "T" separator
8804         The parser now accepts ISO 8601 date-time strings with "T" as the
8805         separator.  It has long parsed dates like "2004-02-29 16:21:42"
8806         with a space between the date and time strings.  Now it also parses
8807         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
8808         variants like "2004-02-29T16:21:42.333-07:00"
8809         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
8810         of day representation using the 'T' separator character.
8811         * doc/parse-datetime.texi (General date syntax): replace use of
8812         deprecated --iso-8601 option with --rfc-3339 in example of date
8813         command output formats that can be parsed.
8814         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8815         lib/parse-datetime.y.
8816         (gmt_offset): New function.
8817         (main): Add additional test cases to validate ISO8601 extended
8818         date and time of day parsing.
8819
8820 2011-08-31  Bruno Haible  <bruno@clisp.org>
8821
8822         freopen: Documentation.
8823         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8824         name.
8825         Reported by Claudio Bley <claudio.bley@gmail.com>.
8826
8827 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8828
8829         freopen: Don't crash if the filename argument is NULL.
8830         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8831         NULL.
8832
8833 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8834
8835         openat: work around AIX 7.1 fstatat bug
8836         Problem reported by Kevin Brott for GNU tar, in the thread containing
8837         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8838         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8839         FSTATAT_ST_SIZE_ETC_BROKEN.
8840         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8841         rpl_fstatat.
8842         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8843         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8844         AC_CHECK_FUNCS_ONCE for fstatat.
8845         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8846         fchmodat, mkdirat, openat and unlinkat.
8847
8848 2011-08-30  Bruno Haible  <bruno@clisp.org>
8849
8850         Avoid endless recursions if config.h includes some header files.
8851         * lib/fopen.c (__need_FILE): Define already before including config.h.
8852         * lib/freopen.c (__need_FILE): Likewise.
8853         * lib/open.c (__need_system_fcntl_h): Likewise.
8854         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8855         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8856         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8857
8858 2011-08-25  Karl Berry  <karl@gnu.org>
8859
8860         * config/srclist.txt (ylwrap): new try.
8861         * build-aux/ylwrap: new file.
8862
8863 2011-08-23  Bruno Haible  <bruno@clisp.org>
8864
8865         tmpdir: Use a good default directory on native Windows.
8866         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8867         (P_tmpdir): Default to _P_tmpdir on native Windows.
8868         (path_search): On native Windows, try the value returned by GetTempPath
8869         before trying P_tmpdir.
8870         * modules/tmpdir (Depends-on): Add pathmax.
8871         Suggested by John Darrington <john@darrington.wattle.id.au>.
8872
8873 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8874
8875         doc: fix typo in README-release
8876         * top/README-release: Capitalize first word of a sentence.
8877
8878 2011-08-19  Jim Meyering  <meyering@redhat.com>
8879
8880         fts: do not exhaust memory when processing million-entry directories
8881         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8882         directory would require about 256*N bytes of memory.  Thus, it was
8883         easy to construct a directory too large to be processed by any of
8884         those tools.  With this change, fts' maximum memory utilization is
8885         now limited to around 30MB.
8886         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8887         (fts_read): When we've processed the final entry (i.e., when
8888         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8889         using the parent entry to read any remaining entries.  Dispatch
8890         depending on what fts_build returns:
8891         - NULL+stop, aka failure: stop
8892         - NULL otherwise: move up in the dir hierarchy
8893         - non-NULL: handle this new entry
8894         (fts_build): Declare and use new local, continue_readdir.
8895         Prepare to be called from fts_read, when the entries
8896         from a partially-read directory have just been exhausted.
8897         In that case, we'll skip the opendir and instead use the parent's
8898         fts_dirp and derive dir_fd from that.
8899         Finally, in the readdir loop, if we read max_entries entries,
8900         exit the loop ensuring *not* to call closedir.  This is required
8901         so that fts_dirp can be reused on a subsequent call.
8902         Prompted by Ben England's report of memory exhaustion in find
8903         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8904
8905         maint: fts: move decl of `dp' down into while loop; split a long line
8906         * lib/fts.c (fts_build): No semantic change.
8907
8908         fts: add/use new struct member, fts_dirp
8909         We are about to use this to manage any directory with
8910         too many entries to read all of them into memory at once.
8911         To do that, we'll need to save the DIR* pointer in each
8912         affected FTSENT struct.
8913         * lib/fts_.h: Include <dirent.h>.
8914         (struct FTSENT) [fts_dirp]: New member.
8915         * lib/fts.c (closedir_and_clear): Define.
8916         Use it in place of closedir so that we are sure to
8917         clear the new fts_dirp member when done with it.
8918         (fts_alloc): Initialize the new member.
8919         (fts_lfree): Free, if needed.
8920
8921         maint: fts: give __opendir2 a new parameter and rename
8922         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
8923         than surreptitiously using sole caller's "dir_fd".
8924         (fts_opendir): Rename from __opendir2.
8925
8926         maint: fts.c: remove __opendir2's now-unused parameter, oflag
8927         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
8928
8929         maint: fts.c: correct off-by-one indentation
8930         * lib/fts.c (fts_build): Correct indentation, change style
8931         of a couple of block comments, and bracing style.
8932
8933         maint: fts.c: move __opendir2 #define "up" out of function body
8934         * lib/fts.c (__opendir2): Move "up".  No semantic change.
8935
8936         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
8937         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
8938         out for a long time and besides was useful only on BSD systems.
8939
8940 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8941
8942         regex: port to Stratus OpenVOS
8943         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
8944         define to empty, rather than attempting nonportable optimizations.
8945         Problem reported by Paul Green in:
8946         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
8947         and fix suggested by Eric Blake in:
8948         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
8949
8950 2011-08-17  Eric Blake  <eblake@redhat.com>
8951
8952         getcwd: fix test failures on mingw
8953         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
8954         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
8955         test if long directory cannot be created, and allow mingw errno.
8956
8957         getcwd-lgpl: fix m4 to match relaxed test for BSD
8958         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
8959         (gl_FUNC_GETCWD_SIGNATURE): New macro.
8960         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
8961         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
8962         signature problem.
8963
8964         getcwd: fix compilation on mingw64
8965         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
8966         getcwd.
8967         Reported by Marc-André Lureau.
8968
8969         pipe2: silence compiler warning
8970         * lib/pipe2.c (pipe2): Hide label if it is not used.
8971
8972 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
8973
8974         relocatable-prog: fix link error
8975         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
8976         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
8977         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
8978         into modules/relocatable-lib without noticing that
8979         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
8980         also needs to build relocatable.c.
8981
8982 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
8983
8984         getaddrinfo: fix sh typo in gai_strerrorA decl checking
8985         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
8986         shell code: it contained a 'break' that was not in a loop.
8987         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
8988         via a shell-language loop; this may have been true in old Autoconf
8989         versions, but it's not true in Autoconf 2.68.  I found this bug
8990         when testing coreutils git on Solaris 8, whose shell complains
8991         about the syntax error.
8992
8993 2011-08-12  Simon Josefsson  <simon@josefsson.org>
8994
8995         * lib/base64.c: Fix comment to reference RFC 4648.
8996         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
8997         <gvtulder@gmail.com>.
8998
8999 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9000
9001         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9002
9003         po/Makefile.in.in: fix make -q problem
9004         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9005         rule, since there's no file named 'check-macro-version' and its
9006         use as a file breaks make -q.
9007         (all): Don't depend on check-macro-version.
9008         (CHECK_MACRO_VERSION): New macro.
9009         (stamp-po): Use it.
9010
9011         configmake: fix make -q problem
9012         * modules/configmake (configmake.h): Update configmake.h's time stamp
9013         even if the file does not change.  Otherwise, 'make -q' fails.
9014         Problem reported by Simon Josefsson in
9015         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9016
9017 2011-08-11  Jim Meyering  <meyering@redhat.com>
9018
9019         git-version-gen: correct the advice in a comment
9020         * build-aux/git-version-gen: Correct comment.
9021         Don't recommend to list .tarball-version in .gitignore.
9022
9023 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9024
9025         base64: fix off-by-one buffer size bug
9026         Problem and (trivial) fix reported by Gijs van Tulder in
9027         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9028         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9029         * tests/test-base64.c (main): Catch the bug.
9030
9031 2011-08-10  Eric Blake  <eblake@redhat.com>
9032
9033         closein: correct comments
9034         * lib/closein.c (close_stdin): Improve comments.
9035
9036 2011-08-09  Bruno Haible  <bruno@clisp.org>
9037
9038         More tests for 'fseeko'.
9039         * tests/test-fseeko3.c: New file, from Eric Blake.
9040         * tests/test-fseeko3.sh: New file.
9041         * modules/fseeko-tests (Files): Add them.
9042         (TESTS): Add test-fseeko3.sh.
9043         (check_PROGRAMS): Add test-fseeko3.
9044
9045 2011-08-09  Eric Blake  <eblake@redhat.com>
9046
9047         fseeko: remove unneeded hack
9048         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9049
9050         fseeko: fix bug on glibc
9051         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9052         Reported by John W. Eaton.
9053
9054 2011-08-08  Bruno Haible  <bruno@clisp.org>
9055
9056         unictype/base: Fix interoperability with preinstalled libunistring.
9057         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9058         Reported by Simon Josefsson.
9059
9060 2011-08-08  Bruno Haible  <bruno@clisp.org>
9061
9062         iswblank: Detect declaration correctly.
9063         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9064         AC_CHECK_DECLS invocation.
9065
9066 2011-08-08  Bruno Haible  <bruno@clisp.org>
9067
9068         tcgetsid: Detect declaration correctly.
9069         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9070         AC_CHECK_DECLS invocation.
9071         Reported by Simon Josefsson.
9072
9073 2011-08-08  Eric Blake  <eblake@redhat.com>
9074
9075         largefile: fix typo that regressed large file support
9076         * modules/largefile (configure.ac-early): Fix section name.
9077
9078 2011-08-06  Karl Berry  <karl@gnu.org>
9079
9080         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9081         a separate module.
9082
9083 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9084
9085         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9086         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9087         get prototype for free.
9088
9089 2011-08-04  Bruno Haible  <bruno@clisp.org>
9090
9091         Tests for module 'pathmax'.
9092         * modules/pathmax-tests: New file.
9093         * tests/test-pathmax.c: New file.
9094
9095         canonicalize-lgpl: Support larger filenames on the Hurd.
9096         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9097         Reported by Paul Eggert.
9098
9099         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9100         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9101         * lib/chdir-long.h: Include pathmax.h.
9102         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9103         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9104         (PATH_MAX): Remove code that is done by pathmax.h.
9105         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9106         * lib/tmpfile.c: Add a comment.
9107         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9108         * modules/chdir-long (Depends-on): Add pathmax.
9109         * modules/getcwd (Depends-on): Add pathmax.
9110         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9111         is not defined.
9112         * doc/posix-headers/limits.texi: Mention the pathmax module.
9113         * NEWS: Mention the change.
9114
9115 2011-08-02  Bruno Haible  <bruno@clisp.org>
9116
9117         pthread_sigmask: Actually use results of gl_THREADLIB.
9118         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9119         gl_THREADLIB, not gl_[]THREADLIB.
9120         Reported by Eric Blake.
9121
9122 2011-08-02  Jim Meyering  <meyering@redhat.com>
9123
9124         maint.mk: relax the default _gl_TS_function_match regexp
9125         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9126         space between function name and "(" in an "extern" declaration.
9127         That would fail to match a decl with no space there: extern void foo();
9128
9129 2011-07-31  Iain Nicol  <iain@thenicols.net>
9130
9131         git-version-gen: document that EXTRA_DIST must include .version
9132         * build-aux/git-version-gen: In the how-to-use comment, document
9133         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9134         will fail when run from an unpacked distribution tarball.
9135
9136 2011-08-01  Bruno Haible  <bruno@clisp.org>
9137
9138         wctype-h: Fix last change.
9139         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9140         REPLACE_TOWLOWER to 0.
9141         Reported by Sam Steingold <sds@gnu.org>.
9142
9143 2011-07-31  Bruno Haible  <bruno@clisp.org>
9144
9145         frexpl: Update autoconf test.
9146         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9147         according to changes of 2011-06-20.
9148
9149 2011-07-31  Bruno Haible  <bruno@clisp.org>
9150
9151         sys_utsname: Add support for Minix.
9152         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9153         <sys/utsname.h>.
9154         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9155         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9156
9157 2011-07-31  Bruno Haible  <bruno@clisp.org>
9158
9159         strings: Add support for Minix.
9160         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9161         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9162         * doc/posix-headers/strings.texi: Document the Minix problem.
9163
9164 2011-07-31  Bruno Haible  <bruno@clisp.org>
9165
9166         wctype-h: Add support for Minix.
9167         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9168         REPLACE_TOWLOWER.
9169         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9170         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9171         REPLACE_ISWCNTRL.
9172
9173 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9174
9175         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9176         This is a performance improvement for 64-bit hosts: it causes the
9177         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9178
9179 2011-07-31  Bruno Haible  <bruno@clisp.org>
9180
9181         stdioext: Add support for Minix.
9182         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9183         * lib/fpurge.c (fpurge): Likewise.
9184         * lib/freadahead.c (freadahead): Likewise.
9185         * lib/freadable.c (freadable): Likewise.
9186         * lib/freading.c (freading): Likewise.
9187         * lib/freadptr.c (freadptr): Likewise.
9188         * lib/freadseek.c (freadptrinc): Likewise.
9189         * lib/fseeko.c (rpl_fseeko): Likewise.
9190         * lib/fseterr.c (fseterr): Likewise.
9191         * lib/fwritable.c (fwritable): Likewise.
9192         * lib/fwriting.c (fwriting): Likewise.
9193         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9194         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9195
9196 2011-07-31  Bruno Haible  <bruno@clisp.org>
9197
9198         errno: Port to Minix.
9199         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9200         ECONNABORTED are defined.
9201         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9202         GNULIB_defined_ECONNABORTED): New macros.
9203         * lib/strerror-override.h (strerror_override): Test also
9204         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9205         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9206         ECONNABORTED.
9207         * doc/posix-headers/errno.texi: Mention the Minix problem.
9208
9209 2011-07-31  Bruno Haible  <bruno@clisp.org>
9210
9211         Work around declaration collisions on Minix.
9212         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9213         defined, set REPLACE_MBSINIT.
9214         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9215         defined, set REPLACE_MBRTOWC.
9216         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9217         set REPLACE_MBRLEN.
9218         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9219         defined, set REPLACE_MBSRTOWCS.
9220         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9221         defined, set REPLACE_WCRTOMB.
9222         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9223         defined, set REPLACE_WCSRTOMBS.
9224
9225 2011-07-31  Bruno Haible  <bruno@clisp.org>
9226
9227         Add support for Minix with ACK compiler.
9228         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9229         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9230         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9231
9232 2011-07-31  Bruno Haible  <bruno@clisp.org>
9233
9234         Documentation about Minix.
9235         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9236         * doc/glibc-headers/*.texi: Likewise.
9237         * doc/posix-functions/*.texi: Likewise.
9238         * doc/glibc-functions/*.texi: Likewise.
9239
9240 2011-07-31  Bruno Haible  <bruno@clisp.org>
9241
9242         snippet/warn-on-use: Fix indentation.
9243         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9244
9245 2011-07-25  Jim Meyering  <meyering@redhat.com>
9246
9247         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9248         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9249         commands.
9250
9251 2011-07-27  Jim Meyering  <meyering@redhat.com>
9252
9253         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9254         * top/maint.mk (gl_extract_significant_defines_): Now that
9255         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9256         gnulib/lib/signal.in.h, and now that we recommend to
9257         define-if-undefined those two symbols in application code,
9258         we must filter them out of the "significant" list.
9259         This avoids a "make syntax-check" failure in coreutils.
9260
9261 2011-07-26  Eric Blake  <eblake@redhat.com>
9262
9263         warnings: add comments about previous patch
9264         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9265         * m4/include_next.m4: Likewise.
9266         * m4/warn-on-use.m4: Likewise.
9267         * m4/warnings.m4: Likewise, and simplify use.
9268         Suggested by Stefano Lattarini.
9269
9270         include-next, warnings: support older autoconf
9271         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9272         AS_VAR_PUSHDEF in a way that works with older autoconf.
9273         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9274         Reported by Daniel P. Berrange.
9275
9276 2011-07-25  Bruno Haible  <bruno@clisp.org>
9277
9278         fseek, ftell: Fix doc.
9279         * doc/posix-functions/fseek.texi: Reword statement about
9280         AC_SYS_LARGEFILE.
9281         * doc/posix-functions/ftell.texi: Likewise.
9282
9283 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9284             Bruno Haible  <bruno@clisp.org>
9285
9286         Add dependencies to the 'largefile' module.
9287         * modules/fopen (Depends-on): Add 'largefile'.
9288         * modules/freopen (Depends-on): Likewise.
9289         * modules/fseeko (Depends-on): Likewise.
9290         * modules/ftello (Depends-on): Likewise.
9291         * modules/glob (Depends-on): Likewise.
9292         * modules/lseek (Depends-on): Likewise.
9293         * modules/lstat (Depends-on): Likewise.
9294         * modules/mkostemp (Depends-on): Likewise.
9295         * modules/mkostemps (Depends-on): Likewise.
9296         * modules/mkstemp (Depends-on): Likewise.
9297         * modules/mkstemps (Depends-on): Likewise.
9298         * modules/open (Depends-on): Likewise.
9299         * modules/openat (Depends-on): Likewise.
9300         * modules/pread (Depends-on): Likewise.
9301         * modules/pwrite (Depends-on): Likewise.
9302         * modules/scandir (Depends-on): Likewise.
9303         * modules/stat (Depends-on): Likewise.
9304         * modules/tmpfile (Depends-on): Likewise.
9305         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9306         since the containing module now depends on the largefile module.
9307         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9308         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9309         off_t is fixed by gnulib.
9310         * doc/posix-functions/freopen.texi: Likewise.
9311         * doc/posix-functions/fseeko.texi: Likewise.
9312         * doc/posix-functions/fstatat.texi: Likewise.
9313         * doc/posix-functions/ftello.texi: Likewise.
9314         * doc/posix-functions/glob.texi: Likewise.
9315         * doc/posix-functions/lseek.texi: Likewise.
9316         * doc/posix-functions/lstat.texi: Likewise.
9317         * doc/posix-functions/mkstemp.texi: Likewise.
9318         * doc/posix-functions/open.texi: Likewise.
9319         * doc/posix-functions/openat.texi: Likewise.
9320         * doc/posix-functions/pread.texi: Likewise.
9321         * doc/posix-functions/pwrite.texi: Likewise.
9322         * doc/posix-functions/scandir.texi: Likewise.
9323         * doc/posix-functions/stat.texi: Likewise.
9324         * doc/posix-functions/tmpfile.texi: Likewise.
9325         * doc/glibc-functions/mkostemp.texi: Likewise.
9326         * doc/glibc-functions/mkostemps.texi: Likewise.
9327         * doc/glibc-functions/mkstemps.texi: Likewise.
9328
9329 2011-07-25  Bruno Haible  <bruno@clisp.org>
9330
9331         fcntl: Move AC_LIBOBJ invocation to module description.
9332         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9333         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9334
9335         fcntl: Remove call-in from fchdir.m4.
9336         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9337         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9338
9339         dup3: Remove potential call-in from fchdir.m4.
9340         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9341         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9342
9343         dup2: Move AC_LIBOBJ invocation to module description.
9344         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9345         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9346         Don't invoke AC_LIBOBJ.
9347         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9348
9349         dup2: Remove call-in from fchdir.m4.
9350         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9352
9353         fclose: Move AC_LIBOBJ invocation to module description.
9354         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9355         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9356         to 1.
9357         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9358
9359         fclose: Remove call-in from close.m4.
9360         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9361         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9362
9363         close: Move AC_LIBOBJ invocation to module description.
9364         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9365         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9366         1.
9367         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9368
9369         close: Remove call-in from fchdir.m4.
9370         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9371         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9372
9373         open: Move AC_LIBOBJ invocation to module description.
9374         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9375         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9376         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9377
9378         open: Remove call-in from fchdir.m4.
9379         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9380         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9381
9382         fchdir: Start to remove gl_REPLACE_* idiom.
9383         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9384         (gl_FUNC_FCHDIR): Invoke it.
9385
9386 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9387
9388         * lib/ftell.c (ftell): Comment out cast.
9389
9390         close: use gl_REPLACE_FCLOSE only if defined
9391         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9392         is defined.  The close module doesn't depend on the fclose module
9393         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9394         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9395         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9396
9397 2011-07-24  Jim Meyering  <meyering@redhat.com>
9398
9399         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9400         * tests/test-select.h (test_function): Declare as "static".
9401
9402 2011-07-24  Bruno Haible  <bruno@clisp.org>
9403
9404         doc: Mention the effects of AC_SYS_LARGEFILE.
9405         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9406         on this function.
9407         * doc/posix-functions/aio_error.texi: Likewise.
9408         * doc/posix-functions/aio_fsync.texi: Likewise.
9409         * doc/posix-functions/aio_read.texi: Likewise.
9410         * doc/posix-functions/aio_return.texi: Likewise.
9411         * doc/posix-functions/aio_suspend.texi: Likewise.
9412         * doc/posix-functions/aio_write.texi: Likewise.
9413         * doc/posix-functions/fgetpos.texi: Likewise.
9414         * doc/posix-functions/fopen.texi: Likewise.
9415         * doc/posix-functions/freopen.texi: Likewise.
9416         * doc/posix-functions/fsetpos.texi: Likewise.
9417         * doc/posix-functions/fstatvfs.texi: Likewise.
9418         * doc/posix-functions/ftruncate.texi: Likewise.
9419         * doc/posix-functions/ftw.texi: Likewise.
9420         * doc/posix-functions/getrlimit.texi: Likewise.
9421         * doc/posix-functions/glob.texi: Likewise.
9422         * doc/posix-functions/lio_listio.texi: Likewise.
9423         * doc/posix-functions/lockf.texi: Likewise.
9424         * doc/posix-functions/mkstemp.texi: Likewise.
9425         * doc/posix-functions/mmap.texi: Likewise.
9426         * doc/posix-functions/nftw.texi: Likewise.
9427         * doc/posix-functions/openat.texi: Likewise.
9428         * doc/posix-functions/opendir.texi: Likewise.
9429         * doc/posix-functions/posix_fadvise.texi: Likewise.
9430         * doc/posix-functions/posix_fallocate.texi: Likewise.
9431         * doc/posix-functions/pread.texi: Likewise.
9432         * doc/posix-functions/pwrite.texi: Likewise.
9433         * doc/posix-functions/readdir.texi: Likewise.
9434         * doc/posix-functions/readdir_r.texi: Likewise.
9435         * doc/posix-functions/rewinddir.texi: Likewise.
9436         * doc/posix-functions/scandir.texi: Likewise.
9437         * doc/posix-functions/seekdir.texi: Likewise.
9438         * doc/posix-functions/setrlimit.texi: Likewise.
9439         * doc/posix-functions/statvfs.texi: Likewise.
9440         * doc/posix-functions/telldir.texi: Likewise.
9441         * doc/posix-functions/tmpfile.texi: Likewise.
9442         * doc/posix-functions/truncate.texi: Likewise.
9443         * doc/glibc-functions/fallocate.texi: Likewise.
9444         * doc/glibc-functions/fstatfs.texi: Likewise.
9445         * doc/glibc-functions/fts_children.texi: Likewise.
9446         * doc/glibc-functions/fts_read.texi: Likewise.
9447         * doc/glibc-functions/getdirentries.texi: Likewise.
9448         * doc/glibc-functions/mkostemp.texi: Likewise.
9449         * doc/glibc-functions/mkostemps.texi: Likewise.
9450         * doc/glibc-functions/mkstemps.texi: Likewise.
9451         * doc/glibc-functions/preadv.texi: Likewise.
9452         * doc/glibc-functions/pwritev.texi: Likewise.
9453         * doc/glibc-functions/sendfile.texi: Likewise.
9454         * doc/glibc-functions/statfs.texi: Likewise.
9455
9456 2011-07-24  Bruno Haible  <bruno@clisp.org>
9457
9458         doc: Fix typo.
9459         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9460
9461 2011-07-24  Bruno Haible  <bruno@clisp.org>
9462
9463         doc: Mention fsusage.
9464         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9465
9466 2011-07-24  Bruno Haible  <bruno@clisp.org>
9467
9468         doc: Mention new glibc headers and functions.
9469         * doc/glibc-headers/gshadow.texi: New file.
9470         * doc/glibc-functions/endsgent.texi: New file.
9471         * doc/glibc-functions/fgetsgent.texi: New file.
9472         * doc/glibc-functions/fgetsgent_r.texi: New file.
9473         * doc/glibc-functions/getsgent.texi: New file.
9474         * doc/glibc-functions/getsgent_r.texi: New file.
9475         * doc/glibc-functions/getsgnam.texi: New file.
9476         * doc/glibc-functions/getsgnam_r.texi: New file.
9477         * doc/glibc-functions/putsgent.texi: New file.
9478         * doc/glibc-functions/setsgent.texi: New file.
9479         * doc/glibc-functions/sgetsgent.texi: New file.
9480         * doc/glibc-functions/sgetsgent_r.texi: New file.
9481         * doc/glibc-functions/malloc_info.texi: New file.
9482         * doc/glibc-functions/preadv.texi: New file.
9483         * doc/glibc-functions/pwritev.texi: New file.
9484         * doc/glibc-functions/register_printf_modifier.texi: New file.
9485         * doc/glibc-functions/register_printf_specifier.texi: New file.
9486         * doc/glibc-functions/register_printf_type.texi: New file.
9487         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9488         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9489         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9490         * doc/glibc-functions/pthread_getname_np.texi: New file.
9491         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9492         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9493         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9494         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9495         * doc/glibc-functions/pthread_setname_np.texi: New file.
9496         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9497         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9498         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9499         * doc/glibc-functions/qsort_r.texi: New file.
9500         * doc/glibc-functions/quick_exit.texi: New file.
9501         * doc/glibc-functions/syncfs.texi: New file.
9502         * doc/gnulib.texi: Include them.
9503         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9504         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9505         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9506         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9507         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9508         * doc/glibc-functions/execvpe.texi: Likewise.
9509
9510 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9511
9512         ftell: don't include <unistd.h>
9513         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9514         guaranteed to define off_t, and the ftell module depends on the
9515         stdio module.
9516
9517         ftell: do not assume wraparound signed arithmetic
9518         * lib/ftell.c: Include <limits.h>.
9519         (ftell): Don't assume wraparound signed arithmetic.
9520
9521 2011-07-24  Bruno Haible  <bruno@clisp.org>
9522
9523         close: No longer depend on module 'fclose'.
9524         * modules/close (Depends-on): Remove fclose.
9525         * NEWS: Mention the change.
9526         Suggested by Sam Steingold <sds@gnu.org>.
9527
9528 2011-07-24  Bruno Haible  <bruno@clisp.org>
9529
9530         fsusage: Enable large volume support on AIX >= 5.2.
9531         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9532         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9533         instead of STAT_STATVFS.
9534         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9535
9536         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9537         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9538         f_blocks field only on MacOS X.
9539
9540         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9541         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9542         * modules/fsusage (Depends-on): Add largefile.
9543
9544 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9545
9546         * README: Modernize discussion of signed integers.
9547         Assuming overflow wraparound is no longer safe.
9548         Mention ones' complement and signed magnitude.
9549
9550 2011-07-22  Bruno Haible  <bruno@clisp.org>
9551
9552         select tests, pselect tests: Refactor.
9553         * tests/test-select.h: New file, extracted from tests/test-select.c.
9554         (select_fn): New type.
9555         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9556         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9557         test_pipe): Add my_select argument.
9558         (test_function): Renamed from main. Add my_select argument.
9559         * tests/test-select.c: Move most code to tests/test-select.h. Include
9560         test-select.h.
9561         * modules/select-tests (Files): Add tests/test-select.h.
9562         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9563         (my_select, main): New functions.
9564         * modules/pselect-tests (Files): Add tests/test-select.h,
9565         tests/macros.h, tests/signature.h.
9566         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9567         (configure.ac): Check for <sys/wait.h>.
9568
9569 2011-07-22  Bruno Haible  <bruno@clisp.org>
9570
9571         sys_select tests: Check the signature of FD_*.
9572         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9573         signature tests from here...
9574         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9575         here.
9576         * modules/sys_select-tests (Files): Add tests/signature.h.
9577
9578 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9579
9580         largefile: new module, replacing large-inode
9581         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9582         * MODULES.html.sh: Add largefile, remove large-inode.
9583         * modules/largefile, m4/largefile.m4: New files.
9584         * modules/large-inode, m4/large-inode.m4: Remove.
9585
9586         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9587         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9588         implementations that use only 32 bits to count blocks.
9589         On typical hosts with 1024-byte blocks, this fails with file
9590         systems as small as 4 TiB.  Problem reported by Herb Wartens
9591         <http://debbugs.gnu.org/9140> and this should also fix a similar
9592         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9593
9594         large-inode: New module
9595         * MODULES.html.sh: Add it.
9596         * modules/large-inode, m4/large-inode.m4: New files.
9597
9598         extensions: Enable extensions on MacOS X 10.5 and later.
9599         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9600
9601 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9602
9603         file-has-acl: use acl_extended_file_nofollow if available
9604         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9605         (acl_extended_file): New macro.
9606         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9607         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9608
9609 2011-07-21  Bruno Haible  <bruno@clisp.org>
9610
9611         Declare system functions in a way that works with C++.
9612         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9613         declare fdopendir as extern "C".
9614         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9615         declare frexpl as extern "C".
9616         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9617         declare gai_strerror as extern "C".
9618         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9619         programs, declare gai_strerror as extern "C".
9620         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9621         declare getlogin_r as extern "C".
9622         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9623         as extern "C".
9624         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9625         declare ldexpl as extern "C".
9626         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9627         as extern "C".
9628         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9629         program, declare getmntinfo as extern "C".
9630         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9631         stpncpy as extern "C".
9632         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9633         program, declare __xpg_strerror_r as extern "C".
9634         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9635         strndup as extern "C".
9636         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9637         declare memset and bzero as extern "C".
9638         Reported by Sam Steingold <sds@gnu.org>.
9639
9640 2011-07-12  Jim Meyering  <meyering@redhat.com>
9641
9642         maint.mk: prohibit inclusion of "verify.h" without use
9643         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9644
9645 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9646
9647         timer-time: A new module to check for timer_settime()
9648         * m4/timer_time.m4: Check for the posix function.
9649         * modules/timer-time: Add the new module.
9650         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9651         Mention it.
9652
9653 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9654             Bruno Haible  <bruno@clisp.org>
9655
9656         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9657         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9658         not defined, assume POSIX threads and look for pthread_sigmask in
9659         $LIBS, without changing $CPPFLAGS.
9660
9661 2011-07-19  Bruno Haible  <bruno@clisp.org>
9662
9663         strstr: Update cross-compilation guess.
9664         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9665         CPUs, guess no, in view of glibc
9666         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9667         Suggested by Eric Blake. Reported by Reuben Thomas.
9668
9669 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9670
9671         getopt-gnu: suppress core dumps from detection code
9672         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9673         to suppress core dumps that may well occur on glibc systems.
9674         * modules/getopt-gnu: Depend on nocrash.
9675
9676 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9677
9678         pthread_sigmask: ensure usleep is declared
9679         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9680         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9681
9682 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9683
9684         doc: Document NonStop portability issues.
9685         * doc/posix-functions/sigaction.texi (sigaction):
9686         * doc/posix-headers/signal.texi (signal.h):
9687         Document NonStop.  See Joachim Schmitz in
9688         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9689
9690 2011-07-15  Bruno Haible  <bruno@clisp.org>
9691
9692         ffsl, ffsll: Avoid unportable behaviour.
9693         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9694
9695 2011-07-15  Bruno Haible  <bruno@clisp.org>
9696
9697         ffs: More tests.
9698         * tests/test-ffs.c (NBITS): New macro.
9699         (main): Add more tests.
9700         * tests/test-ffsl.c (NBITS): New macro.
9701         (main): Add more tests.
9702         * tests/test-ffsll.c (NBITS): New macro.
9703         (main): Add more tests.
9704
9705 2011-07-15  Eric Blake  <eblake@redhat.com>
9706
9707         ffsl, ffsll: new modules
9708         * modules/ffsl: New file.
9709         * modules/ffsll: Likewise.
9710         * m4/ffsl.m4: Likewise.
9711         * m4/ffsll.m4: Likewise.
9712         * lib/ffsl.c: Likewise.
9713         * lib/ffsl.h: Likewise.
9714         * lib/ffsll.c: Likewise.
9715         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9716         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9717         * modules/string (Makefile.am): Substitute witnesses.
9718         * lib/strings.in.h (ffsl, ffsll): Declare.
9719         * modules/ffsl-tests: New test file.
9720         * modules/ffsll-tests: Likewise.
9721         * tests/test-ffsl.c: Likewise.
9722         * tests/test-ffsll.c: Likewise.
9723         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9724         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9725         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9726
9727         ffs: fix m4 prerequisite
9728         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9729
9730         ffs: avoid undefined behavior
9731         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9732         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9733         Reported by Bruno Haible.
9734
9735 2011-07-12  Bruno Haible  <bruno@clisp.org>
9736
9737         pthread_sigmask: Rely on module 'threadlib'.
9738         * modules/pthread_sigmask (Depends-on): Add threadlib.
9739         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9740         is defined.
9741
9742 2011-07-12  Bruno Haible  <bruno@clisp.org>
9743
9744         regex: Depend on module 'strcase'.
9745         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9746
9747 2011-07-12  Jim Meyering  <meyering@redhat.com>
9748
9749         warn-on-use: fix typo in file name
9750         * modules/snippet/warn-on-use (Files): Correct file name:
9751         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9752
9753 2011-07-12  Bruno Haible  <bruno@clisp.org>
9754
9755         strings: Document module.
9756         * doc/posix-headers/strings.texi: Mention module 'strings'.
9757
9758 2011-07-12  Bruno Haible  <bruno@clisp.org>
9759
9760         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9761         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9762         (Files, Makefile.am): Update.
9763         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9764         * modules/stdlib (Depends-on): Update.
9765
9766 2011-07-12  Bruno Haible  <bruno@clisp.org>
9767
9768         * NEWS: Mention the changes.
9769
9770         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9771         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9772         (Files, Makefile.am): Update.
9773         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9774         * modules/arpa_inet (Depends-on): Update.
9775         * modules/ctype (Depends-on): Update.
9776         * modules/dirent (Depends-on): Update.
9777         * modules/fcntl-h (Depends-on): Update.
9778         * modules/glob (Depends-on): Update.
9779         * modules/iconv-h (Depends-on): Update.
9780         * modules/inttypes-incomplete (Depends-on): Update.
9781         * modules/langinfo (Depends-on): Update.
9782         * modules/locale (Depends-on): Update.
9783         * modules/math (Depends-on): Update.
9784         * modules/netdb (Depends-on): Update.
9785         * modules/poll-h (Depends-on): Update.
9786         * modules/pty (Depends-on): Update.
9787         * modules/search (Depends-on): Update.
9788         * modules/signal (Depends-on): Update.
9789         * modules/spawn (Depends-on): Update.
9790         * modules/stdio (Depends-on): Update.
9791         * modules/stdlib (Depends-on): Update.
9792         * modules/string (Depends-on): Update.
9793         * modules/strings (Depends-on): Update.
9794         * modules/sys_file (Depends-on): Update.
9795         * modules/sys_ioctl (Depends-on): Update.
9796         * modules/sys_select (Depends-on): Update.
9797         * modules/sys_socket (Depends-on): Update.
9798         * modules/sys_stat (Depends-on): Update.
9799         * modules/sys_time (Depends-on): Update.
9800         * modules/sys_times (Depends-on): Update.
9801         * modules/sys_utsname (Depends-on): Update.
9802         * modules/sys_wait (Depends-on): Update.
9803         * modules/termios (Depends-on): Update.
9804         * modules/time (Depends-on): Update.
9805         * modules/unistd (Depends-on): Update.
9806         * modules/wchar (Depends-on): Update.
9807         * modules/wctype-h (Depends-on): Update.
9808         * MODULES.html.sh (Support for building libraries and executables):
9809         Update.
9810
9811         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9812         * modules/snippet/unused-parameter: Renamed from
9813         modules/unused-parameter.
9814         (Files, Makefile.am): Update.
9815         * build-aux/snippet/unused-parameter.h: Renamed from
9816         build-aux/unused-parameter.h.
9817         * modules/selinux-h (Depends-on): Update.
9818         * modules/unistr/base (Depends-on): Update.
9819         * MODULES.html.sh (Core language properties): Update.
9820
9821         Rename module 'link-warning' to 'snippet/link-warning'.
9822         * modules/snippet/link-warning: Renamed from modules/link-warning.
9823         (Files, Makefile.am): Update.
9824         * build-aux/snippet/link-warning.h: Renamed from
9825         build-aux/link-warning.h.
9826         * MODULES.html.sh (Support for building libraries and executables):
9827         Update.
9828
9829         Rename module 'c++defs' to 'snippet/c++defs'.
9830         * modules/snippet/c++defs: Renamed from modules/c++defs.
9831         (Files, Makefile.am): Update.
9832         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9833         * modules/arpa_inet (Depends-on): Update.
9834         * modules/ctype (Depends-on): Update.
9835         * modules/dirent (Depends-on): Update.
9836         * modules/fcntl-h (Depends-on): Update.
9837         * modules/glob (Depends-on): Update.
9838         * modules/iconv-h (Depends-on): Update.
9839         * modules/langinfo (Depends-on): Update.
9840         * modules/locale (Depends-on): Update.
9841         * modules/math (Depends-on): Update.
9842         * modules/netdb (Depends-on): Update.
9843         * modules/poll-h (Depends-on): Update.
9844         * modules/pty (Depends-on): Update.
9845         * modules/search (Depends-on): Update.
9846         * modules/signal (Depends-on): Update.
9847         * modules/spawn (Depends-on): Update.
9848         * modules/stdio (Depends-on): Update.
9849         * modules/stdlib (Depends-on): Update.
9850         * modules/string (Depends-on): Update.
9851         * modules/strings (Depends-on): Update.
9852         * modules/sys_ioctl (Depends-on): Update.
9853         * modules/sys_select (Depends-on): Update.
9854         * modules/sys_socket (Depends-on): Update.
9855         * modules/sys_stat (Depends-on): Update.
9856         * modules/sys_time (Depends-on): Update.
9857         * modules/sys_wait (Depends-on): Update.
9858         * modules/termios (Depends-on): Update.
9859         * modules/time (Depends-on): Update.
9860         * modules/unistd (Depends-on): Update.
9861         * modules/wchar (Depends-on): Update.
9862         * modules/wctype-h (Depends-on): Update.
9863
9864         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9865         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9866         (Files, Makefile.am): Update.
9867         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9868         * modules/argv-iter (Depends-on): Update.
9869         * modules/arpa_inet (Depends-on): Update.
9870         * modules/dirent (Depends-on): Update.
9871         * modules/fcntl-h (Depends-on): Update.
9872         * modules/fnmatch (Depends-on): Update.
9873         * modules/getopt-posix (Depends-on): Update.
9874         * modules/glob (Depends-on): Update.
9875         * modules/iconv-h (Depends-on): Update.
9876         * modules/inttypes-incomplete (Depends-on): Update.
9877         * modules/locale (Depends-on): Update.
9878         * modules/math (Depends-on): Update.
9879         * modules/netdb (Depends-on): Update.
9880         * modules/search (Depends-on): Update.
9881         * modules/signal (Depends-on): Update.
9882         * modules/spawn (Depends-on): Update.
9883         * modules/stdio (Depends-on): Update.
9884         * modules/stdlib (Depends-on): Update.
9885         * modules/string (Depends-on): Update.
9886         * modules/strings (Depends-on): Update.
9887         * modules/sys_socket (Depends-on): Update.
9888         * modules/sys_stat (Depends-on): Update.
9889         * modules/sys_time (Depends-on): Update.
9890         * modules/sys_times (Depends-on): Update.
9891         * modules/sys_utsname (Depends-on): Update.
9892         * modules/time (Depends-on): Update.
9893         * modules/unistd (Depends-on): Update.
9894         * modules/wchar (Depends-on): Update.
9895         * MODULES.html.sh (Support for building libraries and executables):
9896         Update.
9897
9898 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9899
9900         Improvements on _Noreturn and related modules.
9901
9902         modules/_Exit-tests: test _Noreturn too
9903         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9904         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9905         (main): Use them.
9906
9907         stdnoreturn, stdnoreturn-tests: remove modules
9908         They're not needed here and a bit premature for use elsewhere.  See
9909         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9910         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9911         * tests/test-stdnoreturn.c: Remove files.
9912         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9913         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9914         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9915         and using noreturn.
9916         * modules/openat, modules/sigpipe-die, modules/xalloc:
9917         * modules/xmemdup0, modules/xstrtol:
9918         Remove dependency on stdnoreturn.
9919
9920         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
9921         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
9922         Reparenthesize to avoid GCC warning.
9923         Support Microsoft's syntax.
9924         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
9925
9926         _Noreturn-tests: remove module
9927         * modules/_Noreturn-tests: Remove.
9928         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
9929         * tests/test-_Noreturn.c: Remove.
9930         * tests/test-stdnoreturn.c: Merge from the old
9931         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
9932
9933 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9934
9935         _Noreturn, stdnoreturn, and related modules.
9936
9937         * top/maint.mk: Adjust to new noreturn support.
9938         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
9939         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
9940
9941         xalloc: use stdnoreturn.h
9942         * lib/xalloc.h: Include <stdnoreturn.h>.
9943         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9944         * modules/xalloc (Depends-on): Add stdnoreturn.
9945
9946         xstrtol: use stdnoreturn.h
9947         * lib/xstrtol.h: Include <stdnoreturn.h>.
9948         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9949         * modules/xstrtol (Depends-on): Add stdnoreturn.
9950
9951         xmemdup0: use stdnoreturn.h
9952         * lib/xmemdup0.h: Include <stdnoreturn.h>.
9953         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9954         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
9955
9956         sigpipe-die: use stdnoreturn.h
9957         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
9958         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9959         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
9960
9961         openat: use stdnoreturn.h
9962         * lib/openat.h: Include <stdnoreturn.h>.
9963         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9964         * modules/openat (Depends-on): Add stdnoreturn.
9965
9966         * lib/openat-die.c (openat_save_fail): Modernize comment.
9967
9968         * lib/xalloc-die.c (xalloc_die): Modernize comment.
9969
9970         * lib/glthread/thread.h: Modernize comment.
9971
9972         obstack: use _Noreturn
9973         * lib/obstack.c (__attribute__): Remove macro.
9974         (print_and_abort): Use _Noreturn.
9975
9976         c-stack: use _Noreturn
9977         * lib/c-stack.c (die, overflow_handler, segv_handler):
9978         Use _Noreturn rather than __attribute__((noreturn)).
9979
9980         argmatch-tests, exclude_tests: use _Noreturn
9981         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
9982         Remove.
9983         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
9984
9985         stdlib: use _Noreturn
9986         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
9987         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
9988         * modules/stdlib (Depends-on): Add _Noreturn.
9989         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
9990
9991         stdnoreturn-tests: new module
9992         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
9993
9994         stdnoreturn: new module
9995         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
9996         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
9997
9998         _Noreturn-tests: new module
9999         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10000
10001         _Noreturn: new module
10002         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10003         New section, mentioning it.
10004         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10005
10006         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10007
10008 2011-07-11  Eric Blake  <eblake@redhat.com>
10009
10010         ffs: new module
10011         * modules/ffs: New file.
10012         * m4/ffs.m4: Likewise.
10013         * lib/ffs.c: Likewise.
10014         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10015         * modules/strings (Makefile.am): Substitute witness.
10016         (Depends-on): Add c++defs.
10017         * lib/strings.in.h (ffs): Declare.
10018         * modules/ffs-tests: New test file.
10019         * tests/test-ffs.c: Test new module.
10020         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10021         * doc/posix-functions/ffs.texi (ffs): Likewise.
10022
10023         regex: avoid compiler warning
10024         * lib/regex.c (includes): Include <strings.h>, for use of
10025         strcasecmp in regcomp.c.
10026         Reported by Joachim Schmitz.
10027
10028 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10029
10030         stdint: respect system's intmax_t if INTMAX_MAX
10031         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10032         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10033         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10034         long but int64_t is long long, and where we will clash with the
10035         system intmax_t if we override it.  See
10036         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10037         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10038         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10039         similarly for UINTMAX_C.
10040
10041 2011-07-08  Bruno Haible  <bruno@clisp.org>
10042
10043         pthread_sigmask tests: Avoid a compiler warning.
10044         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10045         non-zero.
10046
10047         sigprocmask tests: A better way to avoid a compiler warning.
10048         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10049         (main): Complain if system() returns non-zero.
10050         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10051
10052 2011-07-08  Bruno Haible  <bruno@clisp.org>
10053
10054         pthread_sigmask: Work around IRIX bug.
10055         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10056         bug.
10057         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10058         there may be unblocked pending signals.
10059         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10060
10061 2011-07-08  Bruno Haible  <bruno@clisp.org>
10062
10063         pthread_sigmask: Work around Cygwin bug.
10064         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10065         bug.
10066         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10067         the system's pthread_sigmask function.
10068         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10069
10070 2011-07-08  Bruno Haible  <bruno@clisp.org>
10071
10072         pthread_sigmask: Work around bug in single-threaded implementation.
10073         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10074         FreeBSD, HP-UX, Solaris bug.
10075         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10076         * lib/pthread_sigmask.c: Include <stddef.h>.
10077         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10078         the system's pthread_sigmask function.
10079         * modules/pthread_sigmask (configure.ac): Invoke
10080         gl_PREREQ_PTHREAD_SIGMASK.
10081         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10082         HP-UX, Solaris.
10083
10084 2011-07-08  Eric Blake  <eblake@redhat.com>
10085
10086         test-sigprocmask: avoid compiler warning
10087         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10088         * tests/test-sigprocmask.c (main): Use it to silence warning.
10089         Reported by Jim Meyering.
10090
10091         test-snprintf: avoid compiler warning
10092         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10093         * tests/test-vsnprintf.c (main): Likewise.
10094         Reported by Jim Meyering.
10095
10096 2011-07-08  Bruno Haible  <bruno@clisp.org>
10097
10098         Tests for module 'pthread_sigmask'.
10099         * modules/pthread_sigmask-tests: New file.
10100         * tests/test-pthread_sigmask1.c: New file, based on
10101         tests/test-sigprocmask.c.
10102         * tests/test-pthread_sigmask2.c: New file.
10103
10104 2011-07-08  Jim Meyering  <meyering@redhat.com>
10105
10106         test-getopt.h: avoid warning about an unused variable
10107         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10108
10109 2011-07-07  Jim Meyering  <meyering@redhat.com>
10110
10111         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10112         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10113         now that it no longer contains leading TABs.
10114         Remove unused "url=FIXME" statement.
10115
10116 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10117
10118         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10119         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10120         When gl_THREADLIB is not in use, assume that the POSIX sematics
10121         are desired.  This is better for Emacs, which uses POSIX semantics
10122         on GNUish and/or POSIXish platforms, and does not use threads at
10123         all otherwise.
10124
10125         pthread_sigmask: fix typo when testing for libraries
10126         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10127         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10128
10129 2011-07-08  Eric Blake  <eblake@redhat.com>
10130
10131         fts: introduce FTS_NOATIME
10132         * lib/fts_.h (FTS_NOATIME): New bit flag.
10133         (FTS_OPTIONMASK): Adjust.
10134         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10135         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10136
10137 2011-07-08  Bruno Haible  <bruno@clisp.org>
10138
10139         Tests for module 'thread'.
10140         * modules/thread-tests: New file.
10141         * tests/test-thread_self.c: New file.
10142         * tests/test-thread_create.cc: New file.
10143
10144 2011-07-08  Bruno Haible  <bruno@clisp.org>
10145
10146         thread: Avoid gcc warnings when using gl_thread_self().
10147         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10148         'void *'.
10149         (gl_thread_self_pointer): Update.
10150
10151 2011-07-07  Bruno Haible  <bruno@clisp.org>
10152
10153         signal-c++-tests: Check declaration of pthread_sigmask.
10154         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10155         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10156         $(LIB_PTHREAD_SIGMASK).
10157
10158 2011-07-07  Bruno Haible  <bruno@clisp.org>
10159
10160         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10161         * lib/signal.in.h (pthread_sigmask): Override if
10162         REPLACE_PTHREAD_SIGMASK is 1.
10163         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10164         REPLACE_PTHREAD_SIGMASK.
10165         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10166         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10167         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10168         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10169         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10170
10171 2011-07-07  Bruno Haible  <bruno@clisp.org>
10172
10173         pthread_sigmask: Ensure declaration in <signal.h>.
10174         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10175         include <pthread.h>.
10176         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10177         problem.
10178
10179 2011-07-07  Bruno Haible  <bruno@clisp.org>
10180
10181         pthread_sigmask: Document the module.
10182         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10183
10184 2011-07-07  Bruno Haible  <bruno@clisp.org>
10185
10186         pthread_sigmask: Follow gnulib conventions.
10187         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10188         gl_PTHREAD_SIGMASK.
10189         * modules/pthread_sigmask (configure.ac): Update.
10190
10191 2011-07-07  Bruno Haible  <bruno@clisp.org>
10192
10193         pthread_sigmask: Make declaration C++ safe.
10194         * lib/signal.in.h: In two special conditions, just do an #include_next.
10195         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10196         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10197         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10198         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10199         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10200         not REPLACE_PTHREAD_MASK.
10201         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10202         not REPLACE_PTHREAD_MASK.
10203         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10204
10205 2011-07-07  Bruno Haible  <bruno@clisp.org>
10206
10207         pthread_sigmask: Fix return value.
10208         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10209         * lib/pthread_sigmask.c: New file.
10210         * modules/pthread_sigmask (Files): Add it.
10211         (configure.ac): Invoke AC_LIBOBJ.
10212
10213 2011-07-07  Eric Blake  <eblake@redhat.com>
10214
10215         getopt: more portable argv creation
10216         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10217         const, use char arrays rather than strings.
10218         Suggested by Paul Eggert.
10219
10220 2011-07-07  Bruno Haible  <bruno@clisp.org>
10221
10222         Tests for module 'sigprocmask'.
10223         * modules/sigprocmask-tests: New file.
10224         * tests/test-sigprocmask.c: New file.
10225
10226 2011-07-07  Bruno Haible  <bruno@clisp.org>
10227
10228         float tests: Tweak.
10229         * tests/test-float.c (main): Tweak skip message.
10230
10231 2011-07-07  Eric Blake  <eblake@redhat.com>
10232
10233         getopt: avoid compiler warning during configure
10234         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10235         assigning string literals to non-const pointer.
10236
10237         getopt-gnu: avoid crash in glibc getopt
10238         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10239         * tests/test-getopt.h (test_getopt): Enhance test.
10240         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10241         * doc/posix-functions/getopt.texi (getopt): Document it.
10242         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10243         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10244         Likewise.
10245
10246 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10247
10248         getopt: handle W; without long options in getopt [BZ #12922]
10249         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10250         but no long options are defined, just return 'W'.
10251
10252 2011-07-07  Bruno Haible  <bruno@clisp.org>
10253
10254         Avoid literal tabs.
10255         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10256         variable containing a tab instead of a literal tab.
10257         Reported by Jim Meyering.
10258
10259 2011-07-07  Bruno Haible  <bruno@clisp.org>
10260
10261         Comments.
10262         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10263
10264 2011-07-06  Bruno Haible  <bruno@clisp.org>
10265
10266         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10267         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10268         <winsock2.h>.
10269         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10270         lib/sys_socket.in.h.
10271         (close, gethostname): Hide declarations from <winsock2.h>.
10272         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10273         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10274         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10275         (select): Don't override if gnulib's <sys/select.h> was already
10276         included.
10277         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10278         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10279         setsockopt, shutdown, select): Tweak indentation.
10280
10281 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10282
10283         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10284         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10285         in an application that does not use the sys_select module.
10286
10287 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10288
10289         poll: do not return 0 on timeout=-1
10290         * lib/poll.c: Loop with yield if no events occured
10291
10292 2011-07-06  Eric Blake  <eblake@redhat.com>
10293
10294         pthread_sigmask: always replace when not using pthread
10295         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10296         replacement when using some threading other than pthread.  Fix
10297         logic bug.
10298
10299 2011-07-06  Bruno Haible  <bruno@clisp.org>
10300
10301         Comments.
10302         * m4/printf.m4: Update comments about mingw.
10303
10304 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10305
10306         sys_select: define sigset_t more portably
10307         * lib/sys_select.in.h: Always include <sys/types.h>, since
10308         we now need sigset_t and mingw defines it there.
10309         Include <signal.h> before split inclusion guard, to avoid
10310         mishaps on Solaris, whose <signal.h> eventually includes us.
10311         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10312         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10313         which come from ...
10314         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10315         gl_CHECK_TYPE_SIGSET_T.
10316         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10317         does the real work.
10318         * modules/sys_select (Depends-on): Add 'signal'.
10319
10320         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10321         Suggested by Bruno Haible.
10322
10323         pselect: Use pthread_sigmask, not sigprocmask.
10324         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10325         multithreaded apps better than sigprocmask does.
10326         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10327         sigprocmask directly.
10328
10329 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10330
10331         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10332         Don't #undef,  since we don't need any underlying pselect.
10333         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10334         (Depends-on): Add select.
10335         (Link): Add $(LIBSOCKET).
10336         These changes suggested by Bruno Haible.
10337
10338         pselect: document better
10339         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10340         * doc/posix-functions/pselect.texi (pselect): Document new module.
10341
10342         pthread_sigmask: new module
10343         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10344         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10345         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10346         This is done only as a macro; I don't know how well that'll
10347         work for C++.  Move <sys/types.h> include before the include_next,
10348         to avoid mishap on Solaris.
10349         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10350         * modules/signal (Makefile.am): Substitute the check's results.
10351         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10352
10353         test-pselect: new module
10354         * modules/pselect-tests, tests/test-pselect.c: New files.
10355         * tests/test-select.c, tests/test-sys_select-c++.cc:
10356         If TEST_PSELECT is defined, test pselect instead of testing select.
10357
10358         * tests/test-sys_select.c (sigset_t): Test for it, too.
10359         Suggested by Bruno Haible.
10360
10361 2011-07-05  Eric Blake  <eblake@redhat.com>
10362
10363         snprintf: guarantee %1$d, for libintl
10364         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10365         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10366         * doc/posix-functions/snprintf.texi (snprintf): Update.
10367         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10368         * tests/test-snprintf.c (main): Enhance test.
10369         * tests/test-vsnprintf.c (main): Likewise.
10370
10371 2011-07-05  Jim Meyering  <meyering@redhat.com>
10372
10373         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10374         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10375         per Bruno's request, to accommodate this idiom (no space after "#")
10376         even when the function is inside an #if block:
10377         char *
10378         gets (char *s)
10379         #undef gets
10380         {
10381           ...
10382         }
10383
10384 2011-07-04  Jim Meyering  <meyering@redhat.com>
10385
10386         maint: indent with spaces, not TABs, and add a rule to check this
10387         * tests/test-userspec.c: Indent with spaces, not TABs.
10388         * tests/test-argp.c: Likewise.
10389         * tests/test-c-stack2.sh: Likewise.
10390         * tests/test-parse-duration.sh: Likewise
10391         * m4/strtod.m4: Likewise.
10392         * m4/alloca.m4: Likewise.
10393         * m4/pselect.m4: Likewise.
10394         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10395
10396 2011-07-03  Jim Meyering  <meyering@redhat.com>
10397
10398         maint.mk: correct omissions in prohibit_argmatch_without_use check
10399         This rule would mistakenly report that argmatch.h is included without
10400         use even when both the argmatch and invalid_arg macro were used.
10401         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10402         of argmatch and invalid_arg.
10403
10404 2011-07-03  Bruno Haible  <bruno@clisp.org>
10405
10406         Comments about EINTR.
10407         * lib/safe-read.h: Explain the purpose of this module.
10408         * lib/safe-write.h: Likewise.
10409         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10410         module.
10411         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10412         module.
10413         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10414
10415 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10416
10417         xnanosleep: Rewrite to use new dtotimespec module.
10418         It has the conversion code that used to be in xnanosleep.
10419         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10420         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10421         (TIME_T_MAX): Remove.
10422         (xnanosleep): Rewrite in terms of dtotimespec.
10423         * modules/xnanosleep (Depends-on): Add dtotimespec.
10424         Remove intprops, stdbool.
10425
10426         timespec-add, timespec-sub: new modules
10427         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10428         * lib/timespec-add.c, lib/timespec-sub.c:
10429         * modules/timespec-add, modules/timespec-sub: New files.
10430
10431         dtotimespec: new module
10432         * lib/timespec.h (dtotimespec): New decl.
10433         * lib/dtotimespec.c, modules/dtotimespec: New files.
10434
10435         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10436
10437         pselect: new module
10438         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10439         (pselect): New decls.
10440         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10441         since the standard pselect decl uses 'restrict'.
10442         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10443         HAVE_PSELECT, REPLACE_PSELECT.
10444         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10445         HAVE_PSELECT, REPLACE_PSELECT.
10446         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10447
10448         sys_select: don't depend on sys_socket
10449         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10450         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10451         This fix works on GNU and GNU-like platforms, but has not been tested
10452         on native Windows.
10453         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10454         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10455         gl_HEADER_SYS_SOCKET.
10456         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10457         gl_PREREQ_SYS_H_WINSOCK2.
10458
10459 2011-06-29  Eric Blake  <eblake@redhat.com>
10460
10461         pipe2: fix C89 compile problem
10462         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10463         Reported by Bruno Haible.
10464
10465         pipe, pipe2: don't corrupt fd on error
10466         * lib/pipe.c (pipe): Leave fd unchanged on error.
10467         * lib/pipe2.c (pipe2): Likewise.
10468         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10469         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10470
10471 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10472
10473         mmap-anon: do not use regular expressions inadvertently
10474         * m4/mmap-anon.m4: Remove trailing period from strings sought
10475         in the output.
10476
10477 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10478
10479         nanosleep: fix integer overflow problem
10480         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10481         arithmetic wraps around on overflow.
10482
10483         nanosleep: simplify carrying
10484         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10485         first call to the underyling nanosleep, not for the last one.
10486         This doesn't fix any bugs, but it simplifies the computation of
10487         the remaining delay.  Found while auditing integer overflow issues.
10488
10489         dup2: remove test for existence of fcntl
10490         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10491         "#if HAVE_FCNTL", in the configure-time test program.
10492         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10493         and therefore speeds up "configure" a bit.  Found while
10494         adding the dup2 module to Emacs.
10495
10496 2011-06-24  Eric Blake  <eblake@redhat.com>
10497
10498         maint.mk: enhance useless header checks
10499         * top/maint.mk (_sc_header_without_use): Check both include
10500         styles.
10501         (sc_prohibit_assert_without_use)
10502         (sc_prohibit_close_stream_without_use)
10503         (sc_prohibit_getopt_without_use)
10504         (sc_prohibit_quotearg_without_use)
10505         (sc_prohibit_quote_without_use)
10506         (sc_prohibit_long_options_without_use)
10507         (sc_prohibit_inttostr_without_use)
10508         (sc_prohibit_ignore_value_without_use)
10509         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10510         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10511         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10512         (sc_prohibit_hash_pjw_without_use)
10513         (sc_prohibit_safe_read_without_use)
10514         (sc_prohibit_argmatch_without_use)
10515         (sc_prohibit_canonicalize_without_use)
10516         (sc_prohibit_root_dev_ino_without_use)
10517         (sc_prohibit_openat_without_use)
10518         (sc_prohibit_c_ctype_without_use)
10519         (sc_prohibit_signal_without_use)
10520         (sc_prohibit_stdio--_without_use)
10521         (sc_prohibit_stdio-safer_without_use)
10522         (sc_prohibit_strings_without_use)
10523         (sc_prohibit_intprops_without_use)
10524         (sc_prohibit_stddef_without_use)
10525         (sc_prohibit_xfreopen_without_use): Update clients.
10526
10527 2011-06-24  Jim Meyering  <meyering@redhat.com>
10528
10529         syntax-check: keep one maint.mk rule in sync with its header
10530         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10531         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10532         I prefer to avoid temporary files here, so use <(...), but that
10533         is not supported by /bin/sh, so...
10534         (SHELL): Define to /bin/bash.
10535
10536 2011-06-24  Eric Blake  <eblake@redhat.com>
10537
10538         maint.mk: update sc_prohibit_intprops_without_use
10539         * top/maint.mk (_intprops_names): Match recent changes.
10540
10541 2011-06-24  Bruno Haible  <bruno@clisp.org>
10542
10543         strerror-override: No-op tweak.
10544         * lib/strerror-override.h (strerror_override): Reorder conditions,
10545         for consistency with lib/strerror-override.c.
10546
10547 2011-06-23  Eric Blake  <eblake@redhat.com>
10548
10549         maint.mk: test further PATH_MAX issues
10550         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10551         (sc_prohibit_path_max_allocation): ...and also test alloca.
10552         Suggested by Jim Meyering.
10553
10554 2011-06-22  Eric Blake  <eblake@redhat.com>
10555
10556         maint.mk: add syntax-check to avoid char[PATH_MAX]
10557         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10558
10559         stat: be robust to PATH_MAX definition
10560         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10561         * modules/stat (Depends-on): Add verify.
10562
10563         link: work around IRIX bug
10564         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10565         * lib/link.c (rpl_link): Work around it.
10566         * tests/test-link.h (test_link): Enhance test.
10567         * doc/posix-functions/link.texi (link): Document the bug.
10568
10569         getopt: silence clang warning
10570         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10571         dereference.
10572         Reported by Gustavo Martin Domato.
10573
10574 2011-06-22  Jim Meyering  <meyering@redhat.com>
10575
10576         bootstrap: do not insert a blank line into each .gitignore file
10577         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10578
10579 2011-06-21  Eric Blake  <eblake@redhat.com>
10580
10581         perror: test for output mismatch
10582         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10583         perror on IRIX.
10584
10585         strerror_r: fix OpenBSD behavior on out-of-range
10586         * lib/strerror_r.c (strerror_r): Always use maximal string.
10587         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10588
10589         strerror_r: fix OpenBSD behavior on 0
10590         * lib/strerror-override.c (strerror_override): Also override 0
10591         when needed.
10592         * lib/strerror-override.h (strerror_override): Likewise.
10593         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10594         earlier.
10595         * lib/strerror_r.c (strerror_r): Likewise.
10596         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10597         behavior...
10598         (gl_FUNC_STRERROR_0): ...into new macro.
10599         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10600         is overridden.
10601         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10602         * modules/strerror-override (Files): Add strerror.m4.
10603         (configure.ac): Also provide override for 0 when needed.
10604         * doc/posix-functions/strerror.texi (strerror): Document this.
10605         * doc/posix-functions/perror.texi (perror): Likewise.
10606
10607         perror: adjust array size
10608         * modules/perror (Depends-on): Add strerror-override.
10609         * lib/perror.c (perror): Use it to avoid magic number.
10610
10611         strerror-override: reduce size
10612         * lib/strerror-override.c (strerror_override): Use fewer lines.
10613
10614 2011-06-20  Bruno Haible  <bruno@clisp.org>
10615
10616         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10617         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10618
10619 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10620
10621         alloca: port to compilers that can optimize like GCC 4.6.0
10622         * lib/alloca.c (find_stack_direction): New signature, taken from
10623         Autoconf git.  This works with GCC 4.6.0.  This code should never
10624         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10625         be used with other compilers that optimize as well as GCC 4.6.0 does.
10626         (alloca): Adjust to new signature.
10627         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10628         New macro, which patches Autoconf in a similar way.
10629
10630         c-stack: stop worrying about stack direction
10631         * lib/c-stack.c (find_stack_direction): Remove.
10632         (segv_handler): Don't worry about stack direction growth, as it's
10633         too much of a pain to configure this correctly, given how compilers
10634         are optimizing-away our stack-growth detection code.  Instead, assume
10635         that any access to just before or just after the stack is OK.
10636         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10637         Don't require AC_FUNC_ALLOCA; no longer needed.
10638
10639 2011-06-20  Eric Blake  <eblake@redhat.com>
10640
10641         test-stat: don't allocate PATH_MAX bytes
10642         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10643         PATH_MAX-sized buffer.
10644         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10645         * modules/stat-tests (Depends-on): Likewise.
10646         * tests/test-fstatat.c (includes): Drop pathmax.h.
10647         * tests/test-stat.c (includes): Likewise.
10648         Reported by Bruno Haible.
10649
10650 2011-06-20  Bruno Haible  <bruno@clisp.org>
10651
10652         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10653         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10654         * lib/float.c: New file.
10655         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10656         REPLACE_FLOAT_LDBL.
10657         * modules/float (Files): Add lib/float.c.
10658         (configure.ac): Invoke AC_LIBOBJ.
10659         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10660
10661 2011-06-20  Bruno Haible  <bruno@clisp.org>
10662
10663         Tests for module 'float'.
10664         * modules/float-tests: New file.
10665         * tests/test-float.c: New file.
10666
10667 2011-06-19  Bruno Haible  <bruno@clisp.org>
10668
10669         isinf: Coding style.
10670         * lib/isinf.c: Use GNU coding style.
10671
10672 2011-06-19  Bruno Haible  <bruno@clisp.org>
10673
10674         linkat test: Avoid test failure on AIX 7.1.
10675         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10676         * tests/test-link.h (test_link): Likewise.
10677
10678 2011-06-19  Bruno Haible  <bruno@clisp.org>
10679
10680         pread test: Avoid test failure on OpenBSD 4.9.
10681         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10682
10683 2011-06-19  Bruno Haible  <bruno@clisp.org>
10684
10685         sprintf-posix: Fix test failure on AIX 7.1.
10686         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10687         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10688         on AIX.
10689         * doc/posix-functions/fprintf.texi: Likewise.
10690         * doc/posix-functions/printf.texi: Likewise.
10691         * doc/posix-functions/snprintf.texi: Likewise.
10692         * doc/posix-functions/sprintf.texi: Likewise.
10693         * doc/posix-functions/vdprintf.texi: Likewise.
10694         * doc/posix-functions/vfprintf.texi: Likewise.
10695         * doc/posix-functions/vprintf.texi: Likewise.
10696         * doc/posix-functions/vsnprintf.texi: Likewise.
10697         * doc/posix-functions/vsprintf.texi: Likewise.
10698
10699 2011-06-19  Bruno Haible  <bruno@clisp.org>
10700
10701         roundl-ieee: Fix test failure on AIX 7.1.
10702         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10703         * doc/posix-functions/roundl.texi: Mention problem with negative
10704         arguments.
10705
10706 2011-06-19  Bruno Haible  <bruno@clisp.org>
10707
10708         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10709         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10710         * doc/posix-functions/round.texi: Mention problem with negative
10711         arguments.
10712         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10713
10714 2011-06-19  Bruno Haible  <bruno@clisp.org>
10715
10716         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10717         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10718         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10719         * doc/posix-functions/roundf.texi: Mention problem with negative
10720         arguments.
10721         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10722
10723 2011-06-19  Bruno Haible  <bruno@clisp.org>
10724
10725         ceilf-ieee: Work around bug on MacOS X 10.5.
10726         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10727
10728         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10729         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10730         IEEE compliant, avoid compiler optimizations.
10731         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10732         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10733         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10734         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10735         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10736         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10737         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10738         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10739         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10740         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10741
10742 2011-06-19  Bruno Haible  <bruno@clisp.org>
10743
10744         ceilf-ieee: Work around bug on AIX 7.1.
10745         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10746         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10747
10748 2011-06-19  Bruno Haible  <bruno@clisp.org>
10749
10750         ceil-ieee: Work around bug on AIX 7.1.
10751         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10752         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10753
10754 2011-06-18  Bruno Haible  <bruno@clisp.org>
10755
10756         fsync test: Avoid test failure on MacOS X and AIX.
10757         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10758         EINVAL.
10759
10760 2011-06-18  Bruno Haible  <bruno@clisp.org>
10761
10762         openat, fdopendir tests: Fix link errors.
10763         * modules/openat-tests (Depends-on): Add progname.
10764         * modules/fdopendir-tests (Depends-on): Likewise.
10765         * tests/test-fchownat.c: Include progname.h.
10766         (main): Call set_program_name.
10767         * tests/test-fstatat.c: Include progname.h.
10768         (main): Call set_program_name.
10769         * tests/test-mkdirat.c: Include progname.h.
10770         (main): Call set_program_name.
10771         * tests/test-openat.c: Include progname.h.
10772         (main): Call set_program_name.
10773         * tests/test-unlinkat.c: Include progname.h.
10774         (main): Call set_program_name.
10775         * tests/test-fdopendir.c: Include progname.h.
10776         (main): Call set_program_name.
10777
10778 2011-06-18  Bruno Haible  <bruno@clisp.org>
10779
10780         Doc update.
10781         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10782         HP-UX.
10783         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10784
10785 2011-06-18  Bruno Haible  <bruno@clisp.org>
10786
10787         getcwd tests: Avoid compilation error on HP-UX 11.31.
10788         * modules/getcwd-tests (Depends-on): Add pathmax.
10789         * tests/test-getcwd.c: Include pathmax.h.
10790
10791 2011-06-18  Bruno Haible  <bruno@clisp.org>
10792
10793         isfinite, isinf: Fix link error on AIX 6 and 7.
10794         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10795         needed, also test the macro with a 'float' argument.
10796         * m4/isinf.m4 (gl_ISINF): Likewise.
10797
10798 2011-06-18  Bruno Haible  <bruno@clisp.org>
10799
10800         getloadavg: Don't clobber LIBS. Regression from previous commit.
10801         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
10802         AC_CHECK_LIB from here...
10803         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
10804         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
10805         gl_func_getloadavg_done.
10806         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10807
10808 2011-06-18  Bruno Haible  <bruno@clisp.org>
10809
10810         clean-temp: Improve documentation.
10811         * lib/clean-temp.h: Explain better how to use this module.
10812         Reported by John Darrington <john@darrington.wattle.id.au>.
10813
10814 2011-06-17  Bruno Haible  <bruno@clisp.org>
10815
10816         pread, pwrite: Avoid cc warning on AIX.
10817         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10818         (pwrite): Likewise.
10819
10820 2011-06-17  Bruno Haible  <bruno@clisp.org>
10821
10822         spawn-pipe tests: Fix link error.
10823         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10824         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10825
10826 2011-06-17  Bruno Haible  <bruno@clisp.org>
10827
10828         Tests: Remove unnecessary dependency.
10829         * modules/canonicalize-tests (Depends-on): Remove progname.
10830         * modules/chown-tests (Depends-on): Likewise.
10831         * modules/dirname-tests (Depends-on): Likewise.
10832         * modules/fdopendir-tests (Depends-on): Likewise.
10833         * modules/fdutimensat-tests (Depends-on): Likewise.
10834         * modules/hash-tests (Depends-on): Likewise.
10835         * modules/lchown-tests (Depends-on): Likewise.
10836         * modules/linkat-tests (Depends-on): Likewise.
10837         * modules/renameat-tests (Depends-on): Likewise.
10838         * modules/spawn-pipe-tests (Depends-on): Likewise.
10839         * modules/utimensat-tests (Depends-on): Likewise.
10840
10841 2011-06-17  Bruno Haible  <bruno@clisp.org>
10842
10843         spawn-pipe tests: Fix link error.
10844         * tests/test-spawn-pipe-child.c: Undefine fflush.
10845
10846 2011-06-17  Bruno Haible  <bruno@clisp.org>
10847
10848         Fix tests link errors.
10849         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10850         * modules/chown-tests (Makefile.am): Don't link test-chown with
10851         LIBINTL.
10852         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10853         LIBINTL.
10854         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10855         LIBINTL.
10856         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10857         LIBINTL.
10858
10859 2011-06-16  Bruno Haible  <bruno@clisp.org>
10860
10861         crypto/gc-sha1: Fix recent regression.
10862         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10863         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10864
10865         crypto/gc-md5: Fix recent regression.
10866         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10867
10868         crypto/gc-md4: Fix recent regression.
10869         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10870         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10871
10872         crypto/gc-arctwo: Fix recent regression.
10873         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10874         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10875
10876         crypto/gc-rijndael: Fix recent regression.
10877         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10878         (configure.ac): Invoke AC_LIBOBJ here.
10879         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10880         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10881
10882         crypto/gc-hmac-sha1: Fix recent regression.
10883         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10884         (configure.ac): Invoke AC_LIBOBJ here.
10885         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10886         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10887
10888         crypto/gc-hmac-md5: Fix recent regression.
10889         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10890         (configure.ac): Invoke AC_LIBOBJ here.
10891         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10892         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10893
10894         crypto/gc-des: Fix recent regression.
10895         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10896         (configure.ac): Invoke AC_LIBOBJ here.
10897         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10898         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10899
10900         crypto/gc-arcfour: Fix recent regression.
10901         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10902         (configure.ac): Invoke AC_LIBOBJ here.
10903         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10904         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10905
10906 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10907
10908         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10909         After the 2011-05-21 change, this macro requires
10910         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10911         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10912
10913 2011-06-16  Bruno Haible  <bruno@clisp.org>
10914
10915         fprintftime: Move AC_LIBOBJ invocations to module description.
10916         * m4/fprintftime.m4: Remove file.
10917         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
10918         (configure.ac): Remove gl_FPRINTFTIME call.
10919         (Makefile.am): Augment lib_SOURCES.
10920         Reported by Jim Meyering.
10921
10922 2011-06-16  Bruno Haible  <bruno@clisp.org>
10923
10924         tmpfile-safer: Finish 2011-05-23 commit.
10925         * m4/stdio-safer.m4: Really remove file.
10926         Reported by Jim Meyering.
10927
10928 2011-06-16  Bruno Haible  <bruno@clisp.org>
10929
10930         syntax-check: Fix typo.
10931         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
10932         printf-posix.m4.
10933         Reported by Jim Meyering.
10934
10935 2011-06-13  Jim Meyering  <meyering@redhat.com>
10936
10937         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
10938         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
10939
10940 2011-05-23  Bruno Haible  <bruno@clisp.org>
10941
10942         yesno: Move AC_LIBOBJ invocations to module description.
10943         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
10944         * modules/yesno (Makefile.am): Augment lib_SOURCES.
10945
10946 2011-05-23  Bruno Haible  <bruno@clisp.org>
10947
10948         xstrtol: Move AC_LIBOBJ invocations to module description.
10949         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
10950         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
10951
10952 2011-05-23  Bruno Haible  <bruno@clisp.org>
10953
10954         xstrtold: Move AC_LIBOBJ invocations to module description.
10955         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
10956         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
10957
10958 2011-05-23  Bruno Haible  <bruno@clisp.org>
10959
10960         xstrtod: Move AC_LIBOBJ invocations to module description.
10961         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
10962         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
10963
10964 2011-05-23  Bruno Haible  <bruno@clisp.org>
10965
10966         xnanosleep: Move AC_LIBOBJ invocations to module description.
10967         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
10968         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
10969
10970 2011-05-23  Bruno Haible  <bruno@clisp.org>
10971
10972         xgetcwd: Move AC_LIBOBJ invocations to module description.
10973         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
10974         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
10975
10976 2011-05-23  Bruno Haible  <bruno@clisp.org>
10977
10978         xalloc: Move AC_LIBOBJ invocations to module description.
10979         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
10980         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
10981
10982 2011-05-23  Bruno Haible  <bruno@clisp.org>
10983
10984         write-any-file: Move AC_LIBOBJ invocations to module description.
10985         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
10986         invocation.
10987         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
10988
10989 2011-05-23  Bruno Haible  <bruno@clisp.org>
10990
10991         utimens: Move AC_LIBOBJ invocations to module description.
10992         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
10993         * modules/utimens (Makefile.am): Augment lib_SOURCES.
10994
10995 2011-05-23  Bruno Haible  <bruno@clisp.org>
10996
10997         utimecmp: Move AC_LIBOBJ invocations to module description.
10998         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
10999         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11000
11001 2011-05-23  Bruno Haible  <bruno@clisp.org>
11002
11003         userspec: Move AC_LIBOBJ invocations to module description.
11004         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11005         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11006
11007 2011-05-23  Bruno Haible  <bruno@clisp.org>
11008
11009         unlinkdir: Move AC_LIBOBJ invocations to module description.
11010         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11011         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11012
11013 2011-05-23  Bruno Haible  <bruno@clisp.org>
11014
11015         unistd-safer: Move AC_LIBOBJ invocations to module description.
11016         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11017         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11018
11019 2011-05-23  Bruno Haible  <bruno@clisp.org>
11020
11021         tempname: Move AC_LIBOBJ invocations to module description.
11022         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11023         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11024
11025 2011-05-23  Bruno Haible  <bruno@clisp.org>
11026
11027         strftime: Move AC_LIBOBJ invocations to module description.
11028         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11029         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11030
11031 2011-05-23  Bruno Haible  <bruno@clisp.org>
11032
11033         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11034         * m4/stdlib-safer.m4: Remove file.
11035         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11036         (configure.ac): Remove gl_STDLIB_SAFER call.
11037         (Makefile.am): Augment lib_SOURCES.
11038
11039 2011-05-23  Bruno Haible  <bruno@clisp.org>
11040
11041         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11042         * m4/stdio-safer.m4: Remove file.
11043         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11044         (configure.ac): Remove gl_TMPFILE_SAFER call.
11045         (Makefile.am): Augment lib_SOURCES.
11046
11047 2011-05-23  Bruno Haible  <bruno@clisp.org>
11048
11049         popen-safer: Move AC_LIBOBJ invocations to module description.
11050         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11051         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11052         (configure.ac): Remove gl_POPEN_SAFER call.
11053         (Makefile.am): Augment lib_SOURCES.
11054
11055 2011-05-23  Bruno Haible  <bruno@clisp.org>
11056
11057         freopen-safer: Move AC_LIBOBJ invocations to module description.
11058         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11059         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11060         (configure.ac): Remove gl_FREOPEN_SAFER call.
11061         (Makefile.am): Augment lib_SOURCES.
11062
11063 2011-05-23  Bruno Haible  <bruno@clisp.org>
11064
11065         fopen-safer: Move AC_LIBOBJ invocations to module description.
11066         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11067         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11068         (configure.ac): Remove gl_FOPEN_SAFER call.
11069         (Makefile.am): Augment lib_SOURCES.
11070
11071 2011-05-23  Bruno Haible  <bruno@clisp.org>
11072
11073         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11074         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11075         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11076
11077 2011-05-23  Bruno Haible  <bruno@clisp.org>
11078
11079         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11080         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11081         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11082
11083 2011-05-23  Bruno Haible  <bruno@clisp.org>
11084
11085         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11086         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11087         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11088
11089 2011-05-23  Bruno Haible  <bruno@clisp.org>
11090
11091         settime: Move AC_LIBOBJ invocations to module description.
11092         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11093         * modules/settime (Makefile.am): Augment lib_SOURCES.
11094
11095 2011-05-23  Bruno Haible  <bruno@clisp.org>
11096
11097         savedir: Move AC_LIBOBJ invocations to module description.
11098         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11099         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11100
11101 2011-05-23  Bruno Haible  <bruno@clisp.org>
11102
11103         save-cwd: Move AC_LIBOBJ invocations to module description.
11104         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11105         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11106
11107 2011-05-23  Bruno Haible  <bruno@clisp.org>
11108
11109         same: Move AC_LIBOBJ invocations to module description.
11110         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11111         * modules/same (Makefile.am): Augment lib_SOURCES.
11112
11113 2011-05-23  Bruno Haible  <bruno@clisp.org>
11114
11115         safe-write: Move AC_LIBOBJ invocations to module description.
11116         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11117         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11118         instead of gl_SAFE_WRITE.
11119         (Makefile.am): Augment lib_SOURCES.
11120
11121 2011-05-23  Bruno Haible  <bruno@clisp.org>
11122
11123         safe-read: Move AC_LIBOBJ invocations to module description.
11124         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11125         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11126         of gl_SAFE_READ.
11127         (Makefile.am): Augment lib_SOURCES.
11128
11129 2011-05-23  Bruno Haible  <bruno@clisp.org>
11130
11131         safe-alloc: Move AC_LIBOBJ invocations to module description.
11132         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11133         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11134
11135 2011-05-23  Bruno Haible  <bruno@clisp.org>
11136
11137         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11138         * m4/rijndael.m4: Remove file.
11139         * modules/crypto/rijndael (Files): Remove it.
11140         (configure.ac): Remove gl_RIJNDAEL call.
11141         (Makefile.am): Augment lib_SOURCES.
11142
11143 2011-05-23  Bruno Haible  <bruno@clisp.org>
11144
11145         readtokens: Move AC_LIBOBJ invocations to module description.
11146         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11147         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11148
11149 2011-05-23  Bruno Haible  <bruno@clisp.org>
11150
11151         read-file: Move AC_LIBOBJ invocations to module description.
11152         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11153         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11154         of gl_FUNC_READ_FILE.
11155         (Makefile.am): Augment lib_SOURCES.
11156
11157 2011-05-23  Bruno Haible  <bruno@clisp.org>
11158
11159         quotearg: Move AC_LIBOBJ invocations to module description.
11160         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11161         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11162
11163 2011-05-23  Bruno Haible  <bruno@clisp.org>
11164
11165         quote: Move AC_LIBOBJ invocations to module description.
11166         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11167         * modules/quote (Makefile.am): Augment lib_SOURCES.
11168
11169 2011-05-23  Bruno Haible  <bruno@clisp.org>
11170
11171         posixver: Move AC_LIBOBJ invocations to module description.
11172         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11173         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11174
11175 2011-05-23  Bruno Haible  <bruno@clisp.org>
11176
11177         posixtm: Move AC_LIBOBJ invocations to module description.
11178         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11179         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11180
11181 2011-05-23  Bruno Haible  <bruno@clisp.org>
11182
11183         physmem: Move AC_LIBOBJ invocations to module description.
11184         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11185         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11186
11187 2011-05-23  Bruno Haible  <bruno@clisp.org>
11188
11189         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11190         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11191         invocation.
11192         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11193
11194 2011-05-23  Bruno Haible  <bruno@clisp.org>
11195
11196         mpsort: Move AC_LIBOBJ invocations to module description.
11197         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11198         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11199
11200 2011-05-23  Bruno Haible  <bruno@clisp.org>
11201
11202         modechange: Move AC_LIBOBJ invocations to module description.
11203         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11204         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11205
11206 2011-05-23  Bruno Haible  <bruno@clisp.org>
11207
11208         mkdir-p: Move AC_LIBOBJ invocations to module description.
11209         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11210         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11211
11212 2011-05-23  Bruno Haible  <bruno@clisp.org>
11213
11214         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11215         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11216         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11217
11218 2011-05-23  Bruno Haible  <bruno@clisp.org>
11219
11220         mgetgroups: Move AC_LIBOBJ invocations to module description.
11221         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11222         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11223
11224 2011-05-23  Bruno Haible  <bruno@clisp.org>
11225
11226         memxor: Move AC_LIBOBJ invocations to module description.
11227         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11228         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11229
11230 2011-05-23  Bruno Haible  <bruno@clisp.org>
11231
11232         memcoll: Move AC_LIBOBJ invocations to module description.
11233         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11234         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11235
11236 2011-05-23  Bruno Haible  <bruno@clisp.org>
11237
11238         memcasecmp: Move AC_LIBOBJ invocations to module description.
11239         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11240         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11241
11242 2011-05-23  Bruno Haible  <bruno@clisp.org>
11243
11244         crypto/md5: Move AC_LIBOBJ invocations to module description.
11245         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11246         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11247
11248 2011-05-23  Bruno Haible  <bruno@clisp.org>
11249
11250         crypto/md4: Move AC_LIBOBJ invocations to module description.
11251         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11252         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11253
11254 2011-05-23  Bruno Haible  <bruno@clisp.org>
11255
11256         crypto/md2: Move AC_LIBOBJ invocations to module description.
11257         * m4/md2.m4: Remove file.
11258         * modules/crypto/md2 (Files): Remove it.
11259         (configure.ac): Remove gl_MD2 call.
11260         (Makefile.am): Augment lib_SOURCES.
11261
11262 2011-05-23  Bruno Haible  <bruno@clisp.org>
11263
11264         long-options: Move AC_LIBOBJ invocations to module description.
11265         * m4/long-options.m4: Remove file.
11266         * modules/long-options (Files): Remove it.
11267         (configure.ac): Remove gl_LONG_OPTIONS call.
11268         (Makefile.am): Augment lib_SOURCES.
11269
11270 2011-05-23  Bruno Haible  <bruno@clisp.org>
11271
11272         i-ring: Move AC_LIBOBJ invocations to module description.
11273         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11274         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11275
11276 2011-05-23  Bruno Haible  <bruno@clisp.org>
11277
11278         idcache: Move AC_LIBOBJ invocations to module description.
11279         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11280         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11281
11282 2011-05-23  Bruno Haible  <bruno@clisp.org>
11283
11284         human: Move AC_LIBOBJ invocations to module description.
11285         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11286         * modules/human (Makefile.am): Augment lib_SOURCES.
11287
11288 2011-05-23  Bruno Haible  <bruno@clisp.org>
11289
11290         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11291         * m4/hmac-sha1.m4: Remove file.
11292         * modules/crypto/hmac-sha1 (Files): Remove it.
11293         (configure.ac): Remove gl_HMAC_SHA1 call.
11294         (Makefile.am): Augment lib_SOURCES.
11295
11296 2011-05-23  Bruno Haible  <bruno@clisp.org>
11297
11298         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11299         * m4/hmac-md5.m4: Remove file.
11300         * modules/crypto/hmac-md5 (Files): Remove it.
11301         (configure.ac): Remove gl_HMAC_MD5 call.
11302         (Makefile.am): Augment lib_SOURCES.
11303
11304 2011-05-23  Bruno Haible  <bruno@clisp.org>
11305
11306         hash: Move AC_LIBOBJ invocations to module description.
11307         * m4/hash.m4: Remove file.
11308         * modules/hash (Files): Remove it.
11309         (configure.ac): Remove gl_HASH call.
11310         (Makefile.am): Augment lib_SOURCES.
11311
11312 2011-05-23  Bruno Haible  <bruno@clisp.org>
11313
11314         hard-locale: Move AC_LIBOBJ invocations to module description.
11315         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11316         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11317
11318 2011-05-23  Bruno Haible  <bruno@clisp.org>
11319
11320         getugroups: Move AC_LIBOBJ invocations to module description.
11321         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11322         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11323
11324 2011-05-23  Bruno Haible  <bruno@clisp.org>
11325
11326         gettime: Move AC_LIBOBJ invocations to module description.
11327         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11328         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11329
11330 2011-05-23  Bruno Haible  <bruno@clisp.org>
11331
11332         getndelim2: Move AC_LIBOBJ invocations to module description.
11333         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11334         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11335
11336 2011-05-23  Bruno Haible  <bruno@clisp.org>
11337
11338         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11339         * m4/gc-pbkdf2-sha1.m4: Remove file.
11340         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11341         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11342         (Makefile.am): Augment lib_SOURCES.
11343
11344 2011-05-23  Bruno Haible  <bruno@clisp.org>
11345
11346         fts: Move AC_LIBOBJ invocations to module description.
11347         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11348         * modules/fts (configure.ac): ... to here.
11349
11350 2011-05-23  Bruno Haible  <bruno@clisp.org>
11351
11352         file-type: Move AC_LIBOBJ invocations to module description.
11353         * m4/file-type.m4: Remove file.
11354         * modules/file-type (Files): Remove it.
11355         (configure.ac): Remove gl_FILE_TYPE call.
11356         (Makefile.am): Augment lib_SOURCES.
11357
11358 2011-05-23  Bruno Haible  <bruno@clisp.org>
11359
11360         filenamecat*: Respect rules for use of AC_LIBOBJ.
11361         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11362         Remove AC_LIBOBJ invocation.
11363         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11364         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11365
11366 2011-05-23  Bruno Haible  <bruno@clisp.org>
11367
11368         filemode: Move AC_LIBOBJ invocations to module description.
11369         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11370         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11371
11372 2011-05-23  Bruno Haible  <bruno@clisp.org>
11373
11374         openat-safer: Move AC_LIBOBJ invocations to module description.
11375         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11376         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11377
11378 2011-05-23  Bruno Haible  <bruno@clisp.org>
11379
11380         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11381         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11382         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11383
11384 2011-05-23  Bruno Haible  <bruno@clisp.org>
11385
11386         exclude: Move AC_LIBOBJ invocations to module description.
11387         * m4/exclude.m4: Remove file.
11388         * modules/exclude (Files): Remove it.
11389         (configure.ac): Remove gl_EXCLUDE call.
11390         (Makefile.am): Augment lib_SOURCES.
11391
11392 2011-05-23  Bruno Haible  <bruno@clisp.org>
11393
11394         dirname*: Respect rules for use of AC_LIBOBJ.
11395         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11396         invocations.
11397         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11398         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11399
11400 2011-05-23  Bruno Haible  <bruno@clisp.org>
11401
11402         dirent-safer: Move AC_LIBOBJ invocations to module description.
11403         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11404         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11405
11406 2011-05-23  Bruno Haible  <bruno@clisp.org>
11407
11408         crypto/des: Move AC_LIBOBJ invocations to module description.
11409         * m4/des.m4: Remove file.
11410         * modules/crypto/des (Files): Remove it.
11411         (configure.ac): Remove gl_DES call.
11412         (Makefile.am): Augment lib_SOURCES.
11413
11414 2011-05-23  Bruno Haible  <bruno@clisp.org>
11415
11416         cycle-check: Move AC_LIBOBJ invocations to module description.
11417         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11418         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11419
11420 2011-05-23  Bruno Haible  <bruno@clisp.org>
11421
11422         c-strtold: Move AC_LIBOBJ invocations to module description.
11423         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11424         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11425
11426 2011-05-23  Bruno Haible  <bruno@clisp.org>
11427
11428         c-strtod: Move AC_LIBOBJ invocations to module description.
11429         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11430         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11431
11432 2011-05-23  Bruno Haible  <bruno@clisp.org>
11433
11434         crc: Move AC_LIBOBJ invocations to module description.
11435         * m4/crc.m4: Remove file.
11436         * modules/crc (Files): Remove it.
11437         (configure.ac): Remove gl_CRC call.
11438         (Makefile.am): Augment lib_SOURCES.
11439
11440 2011-05-23  Bruno Haible  <bruno@clisp.org>
11441
11442         close-stream: Move AC_LIBOBJ invocations to module description.
11443         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11444         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11445
11446 2011-05-23  Bruno Haible  <bruno@clisp.org>
11447
11448         closeout: Move AC_LIBOBJ invocations to module description.
11449         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11450         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11451
11452 2011-05-23  Bruno Haible  <bruno@clisp.org>
11453
11454         closein: Move AC_LIBOBJ invocations to module description.
11455         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11456         * modules/closein (Makefile.am): Augment lib_SOURCES.
11457
11458 2011-05-23  Bruno Haible  <bruno@clisp.org>
11459
11460         cloexec: Move AC_LIBOBJ invocations to module description.
11461         * m4/cloexec.m4: Remove file.
11462         * modules/cloexec (Files): Remove it.
11463         (configure.ac): Remove gl_CLOEXEC call.
11464         (Makefile.am): Augment lib_SOURCES.
11465
11466 2011-05-23  Bruno Haible  <bruno@clisp.org>
11467
11468         check-version: Move AC_LIBOBJ invocations to module description.
11469         * m4/check-version.m4: Remove file.
11470         * modules/check-version (Files): Remove it.
11471         (configure.ac): Remove gl_CHECK_VERSION call.
11472         (Makefile.am): Augment lib_SOURCES.
11473
11474 2011-05-23  Bruno Haible  <bruno@clisp.org>
11475
11476         chdir-safer: Move AC_LIBOBJ invocations to module description.
11477         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11478         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11479
11480 2011-05-23  Bruno Haible  <bruno@clisp.org>
11481
11482         canonicalize: Move AC_LIBOBJ invocations to module description.
11483         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11484         AC_LIBOBJ invocation.
11485         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11486
11487 2011-05-23  Bruno Haible  <bruno@clisp.org>
11488
11489         canon-host: Move AC_LIBOBJ invocations to module description.
11490         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11491         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11492         instead of gl_CANON_HOST.
11493         (Makefile.am): Augment lib_SOURCES.
11494
11495 2011-05-23  Bruno Haible  <bruno@clisp.org>
11496
11497         backupfile: Move AC_LIBOBJ invocations to module description.
11498         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11499         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11500
11501 2011-05-23  Bruno Haible  <bruno@clisp.org>
11502
11503         argmatch: Move AC_LIBOBJ invocations to module description.
11504         * m4/argmatch.m4: Remove file.
11505         * modules/argmatch (Files): Remove it.
11506         (configure.ac): Remove gl_ARGMATCH call.
11507         (Makefile.am): Augment lib_SOURCES.
11508
11509 2011-05-23  Bruno Haible  <bruno@clisp.org>
11510
11511         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11512         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11513         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11514
11515 2011-05-23  Bruno Haible  <bruno@clisp.org>
11516
11517         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11518         * m4/arcfour.m4: Remove file.
11519         * modules/crypto/arcfour (Files): Remove it.
11520         (configure.ac): Remove gl_ARCFOUR call.
11521         (Makefile.am): Augment lib_SOURCES.
11522
11523 2011-05-22  Bruno Haible  <bruno@clisp.org>
11524
11525         write: Move AC_LIBOBJ invocations to module description.
11526         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11527         * modules/write (configure.ac): ... to here.
11528
11529 2011-05-22  Bruno Haible  <bruno@clisp.org>
11530
11531         wmemset: Move AC_LIBOBJ invocations to module description.
11532         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11533         here...
11534         * modules/wmemset (configure.ac): ... to here.
11535
11536 2011-05-22  Bruno Haible  <bruno@clisp.org>
11537
11538         wmemmove: Move AC_LIBOBJ invocations to module description.
11539         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11540         here...
11541         * modules/wmemmove (configure.ac): ... to here.
11542
11543 2011-05-22  Bruno Haible  <bruno@clisp.org>
11544
11545         wmemcpy: Move AC_LIBOBJ invocations to module description.
11546         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11547         here...
11548         * modules/wmemcpy (configure.ac): ... to here.
11549
11550 2011-05-22  Bruno Haible  <bruno@clisp.org>
11551
11552         wmemcmp: Move AC_LIBOBJ invocations to module description.
11553         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11554         here...
11555         * modules/wmemcmp (configure.ac): ... to here.
11556
11557 2011-05-22  Bruno Haible  <bruno@clisp.org>
11558
11559         wmemchr: Move AC_LIBOBJ invocations to module description.
11560         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11561         here...
11562         * modules/wmemchr (configure.ac): ... to here.
11563
11564 2011-05-22  Bruno Haible  <bruno@clisp.org>
11565
11566         wcswidth: Move AC_LIBOBJ invocations to module description.
11567         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11568         here...
11569         * modules/wcswidth (configure.ac): ... to here.
11570
11571 2011-05-22  Bruno Haible  <bruno@clisp.org>
11572
11573         wcwidth: Respect rules for use of AC_LIBOBJ.
11574         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11575         invocation from here...
11576         * modules/wcwidth (configure.ac): ... to here.
11577         (Depends-on): Update conditions.
11578
11579 2011-05-22  Bruno Haible  <bruno@clisp.org>
11580
11581         wctype: Move AC_LIBOBJ invocations to module description.
11582         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11583         invocation from here...
11584         * modules/wctype (configure.ac): ... to here.
11585         (Depends-on): Update conditions.
11586
11587 2011-05-22  Bruno Haible  <bruno@clisp.org>
11588
11589         wctrans: Move AC_LIBOBJ invocations to module description.
11590         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11591         invocation from here...
11592         * modules/wctrans (configure.ac): ... to here.
11593
11594 2011-05-22  Bruno Haible  <bruno@clisp.org>
11595
11596         wctomb: Move AC_LIBOBJ invocations to module description.
11597         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11598         invocations from here...
11599         * modules/wctomb (configure.ac): ... to here.
11600
11601 2011-05-22  Bruno Haible  <bruno@clisp.org>
11602
11603         wctob: Move AC_LIBOBJ invocations to module description.
11604         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11605         gl_PREREQ_WCTOB invocations from here...
11606         * modules/wctob (configure.ac): ... to here.
11607         (Depends-on): Update conditions.
11608
11609 2011-05-22  Bruno Haible  <bruno@clisp.org>
11610
11611         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11612         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11613         here...
11614         * modules/wcsxfrm (configure.ac): ... to here.
11615
11616 2011-05-22  Bruno Haible  <bruno@clisp.org>
11617
11618         wcstok: Move AC_LIBOBJ invocations to module description.
11619         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11620         * modules/wcstok (configure.ac): ... to here.
11621
11622 2011-05-22  Bruno Haible  <bruno@clisp.org>
11623
11624         wcsstr: Move AC_LIBOBJ invocations to module description.
11625         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11626         * modules/wcsstr (configure.ac): ... to here.
11627
11628 2011-05-22  Bruno Haible  <bruno@clisp.org>
11629
11630         wcsspn: Move AC_LIBOBJ invocations to module description.
11631         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11632         * modules/wcsspn (configure.ac): ... to here.
11633
11634 2011-05-22  Bruno Haible  <bruno@clisp.org>
11635
11636         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11637         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11638         gl_PREREQ_WCSRTOMBS invocations from here...
11639         * modules/wcsrtombs (configure.ac): ... to here.
11640
11641 2011-05-22  Bruno Haible  <bruno@clisp.org>
11642
11643         wcsrchr: Move AC_LIBOBJ invocations to module description.
11644         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11645         here...
11646         * modules/wcsrchr (configure.ac): ... to here.
11647
11648 2011-05-22  Bruno Haible  <bruno@clisp.org>
11649
11650         wcspbrk: Move AC_LIBOBJ invocations to module description.
11651         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11652         here...
11653         * modules/wcspbrk (configure.ac): ... to here.
11654
11655 2011-05-22  Bruno Haible  <bruno@clisp.org>
11656
11657         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11658         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11659         gl_PREREQ_WCSNRTOMBS invocations from here...
11660         * modules/wcsnrtombs (configure.ac): ... to here.
11661
11662 2011-05-22  Bruno Haible  <bruno@clisp.org>
11663
11664         wcsnlen: Move AC_LIBOBJ invocations to module description.
11665         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11666         here...
11667         * modules/wcsnlen (configure.ac): ... to here.
11668
11669 2011-05-22  Bruno Haible  <bruno@clisp.org>
11670
11671         wcsncpy: Move AC_LIBOBJ invocations to module description.
11672         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11673         here...
11674         * modules/wcsncpy (configure.ac): ... to here.
11675
11676 2011-05-22  Bruno Haible  <bruno@clisp.org>
11677
11678         wcsncmp: Move AC_LIBOBJ invocations to module description.
11679         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11680         here...
11681         * modules/wcsncmp (configure.ac): ... to here.
11682
11683 2011-05-22  Bruno Haible  <bruno@clisp.org>
11684
11685         wcsncat: Move AC_LIBOBJ invocations to module description.
11686         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11687         here...
11688         * modules/wcsncat (configure.ac): ... to here.
11689
11690 2011-05-22  Bruno Haible  <bruno@clisp.org>
11691
11692         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11693         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11694         from here...
11695         * modules/wcsncasecmp (configure.ac): ... to here.
11696
11697 2011-05-22  Bruno Haible  <bruno@clisp.org>
11698
11699         wcslen: Move AC_LIBOBJ invocations to module description.
11700         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11701         * modules/wcslen (configure.ac): ... to here.
11702
11703 2011-05-22  Bruno Haible  <bruno@clisp.org>
11704
11705         wcsdup: Move AC_LIBOBJ invocations to module description.
11706         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11707         * modules/wcsdup (configure.ac): ... to here.
11708
11709 2011-05-22  Bruno Haible  <bruno@clisp.org>
11710
11711         wcscspn: Move AC_LIBOBJ invocations to module description.
11712         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11713         here...
11714         * modules/wcscspn (configure.ac): ... to here.
11715
11716 2011-05-22  Bruno Haible  <bruno@clisp.org>
11717
11718         wcscpy: Move AC_LIBOBJ invocations to module description.
11719         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11720         * modules/wcscpy (configure.ac): ... to here.
11721
11722 2011-05-22  Bruno Haible  <bruno@clisp.org>
11723
11724         wcscoll: Move AC_LIBOBJ invocations to module description.
11725         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11726         here...
11727         * modules/wcscoll (configure.ac): ... to here.
11728
11729 2011-05-22  Bruno Haible  <bruno@clisp.org>
11730
11731         wcscmp: Move AC_LIBOBJ invocations to module description.
11732         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11733         * modules/wcscmp (configure.ac): ... to here.
11734
11735 2011-05-22  Bruno Haible  <bruno@clisp.org>
11736
11737         wcschr: Move AC_LIBOBJ invocations to module description.
11738         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11739         * modules/wcschr (configure.ac): ... to here.
11740
11741 2011-05-22  Bruno Haible  <bruno@clisp.org>
11742
11743         wcscat: Move AC_LIBOBJ invocations to module description.
11744         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11745         * modules/wcscat (configure.ac): ... to here.
11746
11747 2011-05-22  Bruno Haible  <bruno@clisp.org>
11748
11749         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11750         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11751         here...
11752         * modules/wcscasecmp (configure.ac): ... to here.
11753
11754 2011-05-22  Bruno Haible  <bruno@clisp.org>
11755
11756         wcrtomb: Move AC_LIBOBJ invocations to module description.
11757         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11758         invocations from here...
11759         * modules/wcrtomb (configure.ac): ... to here.
11760
11761 2011-05-22  Bruno Haible  <bruno@clisp.org>
11762
11763         wcpncpy: Move AC_LIBOBJ invocations to module description.
11764         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11765         here...
11766         * modules/wcpncpy (configure.ac): ... to here.
11767
11768 2011-05-22  Bruno Haible  <bruno@clisp.org>
11769
11770         wcpcpy: Move AC_LIBOBJ invocations to module description.
11771         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11772         * modules/wcpcpy (configure.ac): ... to here.
11773
11774 2011-05-22  Bruno Haible  <bruno@clisp.org>
11775
11776         waitpid: Move AC_LIBOBJ invocations to module description.
11777         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11778         invocation from here...
11779         * modules/waitpid (configure.ac): ... to here.
11780
11781 2011-05-22  Bruno Haible  <bruno@clisp.org>
11782
11783         utimensat: Move AC_LIBOBJ invocations to module description.
11784         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11785         here...
11786         * modules/utimensat (configure.ac): ... to here.
11787
11788 2011-05-22  Bruno Haible  <bruno@clisp.org>
11789
11790         usleep: Move AC_LIBOBJ invocations to module description.
11791         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11792         here...
11793         * modules/usleep (configure.ac): ... to here.
11794
11795 2011-05-22  Bruno Haible  <bruno@clisp.org>
11796
11797         unlockpt: Move AC_LIBOBJ invocations to module description.
11798         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
11799         gl_PREREQ_UNLOCKPT invocations from here...
11800         * modules/unlockpt (configure.ac): ... to here.
11801
11802 2011-05-22  Bruno Haible  <bruno@clisp.org>
11803
11804         unlink: Respect rules for use of AC_LIBOBJ.
11805         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
11806         * modules/unlink (configure.ac): ... to here.
11807
11808 2011-05-22  Bruno Haible  <bruno@clisp.org>
11809
11810         uname: Move AC_LIBOBJ invocations to module description.
11811         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11812         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11813         here...
11814         * modules/uname (configure.ac): ... to here.
11815
11816 2011-05-22  Bruno Haible  <bruno@clisp.org>
11817
11818         ttyname_r: Move AC_LIBOBJ invocations to module description.
11819         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11820         gl_PREREQ_TTYNAME_R invocations from here...
11821         * modules/ttyname_r (configure.ac): ... to here.
11822
11823 2011-05-22  Bruno Haible  <bruno@clisp.org>
11824
11825         tsearch: Move AC_LIBOBJ invocations to module description.
11826         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11827         invocations from here...
11828         * modules/tsearch (configure.ac): ... to here.
11829
11830 2011-05-22  Bruno Haible  <bruno@clisp.org>
11831
11832         towctrans: Move AC_LIBOBJ invocations to module description.
11833         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11834         AC_LIBOBJ invocation from here...
11835         * modules/towctrans (configure.ac): ... to here.
11836
11837 2011-05-22  Bruno Haible  <bruno@clisp.org>
11838
11839         tmpfile: Move AC_LIBOBJ invocations to module description.
11840         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11841         invocations from here...
11842         * modules/tmpfile (configure.ac): ... to here.
11843
11844 2011-05-22  Bruno Haible  <bruno@clisp.org>
11845
11846         times: Move AC_LIBOBJ invocations to module description.
11847         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11848         * modules/times (configure.ac): ... to here.
11849
11850 2011-05-22  Bruno Haible  <bruno@clisp.org>
11851
11852         time_r: Move AC_LIBOBJ invocations to module description.
11853         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11854         invocations from here...
11855         * modules/time_r (configure.ac): ... to here.
11856
11857 2011-05-22  Bruno Haible  <bruno@clisp.org>
11858
11859         timegm: Move AC_LIBOBJ invocations to module description.
11860         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11861         invocations from here...
11862         * modules/timegm (configure.ac): ... to here.
11863
11864 2011-05-22  Bruno Haible  <bruno@clisp.org>
11865
11866         tcgetsid: Move AC_LIBOBJ invocations to module description.
11867         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11868         and gl_PREREQ_TCGETSID invocations from here...
11869         * modules/tcgetsid (configure.ac): ... to here.
11870         (Depends-on): Update conditions.
11871
11872 2011-05-22  Bruno Haible  <bruno@clisp.org>
11873
11874         symlinkat: Move AC_LIBOBJ invocations to module description.
11875         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11876         here...
11877         * modules/symlinkat (configure.ac): ... to here.
11878
11879 2011-05-22  Bruno Haible  <bruno@clisp.org>
11880
11881         symlink: Move AC_LIBOBJ invocations to module description.
11882         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11883         here...
11884         * modules/symlink (configure.ac): ... to here.
11885
11886 2011-05-22  Bruno Haible  <bruno@clisp.org>
11887
11888         strverscmp: Move AC_LIBOBJ invocations to module description.
11889         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11890         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11891         from here...
11892         * modules/strverscmp (configure.ac): ... to here.
11893
11894 2011-05-22  Bruno Haible  <bruno@clisp.org>
11895
11896         strtok_r: Move AC_LIBOBJ invocations to module description.
11897         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11898         and gl_PREREQ_STRTOK_R invocations from here...
11899         * modules/strtok_r (configure.ac): ... to here.
11900         (Depends-on): Update conditions.
11901
11902 2011-05-22  Bruno Haible  <bruno@clisp.org>
11903
11904         strtoumax: Move AC_LIBOBJ invocations to module description.
11905         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11906         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11907         from here...
11908         * modules/strtoumax (configure.ac): ... to here.
11909
11910 2011-05-22  Bruno Haible  <bruno@clisp.org>
11911
11912         strtoimax: Move AC_LIBOBJ invocations to module description.
11913         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11914         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11915         from here...
11916         * modules/strtoimax (configure.ac): ... to here.
11917
11918 2011-05-22  Bruno Haible  <bruno@clisp.org>
11919
11920         strtoull: Move AC_LIBOBJ invocations to module description.
11921         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
11922         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
11923         from here...
11924         * modules/strtoull (configure.ac): ... to here.
11925
11926 2011-05-22  Bruno Haible  <bruno@clisp.org>
11927
11928         strtoll: Move AC_LIBOBJ invocations to module description.
11929         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
11930         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
11931         here...
11932         * modules/strtoll (configure.ac): ... to here.
11933
11934 2011-05-22  Bruno Haible  <bruno@clisp.org>
11935
11936         strtoul: Move AC_LIBOBJ invocations to module description.
11937         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
11938         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11939         * modules/strtoul (configure.ac): ... to here.
11940
11941 2011-05-22  Bruno Haible  <bruno@clisp.org>
11942
11943         strtol: Move AC_LIBOBJ invocations to module description.
11944         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
11945         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11946         * modules/strtol (configure.ac): ... to here.
11947
11948 2011-05-22  Bruno Haible  <bruno@clisp.org>
11949
11950         strtod: Move AC_LIBOBJ invocations to module description.
11951         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
11952         invocations from here...
11953         * modules/strtod (configure.ac): ... to here.
11954
11955 2011-05-22  Bruno Haible  <bruno@clisp.org>
11956
11957         strstr*: Move AC_LIBOBJ invocations to module description.
11958         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
11959         invocations from here...
11960         * modules/strstr-simple (configure.ac): ... to here.
11961         * modules/strstr (configure.ac): ... and here.
11962
11963 2011-05-22  Bruno Haible  <bruno@clisp.org>
11964
11965         strsignal: Move AC_LIBOBJ invocations to module description.
11966         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
11967         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
11968         * modules/strsignal (configure.ac): ... to here.
11969         (Depends-on): Update conditions.
11970
11971 2011-05-22  Bruno Haible  <bruno@clisp.org>
11972
11973         strsep: Move AC_LIBOBJ invocations to module description.
11974         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
11975         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
11976         here...
11977         * modules/strsep (configure.ac): ... to here.
11978
11979 2011-05-22  Bruno Haible  <bruno@clisp.org>
11980
11981         strptime: Move AC_LIBOBJ invocations to module description.
11982         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
11983         gl_PREREQ_STRPTIME invocations from here...
11984         * modules/strptime (configure.ac): ... to here.
11985
11986 2011-05-22  Bruno Haible  <bruno@clisp.org>
11987
11988         strpbrk: Move AC_LIBOBJ invocations to module description.
11989         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
11990         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
11991         here...
11992         * modules/strpbrk (configure.ac): ... to here.
11993
11994 2011-05-22  Bruno Haible  <bruno@clisp.org>
11995
11996         strnlen: Move AC_LIBOBJ invocations to module description.
11997         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
11998         invocations from here...
11999         * modules/strnlen (configure.ac): ... to here.
12000
12001 2011-05-22  Bruno Haible  <bruno@clisp.org>
12002
12003         strndup: Move AC_LIBOBJ invocations to module description.
12004         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12005         invocations from here...
12006         * modules/strndup (configure.ac): ... to here.
12007         (Depends-on): Update conditions.
12008
12009 2011-05-22  Bruno Haible  <bruno@clisp.org>
12010
12011         strncat: Move AC_LIBOBJ invocations to module description.
12012         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12013         invocations from here...
12014         * modules/strncat (configure.ac): ... to here.
12015
12016 2011-05-22  Bruno Haible  <bruno@clisp.org>
12017
12018         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12019         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12020         invocations from here...
12021         * modules/strdup (configure.ac): ... to here.
12022         * modules/strdup-posix (configure.ac): ... and here.
12023
12024 2011-05-22  Bruno Haible  <bruno@clisp.org>
12025
12026         strcspn: Move AC_LIBOBJ invocations to module description.
12027         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12028         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12029         here...
12030         * modules/strcspn (configure.ac): ... to here.
12031
12032 2011-05-22  Bruno Haible  <bruno@clisp.org>
12033
12034         strchrnul: Move AC_LIBOBJ invocations to module description.
12035         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12036         gl_PREREQ_STRCHRNUL invocations from here...
12037         * modules/strchrnul (configure.ac): ... to here.
12038
12039 2011-05-22  Bruno Haible  <bruno@clisp.org>
12040
12041         strcasestr*: Move AC_LIBOBJ invocations to module description.
12042         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12043         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12044         * modules/strcasestr-simple (configure.ac): ... to here.
12045         * modules/strcasestr (configure.ac): ... and here.
12046
12047 2011-05-22  Bruno Haible  <bruno@clisp.org>
12048
12049         strcase: Move AC_LIBOBJ invocations to module description.
12050         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12051         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12052         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12053         gl_PREREQ_STRNCASECMP invocations from here...
12054         * modules/strcase (configure.ac): ... to here.
12055
12056 2011-05-22  Bruno Haible  <bruno@clisp.org>
12057
12058         stpncpy: Move AC_LIBOBJ invocations to module description.
12059         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12060         here...
12061         * modules/stpncpy (configure.ac): ... to here.
12062
12063 2011-05-22  Bruno Haible  <bruno@clisp.org>
12064
12065         stpcpy: Move AC_LIBOBJ invocations to module description.
12066         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12067         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12068         here...
12069         * modules/stpcpy (configure.ac): ... to here.
12070
12071 2011-05-21  Bruno Haible  <bruno@clisp.org>
12072
12073         stat: Move AC_LIBOBJ invocations to module description.
12074         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12075         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12076         here...
12077         * modules/stat (configure.ac): ... to here.
12078
12079 2011-05-21  Bruno Haible  <bruno@clisp.org>
12080
12081         sleep: Move AC_LIBOBJ invocations to module description.
12082         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12083         * modules/sleep (configure.ac): ... to here.
12084
12085 2011-05-21  Bruno Haible  <bruno@clisp.org>
12086
12087         signbit: Move AC_LIBOBJ invocations to module description.
12088         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12089         * modules/signbit (configure.ac): ... to here.
12090
12091 2011-05-21  Bruno Haible  <bruno@clisp.org>
12092
12093         sigprocmask: Move AC_LIBOBJ invocations to module description.
12094         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12095         gl_PREREQ_SIGPROMASK invocations from here...
12096         * modules/sigprocmask (configure.ac): ... to here.
12097
12098 2011-05-21  Bruno Haible  <bruno@clisp.org>
12099
12100         sigaction: Move AC_LIBOBJ invocations to module description.
12101         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12102         gl_PREREQ_SIGACTION invocations from here...
12103         * modules/sigaction (configure.ac): ... to here.
12104
12105 2011-05-21  Bruno Haible  <bruno@clisp.org>
12106
12107         sig2str: Move AC_LIBOBJ invocations to module description.
12108         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12109         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12110         here...
12111         * modules/sig2str (configure.ac): ... to here.
12112
12113 2011-05-21  Bruno Haible  <bruno@clisp.org>
12114
12115         setlocale: Move AC_LIBOBJ invocations to module description.
12116         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12117         gl_PREREQ_SETLOCALE invocations from here...
12118         * modules/setlocale (configure.ac): ... to here.
12119
12120 2011-05-21  Bruno Haible  <bruno@clisp.org>
12121
12122         unsetenv: Move AC_LIBOBJ invocations to module description.
12123         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12124         and gl_PREREQ_UNSETENV invocations from here...
12125         * modules/unsetenv (configure.ac): ... to here.
12126         (Depends-on): Update.
12127
12128 2011-05-21  Bruno Haible  <bruno@clisp.org>
12129
12130         setenv: Move AC_LIBOBJ invocations to module description.
12131         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12132         here...
12133         * modules/setenv (configure.ac): ... to here.
12134
12135 2011-05-21  Bruno Haible  <bruno@clisp.org>
12136
12137         selinux-h: Move AC_LIBOBJ invocations to module description.
12138         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12139         AC_LIBOBJ invocation from here...
12140         * modules/selinux-h (configure.ac): ... to here.
12141
12142 2011-05-21  Bruno Haible  <bruno@clisp.org>
12143
12144         select: Respect rules for use of AC_LIBOBJ.
12145         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12146         here...
12147         * modules/select (configure.ac): ... to here.
12148
12149 2011-05-21  Bruno Haible  <bruno@clisp.org>
12150
12151         scandir: Move AC_LIBOBJ invocations to module description.
12152         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12153         invocations from here...
12154         * modules/scandir (configure.ac): ... to here.
12155
12156 2011-05-21  Bruno Haible  <bruno@clisp.org>
12157
12158         rpmatch: Move AC_LIBOBJ invocations to module description.
12159         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12160         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12161         here...
12162         * modules/rpmatch (configure.ac): ... to here.
12163
12164 2011-05-21  Bruno Haible  <bruno@clisp.org>
12165
12166         rmdir: Respect rules for use of AC_LIBOBJ.
12167         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12168         * modules/rmdir (configure.ac): ... to here.
12169
12170 2011-05-21  Bruno Haible  <bruno@clisp.org>
12171
12172         renameat: Move AC_LIBOBJ invocations to module description.
12173         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12174         here...
12175         * modules/renameat (configure.ac): ... to here.
12176
12177 2011-05-21  Bruno Haible  <bruno@clisp.org>
12178
12179         rename: Respect rules for use of AC_LIBOBJ.
12180         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12181         here...
12182         * modules/rename (configure.ac): ... to here.
12183
12184 2011-05-21  Bruno Haible  <bruno@clisp.org>
12185
12186         remove: Move AC_LIBOBJ invocations to module description.
12187         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12188         here...
12189         * modules/remove (configure.ac): ... to here.
12190
12191 2011-05-21  Bruno Haible  <bruno@clisp.org>
12192
12193         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12194         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12195         macro.
12196         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12197         * modules/relocatable-lib (configure.ac): ... to here.
12198         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12199         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12200
12201 2011-05-21  Bruno Haible  <bruno@clisp.org>
12202
12203         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12204         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12205         here...
12206         * modules/relocatable-prog (configure.ac): ... to here.
12207
12208 2011-05-21  Bruno Haible  <bruno@clisp.org>
12209
12210         regex: Move AC_LIBOBJ invocations to module description.
12211         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12212         invocations from here...
12213         * modules/regex (configure.ac): ... to here.
12214
12215 2011-05-21  Bruno Haible  <bruno@clisp.org>
12216
12217         realloc-*: Move AC_LIBOBJ invocations to module description.
12218         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12219         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12220         AC_LIBOBJ invocations from here...
12221         * modules/realloc-gnu (configure.ac): ... to here.
12222         * modules/realloc-posix (configure.ac): ... and here.
12223
12224 2011-05-21  Bruno Haible  <bruno@clisp.org>
12225
12226         readutmp: Move AC_LIBOBJ invocations to module description.
12227         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12228         * modules/readutmp (configure.ac): ... to here.
12229
12230 2011-05-21  Bruno Haible  <bruno@clisp.org>
12231
12232         readlinkat: Move AC_LIBOBJ invocations to module description.
12233         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12234         here...
12235         * modules/readlinkat (configure.ac): ... to here.
12236
12237 2011-05-21  Bruno Haible  <bruno@clisp.org>
12238
12239         readlink: Move AC_LIBOBJ invocations to module description.
12240         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12241         gl_PREREQ_READLINK invocations from here...
12242         * modules/readlink (configure.ac): ... to here.
12243
12244 2011-05-21  Bruno Haible  <bruno@clisp.org>
12245
12246         readline: Move AC_LIBOBJ invocations to module description.
12247         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12248         gl_PREREQ_READLINE invocations from here...
12249         * modules/readline (configure.ac): ... to here.
12250
12251 2011-05-21  Bruno Haible  <bruno@clisp.org>
12252
12253         read: Move AC_LIBOBJ invocations to module description.
12254         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12255         * modules/read (configure.ac): ... to here.
12256
12257 2011-05-21  Bruno Haible  <bruno@clisp.org>
12258
12259         rawmemchr: Move AC_LIBOBJ invocations to module description.
12260         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12261         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12262         from here...
12263         * modules/rawmemchr (configure.ac): ... to here.
12264
12265 2011-05-21  Bruno Haible  <bruno@clisp.org>
12266
12267         random_r: Move AC_LIBOBJ invocations to module description.
12268         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12269         gl_PREREQ_RANDOM_R invocations from here...
12270         * modules/random_r (configure.ac): ... to here.
12271
12272 2011-05-21  Bruno Haible  <bruno@clisp.org>
12273
12274         pwrite: Move AC_LIBOBJ invocations to module description.
12275         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12276         * modules/pwrite (configure.ac): ... to here.
12277
12278 2011-05-21  Bruno Haible  <bruno@clisp.org>
12279
12280         putenv: Move AC_LIBOBJ invocations to module description.
12281         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12282         * modules/putenv (configure.ac): ... to here.
12283
12284 2011-05-21  Bruno Haible  <bruno@clisp.org>
12285
12286         login_tty: Move AC_LIBOBJ invocations to module description.
12287         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12288         * modules/login_tty (configure.ac): ... to here.
12289
12290 2011-05-21  Bruno Haible  <bruno@clisp.org>
12291
12292         openpty: Move AC_LIBOBJ invocations to module description.
12293         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12294         * modules/openpty (configure.ac): ... to here.
12295
12296 2011-05-21  Bruno Haible  <bruno@clisp.org>
12297
12298         forkpty: Move AC_LIBOBJ invocations to module description.
12299         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12300         * modules/forkpty (configure.ac): ... to here.
12301
12302 2011-05-21  Bruno Haible  <bruno@clisp.org>
12303
12304         ptsname: Move AC_LIBOBJ invocations to module description.
12305         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12306         invocations from here...
12307         * modules/ptsname (configure.ac): ... to here.
12308
12309 2011-05-21  Bruno Haible  <bruno@clisp.org>
12310
12311         pread: Move AC_LIBOBJ invocations to module description.
12312         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12313         * modules/pread (configure.ac): ... to here.
12314
12315 2011-05-21  Bruno Haible  <bruno@clisp.org>
12316
12317         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12318         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12319         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12320         * modules/posix_spawn (configure.ac): ... to here.
12321         * modules/posix_spawnp (configure.ac): ... and here.
12322
12323 2011-05-21  Bruno Haible  <bruno@clisp.org>
12324
12325         popen: Move AC_LIBOBJ invocations to module description.
12326         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12327         invocations from here...
12328         * modules/popen (configure.ac): ... to here.
12329
12330 2011-05-21  Bruno Haible  <bruno@clisp.org>
12331
12332         poll: Move AC_LIBOBJ invocations to module description.
12333         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12334         invocations from here...
12335         * modules/poll (configure.ac): ... to here.
12336
12337 2011-05-21  Bruno Haible  <bruno@clisp.org>
12338
12339         pipe-posix: Move AC_LIBOBJ invocations to module description.
12340         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12341         * modules/pipe-posix (configure.ac): ... to here.
12342
12343 2011-05-21  Bruno Haible  <bruno@clisp.org>
12344
12345         openat: Respect rules for use of AC_LIBOBJ.
12346         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12347         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12348         * modules/openat (configure.ac): ... to here.
12349
12350 2011-05-21  Bruno Haible  <bruno@clisp.org>
12351
12352         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12353         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12354         invocation from here...
12355         * modules/obstack-printf (configure.ac): ... to here.
12356         * modules/obstack-printf-posix (configure.ac): ... and here.
12357
12358 2011-05-21  Bruno Haible  <bruno@clisp.org>
12359
12360         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12361         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12362         from here...
12363         * modules/nl_langinfo (configure.ac): ... to here.
12364
12365 2011-05-21  Bruno Haible  <bruno@clisp.org>
12366
12367         nanosleep: Move AC_LIBOBJ invocations to module description.
12368         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12369         gl_PREREQ_NANOSLEEP invocations from here...
12370         * modules/nanosleep (configure.ac): ... to here.
12371
12372 2011-05-21  Bruno Haible  <bruno@clisp.org>
12373
12374         mountlist: Move AC_LIBOBJ invocations to module description.
12375         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12376         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12377         * modules/mountlist (configure.ac): ... to here.
12378
12379 2011-05-21  Bruno Haible  <bruno@clisp.org>
12380
12381         mktime: Respect rules for use of AC_LIBOBJ.
12382         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12383         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12384         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12385         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12386         * modules/mktime (configure.ac): ... to here.
12387         * modules/mktime-internal (configure.ac): ... and here.
12388         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12389
12390 2011-05-21  Bruno Haible  <bruno@clisp.org>
12391
12392         mkstemps: Move AC_LIBOBJ invocations to module description.
12393         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12394         here...
12395         * modules/mkstemps (configure.ac): ... to here.
12396
12397 2011-05-21  Bruno Haible  <bruno@clisp.org>
12398
12399         mkstemp: Move AC_LIBOBJ invocations to module description.
12400         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12401         gl_PREREQ_MKSTEMP invocations from here...
12402         * modules/mkstemp (configure.ac): ... to here.
12403
12404 2011-05-21  Bruno Haible  <bruno@clisp.org>
12405
12406         mkostemps: Move AC_LIBOBJ invocations to module description.
12407         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12408         here...
12409         * modules/mkostemps (configure.ac): ... to here.
12410
12411 2011-05-21  Bruno Haible  <bruno@clisp.org>
12412
12413         mkostemp: Move AC_LIBOBJ invocations to module description.
12414         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12415         gl_PREREQ_MKOSTEMP invocations from here...
12416         * modules/mkostemp (configure.ac): ... to here.
12417
12418 2011-05-21  Bruno Haible  <bruno@clisp.org>
12419
12420         mknod: Move AC_LIBOBJ invocations to module description.
12421         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12422         * modules/mknod (configure.ac): ... to here.
12423
12424 2011-05-21  Bruno Haible  <bruno@clisp.org>
12425
12426         mkfifoat: Move AC_LIBOBJ invocations to module description.
12427         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12428         here...
12429         * modules/mkfifoat (configure.ac): ... to here.
12430
12431 2011-05-21  Bruno Haible  <bruno@clisp.org>
12432
12433         mkfifo: Respect rules for use of AC_LIBOBJ.
12434         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12435         here...
12436         * modules/mkfifo (configure.ac): ... to here.
12437
12438 2011-05-21  Bruno Haible  <bruno@clisp.org>
12439
12440         mkdtemp: Move AC_LIBOBJ invocations to module description.
12441         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12442         invocations from here...
12443         * modules/mkdtemp (configure.ac): ... to here.
12444
12445 2011-05-21  Bruno Haible  <bruno@clisp.org>
12446
12447         mkdir: Move AC_LIBOBJ invocations to module description.
12448         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12449         * modules/mkdir (configure.ac): ... to here.
12450
12451 2011-05-21  Bruno Haible  <bruno@clisp.org>
12452
12453         memset: Move AC_LIBOBJ invocations to module description.
12454         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12455         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12456         here...
12457         * modules/memset (configure.ac): ... to here.
12458
12459 2011-05-21  Bruno Haible  <bruno@clisp.org>
12460
12461         memrchr: Move AC_LIBOBJ invocations to module description.
12462         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12463         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12464         here...
12465         * modules/memrchr (configure.ac): ... to here.
12466
12467 2011-05-21  Bruno Haible  <bruno@clisp.org>
12468
12469         mempcpy: Move AC_LIBOBJ invocations to module description.
12470         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12471         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12472         here...
12473         * modules/mempcpy (configure.ac): ... to here.
12474
12475 2011-05-21  Bruno Haible  <bruno@clisp.org>
12476
12477         memmove: Move AC_LIBOBJ invocations to module description.
12478         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12479         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12480         here...
12481         * modules/memmove (configure.ac): ... to here.
12482
12483 2011-05-21  Bruno Haible  <bruno@clisp.org>
12484
12485         memmem*: Move AC_LIBOBJ invocations to module description.
12486         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12487         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12488         here...
12489         (gl_FUNC_MEMMEM): ... and here...
12490         * modules/memmem-simple (configure.ac): ... to here.
12491         * modules/memmem (configure.ac): ... and here.
12492
12493 2011-05-21  Bruno Haible  <bruno@clisp.org>
12494
12495         memcpy: Move AC_LIBOBJ invocations to module description.
12496         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12497         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12498         here...
12499         * modules/memcpy (configure.ac): ... to here.
12500
12501 2011-05-21  Bruno Haible  <bruno@clisp.org>
12502
12503         memcmp: Simplify autoconf macro.
12504         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12505         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12506         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12507
12508 2011-05-21  Bruno Haible  <bruno@clisp.org>
12509
12510         memcmp: Move AC_LIBOBJ invocations to module description.
12511         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12512         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12513         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12514         * modules/memcmp (configure.ac): ... to here.
12515         (Depends-on): Update conditions.
12516
12517 2011-05-21  Bruno Haible  <bruno@clisp.org>
12518
12519         memchr: Respect rules for use of AC_LIBOBJ.
12520         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12521         invocations from here...
12522         * modules/memchr (configure.ac): ... to here.
12523
12524 2011-05-21  Bruno Haible  <bruno@clisp.org>
12525
12526         mbtowc: Move AC_LIBOBJ invocations to module description.
12527         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12528         invocations from here...
12529         * modules/mbtowc (configure.ac): ... to here.
12530
12531 2011-05-21  Bruno Haible  <bruno@clisp.org>
12532
12533         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12534         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12535         gl_PREREQ_MBSRTOWCS invocations from here...
12536         * modules/mbsrtowcs (configure.ac): ... to here.
12537
12538 2011-05-21  Bruno Haible  <bruno@clisp.org>
12539
12540         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12541         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12542         gl_PREREQ_MBSNRTOWCS invocations from here...
12543         * modules/mbsnrtowcs (configure.ac): ... to here.
12544
12545 2011-05-21  Bruno Haible  <bruno@clisp.org>
12546
12547         mbsinit: Move AC_LIBOBJ invocations to module description.
12548         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12549         invocations from here...
12550         * modules/mbsinit (configure.ac): ... to here.
12551
12552 2011-05-21  Bruno Haible  <bruno@clisp.org>
12553
12554         mbrlen: Move AC_LIBOBJ invocations to module description.
12555         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12556         invocations from here...
12557         * modules/mbrlen (configure.ac): ... to here.
12558
12559 2011-05-21  Bruno Haible  <bruno@clisp.org>
12560
12561         mbrtowc: Respect rules for use of AC_LIBOBJ.
12562         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12563         invocations from here...
12564         * modules/mbrtowc (configure.ac): ... to here.
12565
12566 2011-05-21  Bruno Haible  <bruno@clisp.org>
12567
12568         malloc-*: Move AC_LIBOBJ invocations to module description.
12569         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12570         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12571         AC_LIBOBJ invocations from here...
12572         * modules/malloc-gnu (configure.ac): ... to here.
12573         * modules/malloc-posix (configure.ac): ... and here.
12574
12575 2011-05-21  Bruno Haible  <bruno@clisp.org>
12576
12577         lstat, openat: Respect rules for use of AC_LIBOBJ.
12578         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12579         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12580         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12581         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12582         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12583         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12584         here.
12585         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12586
12587 2011-05-21  Bruno Haible  <bruno@clisp.org>
12588
12589         lseek: Move AC_LIBOBJ invocations to module description.
12590         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12591         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12592         * modules/lseek (configure.ac): ... to here.
12593
12594 2011-05-21  Bruno Haible  <bruno@clisp.org>
12595
12596         linkat: Move AC_LIBOBJ invocations to module description.
12597         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12598         here...
12599         * modules/linkat (configure.ac): ... to here.
12600
12601 2011-05-21  Bruno Haible  <bruno@clisp.org>
12602
12603         link: Respect rules for use of AC_LIBOBJ.
12604         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12605         * modules/link (configure.ac): ... to here.
12606
12607 2011-05-21  Bruno Haible  <bruno@clisp.org>
12608
12609         lchown: Move AC_LIBOBJ invocations to module description.
12610         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12611         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12612         * modules/lchown (configure.ac): ... to here.
12613
12614 2011-05-21  Bruno Haible  <bruno@clisp.org>
12615
12616         iswctype: Move AC_LIBOBJ invocations to module description.
12617         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12618         here...
12619         * modules/iswctype (configure.ac): ... to here.
12620
12621 2011-05-21  Bruno Haible  <bruno@clisp.org>
12622
12623         iswblank: Move AC_LIBOBJ invocations to module description.
12624         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12625         here...
12626         * modules/iswblank (configure.ac): ... to here.
12627
12628 2011-05-21  Bruno Haible  <bruno@clisp.org>
12629
12630         atanl: Move AC_LIBOBJ invocations to module description.
12631         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12632         * modules/atanl (configure.ac): ... to here.
12633
12634 2011-05-21  Bruno Haible  <bruno@clisp.org>
12635
12636         acosl: Move AC_LIBOBJ invocations to module description.
12637         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12638         * modules/acosl (configure.ac): ... to here.
12639
12640 2011-05-21  Bruno Haible  <bruno@clisp.org>
12641
12642         asinl: Respect rules for use of AC_LIBOBJ.
12643         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12644         * modules/asinl (configure.ac): ... to here.
12645
12646 2011-05-21  Bruno Haible  <bruno@clisp.org>
12647
12648         tanl: Move AC_LIBOBJ invocations to module description.
12649         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12650         * modules/tanl (configure.ac): ... to here.
12651
12652 2011-05-21  Bruno Haible  <bruno@clisp.org>
12653
12654         cosl: Move AC_LIBOBJ invocations to module description.
12655         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12656         * modules/cosl (configure.ac): ... to here.
12657
12658 2011-05-21  Bruno Haible  <bruno@clisp.org>
12659
12660         sinl: Move AC_LIBOBJ invocations to module description.
12661         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12662         * modules/sinl (configure.ac): ... to here.
12663
12664 2011-05-21  Bruno Haible  <bruno@clisp.org>
12665
12666         logl: Move AC_LIBOBJ invocations to module description.
12667         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12668         * modules/logl (configure.ac): ... to here.
12669
12670 2011-05-21  Bruno Haible  <bruno@clisp.org>
12671
12672         expl: Move AC_LIBOBJ invocations to module description.
12673         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12674         * modules/expl (configure.ac): ... to here.
12675
12676 2011-05-21  Bruno Haible  <bruno@clisp.org>
12677
12678         roundl: Move AC_LIBOBJ invocations to module description.
12679         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12680         * modules/roundl (configure.ac): ... to here.
12681
12682 2011-05-21  Bruno Haible  <bruno@clisp.org>
12683
12684         round: Move AC_LIBOBJ invocations to module description.
12685         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12686         * modules/round (configure.ac): ... to here.
12687
12688 2011-05-21  Bruno Haible  <bruno@clisp.org>
12689
12690         roundf: Move AC_LIBOBJ invocations to module description.
12691         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12692         * modules/roundf (configure.ac): ... to here.
12693
12694 2011-05-21  Bruno Haible  <bruno@clisp.org>
12695
12696         truncl: Move AC_LIBOBJ invocations to module description.
12697         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12698         * modules/truncl (configure.ac): ... to here.
12699
12700 2011-05-21  Bruno Haible  <bruno@clisp.org>
12701
12702         trunc: Move AC_LIBOBJ invocations to module description.
12703         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12704         * modules/trunc (configure.ac): ... to here.
12705
12706 2011-05-21  Bruno Haible  <bruno@clisp.org>
12707
12708         truncf: Move AC_LIBOBJ invocations to module description.
12709         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12710         * modules/truncf (configure.ac): ... to here.
12711
12712 2011-05-21  Bruno Haible  <bruno@clisp.org>
12713
12714         ceill: Move AC_LIBOBJ invocations to module description.
12715         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12716         * modules/ceill (configure.ac): ... to here.
12717
12718 2011-05-21  Bruno Haible  <bruno@clisp.org>
12719
12720         ceil: Move AC_LIBOBJ invocations to module description.
12721         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12722         * modules/ceil (configure.ac): ... to here.
12723
12724 2011-05-21  Bruno Haible  <bruno@clisp.org>
12725
12726         ceilf: Move AC_LIBOBJ invocations to module description.
12727         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12728         * modules/ceilf (configure.ac): ... to here.
12729
12730 2011-05-21  Bruno Haible  <bruno@clisp.org>
12731
12732         floorl: Respect rules for use of AC_LIBOBJ.
12733         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12734         * modules/floorl (configure.ac): ... to here.
12735
12736 2011-05-21  Bruno Haible  <bruno@clisp.org>
12737
12738         floor: Respect rules for use of AC_LIBOBJ.
12739         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12740         * modules/floor (configure.ac): ... to here.
12741
12742 2011-05-21  Bruno Haible  <bruno@clisp.org>
12743
12744         floorf: Move AC_LIBOBJ invocations to module description.
12745         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12746         * modules/floorf (configure.ac): ... to here.
12747
12748 2011-05-20  Bruno Haible  <bruno@clisp.org>
12749
12750         sqrtl: Respect rules for use of AC_LIBOBJ.
12751         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12752         * modules/sqrtl (configure.ac): ... to here.
12753
12754 2011-05-20  Bruno Haible  <bruno@clisp.org>
12755
12756         ldexpl: Respect rules for use of AC_LIBOBJ.
12757         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12758         * modules/ldexpl (configure.ac): ... to here.
12759
12760 2011-05-20  Bruno Haible  <bruno@clisp.org>
12761
12762         frexpl*: Respect rules for use of AC_LIBOBJ.
12763         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12764         invocation from here...
12765         * modules/frexpl (configure.ac): ... to here.
12766         * modules/frexpl-nolibm (configure.ac): ... and here.
12767
12768 2011-05-20  Bruno Haible  <bruno@clisp.org>
12769
12770         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12771         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12772         invocation from here...
12773         * modules/frexp (configure.ac): ... to here.
12774         * modules/frexp-nolibm (configure.ac): ... and here.
12775
12776 2011-05-20  Bruno Haible  <bruno@clisp.org>
12777
12778         isnan: Respect rules for use of AC_LIBOBJ.
12779         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12780         invocations here.
12781         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12782         REPLACE_ISNAN.
12783         * modules/isnand (configure.ac): Likewise.
12784         * modules/isnanl (configure.ac): Likewise.
12785
12786 2011-05-20  Bruno Haible  <bruno@clisp.org>
12787
12788         isnanl*: Respect rules for use of AC_LIBOBJ.
12789         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12790         invocation from here...
12791         * modules/isnanl (configure.ac): ... to here.
12792         * modules/isnanl-nolibm (configure.ac): ... and here.
12793
12794 2011-05-20  Bruno Haible  <bruno@clisp.org>
12795
12796         isnand*: Move AC_LIBOBJ invocations to module description.
12797         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
12798         invocation from here...
12799         * modules/isnand (configure.ac): ... to here.
12800         * modules/isnand-nolibm (configure.ac): ... and here.
12801
12802 2011-05-20  Bruno Haible  <bruno@clisp.org>
12803
12804         isnanf*: Move AC_LIBOBJ invocations to module description.
12805         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
12806         invocation from here...
12807         * modules/isnanf (configure.ac): ... to here.
12808         * modules/isnanf-nolibm (configure.ac): ... and here.
12809
12810 2011-05-20  Bruno Haible  <bruno@clisp.org>
12811
12812         isnan*: Separate the AC_LIBOBJ invocations.
12813         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12814         AC_LIBOBJ invocation.
12815         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12816         here.
12817         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12818         AC_LIBOBJ invocation.
12819         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12820         here.
12821         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12822         AC_LIBOBJ invocation.
12823         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12824         here.
12825         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12826
12827 2011-05-08  Bruno Haible  <bruno@clisp.org>
12828
12829         isinf: Move AC_LIBOBJ invocations to module description.
12830         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12831         * modules/isinf (configure.ac): ... to here.
12832
12833 2011-05-08  Bruno Haible  <bruno@clisp.org>
12834
12835         isfinite: Move AC_LIBOBJ invocations to module description.
12836         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12837         * modules/isfinite (configure.ac): ... to here.
12838
12839 2011-05-08  Bruno Haible  <bruno@clisp.org>
12840
12841         isblank: Move AC_LIBOBJ invocations to module description.
12842         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12843         here...
12844         * modules/isblank (configure.ac): ... to here.
12845
12846 2011-05-08  Bruno Haible  <bruno@clisp.org>
12847
12848         isapipe: Move AC_LIBOBJ invocations to module description.
12849         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12850         gl_PREREQ_ISAPIPE invocations from here...
12851         * modules/isapipe (configure.ac): ... to here.
12852         (Depends-on): Update condition.
12853
12854 2011-05-08  Bruno Haible  <bruno@clisp.org>
12855
12856         ioctl: Move AC_LIBOBJ invocations to module description.
12857         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12858         invocations from here...
12859         * modules/ioctl (configure.ac): ... to here.
12860         (Depends-on): Update condition.
12861
12862 2011-05-08  Bruno Haible  <bruno@clisp.org>
12863
12864         imaxdiv: Move AC_LIBOBJ invocations to module description.
12865         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12866         invocations from here...
12867         * modules/imaxdiv (configure.ac): ... to here.
12868
12869 2011-05-08  Bruno Haible  <bruno@clisp.org>
12870
12871         imaxabs: Move AC_LIBOBJ invocations to module description.
12872         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12873         invocations from here...
12874         * modules/imaxabs (configure.ac): ... to here.
12875
12876 2011-05-08  Bruno Haible  <bruno@clisp.org>
12877
12878         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12879         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12880         AC_LIBOBJ invocations from here...
12881         * modules/getaddrinfo (configure.ac): ... to here.
12882         (Depends-on): Add conditions.
12883
12884 2011-05-08  Bruno Haible  <bruno@clisp.org>
12885
12886         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12887         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12888         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12889         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12890         (gl_PREREQ_INET_PTON): ... from here.
12891         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12892         gl_PREREQ_INET_PTON here.
12893         (Depends-on): Update condition.
12894
12895 2011-05-08  Bruno Haible  <bruno@clisp.org>
12896
12897         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12898         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12899         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12900         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12901         (gl_PREREQ_INET_NTOP): ... from here.
12902         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12903         gl_PREREQ_INET_NTOP here.
12904         (Depends-on): Update condition.
12905
12906 2011-05-08  Bruno Haible  <bruno@clisp.org>
12907
12908         iconv_open: Move AC_LIBOBJ invocations to module description.
12909         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12910         AC_LIBOBJ invocations from here...
12911         * modules/iconv_open (configure.ac): ... to here.
12912
12913 2011-05-08  Bruno Haible  <bruno@clisp.org>
12914
12915         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
12916         If module 'iconv_open' is among the main modules and module
12917         'iconv_open-utf' is among the tests dependencies, then
12918         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
12919         return the special iconv_t values. Therefore iconv() and iconv_close()
12920         must support these special iconv_t values, already in lib, not only in
12921         tests.
12922         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
12923         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
12924         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
12925         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
12926         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
12927         (Depends-on): Add the dependencies of iconv_open-utf.
12928         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
12929         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
12930         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
12931
12932 2011-05-08  Bruno Haible  <bruno@clisp.org>
12933
12934         group-member: Move AC_LIBOBJ invocations to module description.
12935         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
12936         gl_PREREQ_GROUP_MEMBER invocations from here...
12937         * modules/group-member (configure.ac): ... to here.
12938
12939 2011-05-08  Bruno Haible  <bruno@clisp.org>
12940
12941         grantpt: Move AC_LIBOBJ invocations to module description.
12942         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
12943         invocations from here...
12944         * modules/grantpt (configure.ac): ... to here.
12945
12946 2011-05-08  Bruno Haible  <bruno@clisp.org>
12947
12948         glob: Move AC_LIBOBJ invocations to module description.
12949         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
12950         from here...
12951         * modules/glob (configure.ac): ... to here.
12952
12953 2011-05-08  Bruno Haible  <bruno@clisp.org>
12954
12955         getusershell: Move AC_LIBOBJ invocations to module description.
12956         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
12957         Move AC_LIBOBJ invocation from here...
12958         * modules/getusershell (configure.ac): ... to here.
12959         (Depends-on): Update condition.
12960
12961 2011-05-08  Bruno Haible  <bruno@clisp.org>
12962
12963         gettimeofday: Move AC_LIBOBJ invocations to module description.
12964         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12965         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
12966         gl_PREREQ_GETTIMEOFDAY invocations from here...
12967         * modules/gettimeofday (configure.ac): ... to here.
12968
12969 2011-05-08  Bruno Haible  <bruno@clisp.org>
12970
12971         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
12972         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
12973         just gl_FUNC_TZSET.
12974         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
12975         (gl_FUNC_TZSET_CLOBBER): Remove actions.
12976         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
12977         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
12978
12979 2011-05-08  Bruno Haible  <bruno@clisp.org>
12980
12981         getsubopt: Move AC_LIBOBJ invocations to module description.
12982         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
12983         gl_PREREQ_GETSUBOPT invocations from here...
12984         * modules/getsubopt (configure.ac): ... to here.
12985
12986 2011-05-08  Bruno Haible  <bruno@clisp.org>
12987
12988         getpass-gnu: Move AC_LIBOBJ invocations to module description.
12989         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
12990         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
12991         * modules/getpass-gnu (configure.ac): ... to here.
12992
12993 2011-05-08  Bruno Haible  <bruno@clisp.org>
12994
12995         getpass: Move AC_LIBOBJ invocations to module description.
12996         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
12997         gl_PREREQ_GETPASS invocations from here...
12998         * modules/getpass (configure.ac): ... to here.
12999
13000 2011-05-08  Bruno Haible  <bruno@clisp.org>
13001
13002         getpagesize: Move AC_LIBOBJ invocations to module description.
13003         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13004         from here...
13005         * modules/getpagesize (configure.ac): ... to here.
13006
13007 2011-05-08  Bruno Haible  <bruno@clisp.org>
13008
13009         getopt: Move AC_LIBOBJ invocations to module description.
13010         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13011         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13012         invocations from here...
13013         * modules/getopt-gnu (configure.ac): ... to here.
13014         * modules/getopt-posix (configure.ac): ... and here.
13015         (Depends-on): Update condition.
13016
13017 2011-05-08  Bruno Haible  <bruno@clisp.org>
13018
13019         getopt, argp: Respect rules for use of AC_LIBOBJ.
13020         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13021         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13022         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13023         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13024
13025 2011-05-08  Bruno Haible  <bruno@clisp.org>
13026
13027         getlogin_r: Move AC_LIBOBJ invocations to module description.
13028         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13029         gl_PREREQ_GETLOGIN_R invocations from here...
13030         * modules/getlogin_r (configure.ac): ... to here.
13031
13032 2011-05-08  Bruno Haible  <bruno@clisp.org>
13033
13034         getlogin: Move AC_LIBOBJ invocations to module description.
13035         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13036         here...
13037         * modules/getlogin (configure.ac): ... to here.
13038
13039 2011-05-08  Bruno Haible  <bruno@clisp.org>
13040
13041         getloadavg: Move AC_LIBOBJ invocations to module description.
13042         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13043         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13044         * modules/getloadavg (configure.ac): ... to here.
13045
13046 2011-05-08  Bruno Haible  <bruno@clisp.org>
13047
13048         gethrxtime: Move AC_LIBOBJ invocations to module description.
13049         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13050         LIB_GETHRXTIME from here...
13051         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13052         invocations from here...
13053         * modules/gethrxtime (configure.ac): ... to here.
13054
13055 2011-05-08  Bruno Haible  <bruno@clisp.org>
13056
13057         gethostname: Move AC_LIBOBJ invocations to module description.
13058         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13059         gl_PREREQ_GETHOSTNAME invocations from here...
13060         * modules/gethostname (configure.ac): ... to here.
13061
13062 2011-05-08  Bruno Haible  <bruno@clisp.org>
13063
13064         getgroups: Move AC_LIBOBJ invocations to module description.
13065         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13066         here...
13067         * modules/getgroups (configure.ac): ... to here.
13068
13069 2011-05-08  Bruno Haible  <bruno@clisp.org>
13070
13071         getdtablesize: Move AC_LIBOBJ invocations to module description.
13072         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13073         invocation from here...
13074         * modules/getdtablesize (configure.ac): ... to here.
13075
13076 2011-05-08  Bruno Haible  <bruno@clisp.org>
13077
13078         getdomainname: Move AC_LIBOBJ invocations to module description.
13079         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13080         gl_PREREQ_GETDOMAINNAME invocations from here...
13081         * modules/getdomainname (configure.ac): ... to here.
13082
13083 2011-05-08  Bruno Haible  <bruno@clisp.org>
13084
13085         getline: Move AC_LIBOBJ invocations to module description.
13086         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13087         invocations from here...
13088         * modules/getline (configure.ac): ... to here.
13089
13090 2011-05-08  Bruno Haible  <bruno@clisp.org>
13091
13092         getline: Simplify.
13093         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13094         It's already handled through the module dependency.
13095
13096 2011-05-08  Bruno Haible  <bruno@clisp.org>
13097
13098         getdelim: Move AC_LIBOBJ invocations to module description.
13099         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13100         and gl_PREREQ_GETDELIM invocations from here...
13101         * modules/getdelim (configure.ac): ... to here.
13102         (Depends-on): Fix condition.
13103
13104 2011-05-08  Bruno Haible  <bruno@clisp.org>
13105
13106         getcwd: Move AC_LIBOBJ invocations to module description.
13107         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13108         invocations from here...
13109         * modules/getcwd (configure.ac): ... to here.
13110
13111 2011-05-08  Bruno Haible  <bruno@clisp.org>
13112
13113         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13114         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13115         here...
13116         * modules/getcwd-lgpl (configure.ac): ... to here.
13117
13118 2011-05-07  Bruno Haible  <bruno@clisp.org>
13119
13120         crypto/gc: Move AC_LIBOBJ invocations to module description.
13121         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13122         * modules/crypto/gc (configure.ac): ... to here.
13123
13124 2011-05-07  Bruno Haible  <bruno@clisp.org>
13125
13126         fwriting: Move AC_LIBOBJ invocations to module description.
13127         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13128         here...
13129         * modules/fwriting (configure.ac): ... to here.
13130
13131 2011-05-07  Bruno Haible  <bruno@clisp.org>
13132
13133         fwritable: Move AC_LIBOBJ invocations to module description.
13134         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13135         here...
13136         * modules/fwritable (configure.ac): ... to here.
13137
13138 2011-05-07  Bruno Haible  <bruno@clisp.org>
13139
13140         futimens: Move AC_LIBOBJ invocations to module description.
13141         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13142         here...
13143         * modules/futimens (configure.ac): ... to here.
13144
13145 2011-05-07  Bruno Haible  <bruno@clisp.org>
13146
13147         ftruncate: Move AC_LIBOBJ invocations to module description.
13148         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13149         gl_PREREQ_FTRUNCATE invocations from here...
13150         * modules/ftruncate (configure.ac): ... to here.
13151
13152 2011-05-07  Bruno Haible  <bruno@clisp.org>
13153
13154         fsync: Move AC_LIBOBJ invocations to module description.
13155         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13156         invocations from here...
13157         * modules/fsync (configure.ac): ... to here.
13158
13159 2011-05-07  Bruno Haible  <bruno@clisp.org>
13160
13161         fsusage: Move AC_LIBOBJ invocations to module description.
13162         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13163         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13164         * modules/fsusage (configure.ac): ... to here.
13165
13166 2011-05-07  Bruno Haible  <bruno@clisp.org>
13167
13168         freopen: Move AC_LIBOBJ invocations to module description.
13169         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13170         invocations from here...
13171         * modules/freopen (configure.ac): ... to here.
13172
13173 2011-05-07  Bruno Haible  <bruno@clisp.org>
13174
13175         free: Move AC_LIBOBJ invocations to module description.
13176         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13177         invocations from here...
13178         * modules/free (configure.ac): ... to here.
13179
13180 2011-05-07  Bruno Haible  <bruno@clisp.org>
13181
13182         freadable: Move AC_LIBOBJ invocations to module description.
13183         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13184         here...
13185         * modules/freadable (configure.ac): ... to here.
13186
13187 2011-05-07  Bruno Haible  <bruno@clisp.org>
13188
13189         fpurge: Move AC_LIBOBJ invocations to module description.
13190         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13191         invocations from here...
13192         * modules/fpurge (configure.ac): ... to here.
13193
13194 2011-05-07  Bruno Haible  <bruno@clisp.org>
13195
13196         fpending: Move AC_LIBOBJ invocations to module description.
13197         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13198         gl_FUNC_FPENDING.
13199         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13200         invocations from here...
13201         * modules/fpending (configure.ac): ... to here.
13202
13203 2011-05-07  Bruno Haible  <bruno@clisp.org>
13204
13205         fopen: Move AC_LIBOBJ invocations to module description.
13206         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13207         invocations from here...
13208         * modules/fopen (configure.ac): ... to here.
13209
13210 2011-05-07  Bruno Haible  <bruno@clisp.org>
13211
13212         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13213         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13214         gl_FUNC_FNMATCH_POSIX.
13215         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13216         invocations from here...
13217         * modules/fnmatch (configure.ac): ... to here.
13218         * modules/fnmatch-gnu (configure.ac): ... and here.
13219
13220 2011-05-07  Bruno Haible  <bruno@clisp.org>
13221
13222         flock: Move AC_LIBOBJ invocations to module description.
13223         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13224         invocations from here...
13225         * modules/flock (configure.ac): ... to here.
13226
13227 2011-05-07  Bruno Haible  <bruno@clisp.org>
13228
13229         fileblocks: Move AC_LIBOBJ invocations to module description.
13230         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13231         gl_PREREQ_FILEBLOCKS invocations from here...
13232         * modules/fileblocks (configure.ac): ... to here.
13233
13234 2011-05-06  Bruno Haible  <bruno@clisp.org>
13235
13236         fflush: Move AC_LIBOBJ invocations to module description.
13237         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13238         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13239         invocations from here...
13240         * modules/fflush (configure.ac): ... to here.
13241
13242 2011-05-06  Bruno Haible  <bruno@clisp.org>
13243
13244         fdopendir: Move AC_LIBOBJ invocations to module description.
13245         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13246         here...
13247         * modules/fdopendir (configure.ac): ... to here.
13248         (Depends-on): Improve conditions.
13249
13250 2011-05-06  Bruno Haible  <bruno@clisp.org>
13251
13252         _Exit: Move AC_LIBOBJ invocations to module description.
13253         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13254         invocations from here...
13255         * modules/_Exit (configure.ac): ... to here.
13256
13257 2011-05-21  Bruno Haible  <bruno@clisp.org>
13258
13259         euidaccess: Respect rules for use of AC_LIBOBJ.
13260         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13261         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13262         from here...
13263         * modules/euidaccess (configure.ac): ... to here.
13264
13265 2011-05-06  Bruno Haible  <bruno@clisp.org>
13266
13267         error: Move AC_LIBOBJ invocations to module description.
13268         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13269         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13270         invocations from here...
13271         * modules/error (configure.ac): ... to here.
13272
13273 2011-05-06  Bruno Haible  <bruno@clisp.org>
13274
13275         duplocale: Move AC_LIBOBJ invocations to module description.
13276         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13277         gl_PREREQ_DUPLOCALE invocations from here...
13278         * modules/duplocale (configure.ac): ... to here.
13279
13280 2011-05-05  Bruno Haible  <bruno@clisp.org>
13281
13282         dirfd: Move AC_LIBOBJ invocations to module description.
13283         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13284         gl_FUNC_DIRFD.
13285         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13286         here...
13287         * modules/dirfd (configure.ac): ... to here.
13288         (Depends-on): Fix condition.
13289
13290 2011-05-05  Bruno Haible  <bruno@clisp.org>
13291
13292         chown: Respect rules for use of AC_LIBOBJ.
13293         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13294         * modules/chown (configure.ac): ... to here.
13295
13296 2011-05-05  Bruno Haible  <bruno@clisp.org>
13297
13298         chdir-long: Move AC_LIBOBJ invocations to module description.
13299         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13300         gl_PREREQ_CHDIR_LONG invocations from here...
13301         * modules/chdir-long (configure.ac): ... to here.
13302
13303 2011-05-05  Bruno Haible  <bruno@clisp.org>
13304
13305         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13306         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13307         from here...
13308         * modules/canonicalize-lgpl (configure.ac): ... to here.
13309
13310 2011-05-05  Bruno Haible  <bruno@clisp.org>
13311
13312         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13313         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13314         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13315         REPLACE_CALLOC.
13316         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13317         * modules/calloc-gnu (configure.ac): Likewise.
13318
13319 2011-05-05  Bruno Haible  <bruno@clisp.org>
13320
13321         btowc: Move AC_LIBOBJ invocations to module description.
13322         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13323         invocations from here...
13324         * modules/btowc (configure.ac): ... to here.
13325
13326 2011-05-21  Bruno Haible  <bruno@clisp.org>
13327
13328         atexit: Move AC_LIBOBJ invocations to module description.
13329         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13330         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13331         here...
13332         * modules/atexit (configure.ac): ... to here.
13333
13334 2011-05-05  Bruno Haible  <bruno@clisp.org>
13335
13336         atoll: Move AC_LIBOBJ invocations to module description.
13337         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13338         invocations from here...
13339         * modules/atoll (configure.ac): ... to here.
13340
13341 2011-05-05  Bruno Haible  <bruno@clisp.org>
13342
13343         argz: Move AC_LIBOBJ invocations to module description.
13344         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13345         * modules/argz (configure.ac): ... to here.
13346
13347 2011-05-05  Bruno Haible  <bruno@clisp.org>
13348
13349         alphasort: Move AC_LIBOBJ invocations to module description.
13350         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13351         gl_PREREQ_ALPHASORT invocations from here...
13352         * modules/alphasort (configure.ac): ... to here.
13353
13354 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13355
13356         verify: new macro verify_expr; verify_true deprecated
13357         * NEWS: Mention this.
13358         * doc/verify.texi (Compile-time Assertions): Document this.
13359         * lib/verify.h (verify_true): Deprecate.
13360         (verify_expr): New macro.
13361         * tests/test-verify.c (function): Test verify_expr.
13362
13363 2011-06-14  Jim Meyering  <meyering@redhat.com>
13364
13365         init.sh: give more portable redirection-related advice in a comment
13366         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13367         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13368         for lots of discussion.  Stefano Lattarini suggested the solution
13369         of putting "9>&2" after the command.  Reported by Bruno Haible.
13370
13371 2011-06-13  Bruno Haible  <bruno@clisp.org>
13372
13373         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13374         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13375         'none'.
13376
13377 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13378
13379         ftoastr: use strtof only if HAVE_STRTOF
13380         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13381         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13382         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13383         * modules/ftoastr (configure.ac): Check for strtof.
13384
13385 2011-06-13  Bruno Haible  <bruno@clisp.org>
13386
13387         gnulib-tool: Addendum to 2011-06-08 commit.
13388         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13389         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13390
13391 2011-06-13  Bruno Haible  <bruno@clisp.org>
13392
13393         fseeko: Provide a non-inline replacement of fseek().
13394         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13395         * modules/fseeko (Depends-on): Add fseek.
13396         * modules/fseek (License): Change to LGPLv2+.
13397
13398 2011-06-13  Bruno Haible  <bruno@clisp.org>
13399
13400         ftello: Provide a non-inline replacement of ftell().
13401         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13402         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13403         not have ftello() (such as on mingw).
13404         * modules/ftello (Depends-on): Add ftell.
13405         * modules/ftell (License): Change to LGPLv2+.
13406
13407 2011-05-07  Bruno Haible  <bruno@clisp.org>
13408
13409         ftell: Move AC_LIBOBJ invocations to module description.
13410         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13411         * modules/ftell (configure.ac): ... to here.
13412
13413 2011-05-07  Bruno Haible  <bruno@clisp.org>
13414
13415         ftello: Respect rules for use of AC_LIBOBJ.
13416         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13417         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13418         here...
13419         * modules/ftello (configure.ac): ... to here.
13420
13421 2011-05-07  Bruno Haible  <bruno@clisp.org>
13422
13423         fseeko: Simplify.
13424         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13425         (gl_FUNC_FSEEKO): Inline it here.
13426
13427 2011-05-07  Bruno Haible  <bruno@clisp.org>
13428
13429         fseek: Move AC_LIBOBJ invocations to module description.
13430         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13431         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13432         * modules/fseek (configure.ac): ... to here.
13433
13434 2011-05-07  Bruno Haible  <bruno@clisp.org>
13435
13436         fseek: Respect rules for use of AC_LIBOBJ.
13437         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13438         here...
13439         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13440
13441 2011-05-07  Bruno Haible  <bruno@clisp.org>
13442
13443         fseeko: Respect rules for use of AC_LIBOBJ.
13444         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13445         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13446         here...
13447         * modules/fseeko (configure.ac): ... to here.
13448
13449 2011-06-13  Bruno Haible  <bruno@clisp.org>
13450
13451         gnulib-tool: Allow comments in the 'Depends-on' section.
13452         * doc/gnulib.texi (Module description): Mention comment syntax in the
13453         Depends-on section.
13454         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13455
13456 2011-06-13  Bruno Haible  <bruno@clisp.org>
13457
13458         file-set.h: guard __attibute__ use, now that it's not always defined
13459         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13460         versions that support it.  This fixes a coreutils build failure with
13461         the vendor cc on HP-UX 11.31.
13462
13463 2011-06-12  Bruno Haible  <bruno@clisp.org>
13464
13465         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13466         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13467         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13468         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13469         (acl, aclsort): New declarations.
13470         (aclv_nontrivial): New declaration.
13471         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13472         (file_has_acl): Read also the second kind of HP-UX ACLs.
13473         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13474         kind of HP-UX ACLs if the first kind fails.
13475         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13476         second kind of HP-UX ACLs.
13477         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13478         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13479         agree.
13480         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13481         hpuxjfs.
13482         Handle hpuxjfs.
13483         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13484         hpuxjfs.
13485         Handle hpuxjfs.
13486         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13487         (func_test_same_acls): Use both lsacl and getacl.
13488         Handle hpuxjfs.
13489         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13490         (func_test_same_acls): Use both lsacl and getacl.
13491         Handle hpuxjfs.
13492
13493 2011-06-12  Bruno Haible  <bruno@clisp.org>
13494
13495         acl: Complete the 2010-08-10 fix.
13496         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13497         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13498         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13499         explicitly.
13500         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13501         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13502
13503 2011-06-12  Bruno Haible  <bruno@clisp.org>
13504
13505         spawn-pipe tests: Comments.
13506         * tests/test-spawn-pipe-child.c (main): Update comment.
13507         Reported by James Youngman <jay@gnu.org>.
13508
13509 2011-06-11  James Youngman  <jay@gnu.org>
13510
13511         New module 'stat-size'.
13512         * modules/stat-size: New module.  Provides macros for accessing
13513         file size information in instances of struct stat.  Depends on the
13514         fileblocks module because it calls st_blocks.
13515         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13516         * doc/gnulib.texi: Include stat-size.texi.
13517         * doc/stat-size.texi: Documentation for this module.
13518         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13519         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13520         AC_STRUCT_ST_BLOCKS.
13521
13522 2011-06-09  Bruno Haible  <bruno@clisp.org>
13523
13524         thread: Support pthreads-win32.
13525         * lib/glthread/thread.h (gl_thread_self): Define differently on
13526         pthreads-win32.
13527         (gl_null_thread): New declaration.
13528         (gl_thread_self_pointer): New macro.
13529         * lib/glthread/thread.c (gl_null_thread): New constant.
13530         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13531         gl_thread_self.
13532         * tests/test-tls.c: Likewise.
13533         Suggested by Paul Eggert. Reported by Eric Blake.
13534
13535 2011-06-09  Bruno Haible  <bruno@clisp.org>
13536
13537         thread: Fix confusion between NULL and 0.
13538         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13539         Reported by Paul Eggert.
13540
13541 2011-06-09  Bruno Haible  <bruno@clisp.org>
13542
13543         spawn-pipe tests: Avoid test failure on HP-UX 11.
13544         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13545         is closed.
13546
13547 2011-06-09  Bruno Haible  <bruno@clisp.org>
13548
13549         acl tests: Fix compilation error on HP-UX 11.
13550         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13551
13552 2011-06-09  Bruno Haible  <bruno@clisp.org>
13553
13554         rmdir: Avoid test failure on HP-UX 10.20.
13555         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13556         EEXIST.
13557
13558 2011-06-08  Eric Blake  <eblake@redhat.com>
13559
13560         perror: fix test on mingw
13561         * modules/perror-tests (Depends-on): Add dup2.
13562
13563         strerror_r-posix: fix on MacOS
13564         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13565         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13566         logic bug.
13567         * lib/strerror_r.c (strerror_r): Fix the bug.
13568         * lib/strerror.c (strerror): Likewise.
13569         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13570         problem.
13571         * doc/posix-functions/strerror.texi (strerror): Likewise.
13572         * doc/posix-functions/perror.texi (perror): Likewise.
13573         * tests/test-strerror.c (main): Enhance test.
13574         * tests/test-strerror_r.c (main): Likewise.
13575
13576 2011-06-08  Bruno Haible  <bruno@clisp.org>
13577
13578         gnulib-tool: Better isolation between different gnulib-tool invocations.
13579         * gnulib-tool: New option --witness-c-macro.
13580         (witness_c_macro): New variable.
13581         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13582         AM_CPPFLAGS define it as a C macro.
13583         (func_emit_tests_Makefile_am): Likewise.
13584         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13585         read it from there.
13586         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13587         m4_define, not AC_DEFUN.
13588         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13589         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13590         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13591         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13592         s|...|...|, to substitute the values of the GNULIB_* module indicator
13593         variables.
13594         * modules/dirent (Makefile.am): Likewise.
13595         * modules/fcntl-h (Makefile.am): Likewise.
13596         * modules/iconv-h (Makefile.am): Likewise.
13597         * modules/langinfo (Makefile.am): Likewise.
13598         * modules/locale (Makefile.am): Likewise.
13599         * modules/math (Makefile.am): Likewise.
13600         * modules/netdb (Makefile.am): Likewise.
13601         * modules/poll-h (Makefile.am): Likewise.
13602         * modules/pty (Makefile.am): Likewise.
13603         * modules/search (Makefile.am): Likewise.
13604         * modules/signal (Makefile.am): Likewise.
13605         * modules/spawn (Makefile.am): Likewise.
13606         * modules/stdio (Makefile.am): Likewise.
13607         * modules/stdlib (Makefile.am): Likewise.
13608         * modules/string (Makefile.am): Likewise.
13609         * modules/sys_ioctl (Makefile.am): Likewise.
13610         * modules/sys_select (Makefile.am): Likewise.
13611         * modules/sys_socket (Makefile.am): Likewise.
13612         * modules/sys_stat (Makefile.am): Likewise.
13613         * modules/sys_times (Makefile.am): Likewise.
13614         * modules/sys_utsname (Makefile.am): Likewise.
13615         * modules/sys_wait (Makefile.am): Likewise.
13616         * modules/termios (Makefile.am): Likewise.
13617         * modules/time (Makefile.am): Likewise.
13618         * modules/unistd (Makefile.am): Likewise.
13619         * modules/wchar (Makefile.am): Likewise.
13620
13621 2011-06-08  Eric Blake  <eblake@redhat.com>
13622
13623         strerror: simplify replacement
13624         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13625         * modules/strerror (configure.ac): No prereqs needed here...
13626         * modules/strerror-override (configure.ac): ...but this needs it.
13627         (Files): Add file for needed prereq macro.
13628
13629 2011-06-08  Bruno Haible  <bruno@clisp.org>
13630
13631         strerror_r-posix: Tweaks.
13632         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13633         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13634         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13635         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13636         (gl_FUNC_STRERROR_R): ... to here.
13637         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13638
13639 2011-06-07  Eric Blake  <eblake@redhat.com>
13640
13641         perror: document fixed bugs
13642         * doc/posix-functions/perror.texi (perror): Document recent
13643         patches.
13644
13645 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13646
13647         stat-time: get_stat_birthtime failure is better-defined
13648         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13649         return a timestamp whose tv_sec and tv_nsec values are both -1.
13650         Previously, the spec said only that the tv_nsec value was negative.
13651         This upward-compatible change simplifies GNU tar a bit.
13652
13653 2011-06-07  Eric Blake  <eblake@redhat.com>
13654
13655         strerror_r-posix: work around cygwin 1.7.9
13656         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13657         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13658         bug without replacing strerror_r.
13659         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13660         strerror_r is buggy, but without requiring strerror_r compilation.
13661         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13662
13663         test-perror: relax test to ignore cygwin bug
13664         * tests/test-perror2.c (main): Relax test on requiring detection
13665         of stream errors, and use unbuffered stream.
13666         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13667         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13668         * doc/posix-functions/fputc.texi (fputc): Likewise.
13669         * doc/posix-functions/fputs.texi (fputs): Likewise.
13670         * doc/posix-functions/fputws.texi (fputws): Likewise.
13671         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13672         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13673         * doc/posix-functions/getopt.texi (getopt): Likewise.
13674         * doc/posix-functions/perror.texi (perror): Likewise.
13675         * doc/posix-functions/printf.texi (printf): Likewise.
13676         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13677         * doc/posix-functions/psignal.texi (psignal): Likewise.
13678         * doc/posix-functions/putc.texi (putc): Likewise.
13679         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13680         Likewise.
13681         * doc/posix-functions/putchar.texi (putchar): Likewise.
13682         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13683         Likewise.
13684         * doc/posix-functions/puts.texi (puts): Likewise.
13685         * doc/posix-functions/putwc.texi (putwc): Likewise.
13686         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13687         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13688         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13689         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13690         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13691         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13692         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13693         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13694
13695 2011-05-22  Bruno Haible  <bruno@clisp.org>
13696
13697         strerror: Move AC_LIBOBJ invocations to module description.
13698         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13699         gl_PREREQ_STRERROR invocations from here...
13700         * modules/strerror (configure.ac): ... to here.
13701
13702 2011-05-21  Bruno Haible  <bruno@clisp.org>
13703
13704         perror: Use common idiom.
13705         * modules/perror (configure.ac): Reorder statements.
13706
13707 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13708
13709         tests: fix usage message in 'mktempd_'
13710         * tests/init.sh (mktempd_): In the usage message, use literal
13711         'mktempd_', not '$ME' (which is even undefined), as the name of
13712         the subroutine.
13713
13714 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13715
13716         tests init: new function 'fatal_', for hard errors
13717         Before this patch, the only way offered by tests/init.sh to
13718         properly signal a hard error was the `framework_failure_'
13719         function.  But the error message issued by that function,
13720         as its name would suggest, refers to a set-up failure in the
13721         testsuite, while hard errors can obviously also be due to
13722         other reasons.  The best way to fix this inconsistency is to
13723         introduce a new function with a more general error message.
13724         * tests/init.sh (fatal_): New function.
13725
13726 2011-06-06  Eric Blake  <eblake@redhat.com>
13727
13728         canonicalize-lgpl: use common idiom
13729         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13730         over newer POSIX -Rf.
13731         Reported by Bruno Haible.
13732
13733         canonicalize-lgpl: work around AIX realpath bug
13734         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13735         * doc/posix-functions/realpath.texi (realpath): Document it.
13736         Reported by Bruno Haible.
13737
13738         strerror: work around FreeBSD bug
13739         * lib/strerror.c (strerror): Special case 0.
13740         Reported by Bruno Haible.
13741
13742         strerror-override: avoid bloating errno module
13743         * modules/errno (Files, configure.ac): Move replacement strings...
13744         * modules/strerror-override: ...to new module.
13745         * modules/strerror (Depends-on): Add strerror-override.
13746         * modules/strerror_r-posix (Depends-on): Likewise.
13747         * MODULES.html.sh: Document new module.
13748         Reported by Bruno Haible.
13749
13750 2011-06-06  Bruno Haible  <bruno@clisp.org>
13751
13752         spawn-pipe tests: Rename program.
13753         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13754         * tests/test-spawn-pipe-child.c: Update comment.
13755         * tests/test-spawn-pipe.sh: Update.
13756         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13757
13758         spawn-pipe tests: Link the child program only against libc.
13759         * tests/test-spawn-pipe-child.c: New file, extracted from
13760         tests/test-spawn-pipe.c.
13761         (main): Expect only one argument.
13762         (is_open): New function, copied from tests/test-pipe.c.
13763         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13764         (child_main): Remove function.
13765         (test_pipe): Pass only one argument to the child program.
13766         (main): Remove child process code. Expect the child program's name as
13767         first argument.
13768         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13769         argument.
13770         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13771         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13772         test-spawn-pipe-child against no libraries.
13773
13774 2011-06-06  Bruno Haible  <bruno@clisp.org>
13775
13776         careadlinkat: Avoid mismatch between ssize_t and int.
13777         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13778         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13779
13780 2011-06-06  Jim Meyering  <meyering@redhat.com>
13781
13782         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13783         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13784         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13785
13786 2011-06-05  Bruno Haible  <bruno@clisp.org>
13787
13788         ansi-c++-opt: Interoperability with libtool.
13789         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13790         set the variable to "no", not to ":".
13791         * NEWS: Mention the change.
13792
13793 2011-06-05  Bruno Haible  <bruno@clisp.org>
13794
13795         acl: Fix test failure on AIX 7.
13796         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13797         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
13798
13799 2011-06-05  Bruno Haible  <bruno@clisp.org>
13800
13801         pipe-filter-ii: Fix test failure on AIX and IRIX.
13802         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
13803         with EAGAIN, retry with a smaller buffer size.
13804
13805 2011-06-05  Bruno Haible  <bruno@clisp.org>
13806
13807         localename: Fix link dependencies.
13808         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
13809         * modules/localename-tests (Makefile.am): Link test-localename with
13810         $(LIBTHREAD).
13811
13812 2011-06-05  Bruno Haible  <bruno@clisp.org>
13813
13814         error: Avoid gcc warning.
13815         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13816
13817 2011-06-05  Bruno Haible  <bruno@clisp.org>
13818
13819         unsetenv: Avoid gcc warning.
13820         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13821
13822 2011-06-05  Bruno Haible  <bruno@clisp.org>
13823
13824         setenv: Avoid gcc warning.
13825         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13826
13827 2011-06-05  Bruno Haible  <bruno@clisp.org>
13828
13829         sys_select: Ensure memset is declared also on AIX 7.
13830         * lib/sys_select.in.h: Include <string.h> also on AIX.
13831         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13832         self-contained also on AIX 7.1.
13833
13834 2011-06-04  Jim Meyering  <meyering@redhat.com>
13835
13836         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13837         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13838         function name, "error".
13839         (_gl_translatable_diag_func_re): New configurable variable.
13840
13841 2011-06-04  Bruno Haible  <bruno@clisp.org>
13842
13843         getopt: Avoid gcc warning.
13844         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13845
13846 2011-06-04  Bruno Haible  <bruno@clisp.org>
13847
13848         strerror_r: Fix comments.
13849         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13850         commit.
13851
13852 2011-06-04  Bruno Haible  <bruno@clisp.org>
13853
13854         perror: Fix compilation error.
13855         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13856         Undefine fprintf, not sprintf.
13857         * modules/perror (Depends-on): Remove intprops, verify.
13858
13859 2011-06-04  Bruno Haible  <bruno@clisp.org>
13860
13861         setlocale: Enable replacement on Cygwin 1.5.
13862         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13863         Cygwin 1.5.x.
13864         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13865         LC_CTYPE category also exists on Cygwin 1.5.x.
13866
13867 2011-06-04  Bruno Haible  <bruno@clisp.org>
13868
13869         strerror-override: Don't disable symbol renamings.
13870         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13871         * lib/strerror-override.c: Include config.h.
13872         (strerror_override): Don't undefine.
13873
13874 2011-06-03  Bruno Haible  <bruno@clisp.org>
13875
13876         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13877         * lib/localename.h: Update copyright header.
13878         * lib/localename.c: Likewise.
13879         * lib/relocatable.h: Likewise.
13880         * lib/relocatable.c: Likewise.
13881
13882 2011-06-02  Bruno Haible  <bruno@clisp.org>
13883
13884         doc: Fix a module name.
13885         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13886
13887 2011-06-02  Bruno Haible  <bruno@clisp.org>
13888
13889         pipe2: Remove dependency on 'nonblocking' module.
13890         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13891         O_NONBLOCK is defined by gnulib.
13892         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13893         is zero.
13894         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13895         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13896         defined by gnulib.
13897         (get_nonblocking_flag): New function.
13898         (main): Test O_NONBLOCK flag only if it is nonzero.
13899         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13900
13901 2011-06-03  Jim Meyering  <meyering@redhat.com>
13902
13903         maint: three new prohibit-header-without-use rules
13904         Prohibit use of cloexec.h, posixver.h, same.h without use.
13905         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13906         (sc_prohibit_posixver_without_use): Likewise.
13907         (sc_prohibit_same_without_use): Likewise.
13908
13909 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13910
13911         allocator: 'die' routine is now given requested size
13912         * lib/allocator.h (struct allocator.die): New size arg.
13913         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13914         If the actual problem is an ssize_t limitation, not a size_t or
13915         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
13916
13917 2011-06-01  Eric Blake  <eblake@redhat.com>
13918
13919         strerror: drop strerror_r dependency
13920         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
13921         * lib/strerror-override.c (strerror_override): ...to new file.
13922         * lib/strerror-override.h: Add prototype.
13923         * lib/strerror-impl.h: Delete.
13924         * lib/strerror.c (strerror): New implementation.
13925         * modules/errno (Files): Add new files.
13926         (configure.ac): Compile new file as appropriate.
13927         * modules/strerror (Files): Drop unused file.
13928         (Depends-on): Drop strerror_r-posix.
13929         * MODULES.html.sh: Document strerror_r-posix.
13930         Requested by Sam Steingold.
13931
13932         perror: call strerror_r directly
13933         * modules/perror (Files): Drop strerror-impl.h.
13934         * lib/perror.c (perror): Use our own stack buffer, rather than
13935         calling a wrapper that uses static storage.
13936         * doc/posix-functions/perror.texi (perror): Document a limitation
13937         of our replacement.
13938
13939         strerror_r: fix includes for FreeBSD
13940         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
13941         since we use abort on some platforms.
13942         Reported by Matthias Bolte.
13943
13944 2011-05-31  Bruno Haible  <bruno@clisp.org>
13945
13946         Fix link errors in tests: openat-die uses gettext-h.
13947         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
13948         against $(LIBINTL).
13949         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
13950         against $(LIBINTL).
13951         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
13952         $(LIBINTL).
13953         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
13954         against $(LIBINTL).
13955         * modules/linkat-tests (Makefile.am): Link test-linkat against
13956         $(LIBINTL).
13957         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
13958         $(LIBINTL).
13959         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
13960         against $(LIBINTL).
13961         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
13962         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
13963         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
13964         $(LIBINTL).
13965         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
13966         $(LIBINTL).
13967         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
13968         $(LIBINTL).
13969         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13970
13971 2011-05-31  Bruno Haible  <bruno@clisp.org>
13972
13973         Fix link errors in tests: wait-process uses gettext-h.
13974         * modules/nonblocking-pipe-tests (Makefile.am): Set
13975         test_nonblocking_pipe_main_LDADD.
13976         * modules/nonblocking-socket-tests (Makefile.am): Link
13977         test-nonblocking-socket-main against $(LIBINTL).
13978         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13979
13980 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13981
13982         assert-h: work around 'verify' incompatibility
13983         * lib/verify.h: Use @...@ directives, not ifdef.
13984         * modules/assert-h (assert.h): Implement the directives.
13985         (assert.h): Substitute the symbol-prefix more consistently.
13986
13987 2011-05-29  Jim Meyering  <meyering@redhat.com>
13988
13989         trim: remove three superfluous assignments
13990         * lib/trim.c (trim2): Remove three superfluous assignments
13991         and correct brace positioning.
13992
13993 2011-05-29  Bruno Haible  <bruno@clisp.org>
13994
13995         wctype-h: Avoid namespace pollution on Solaris 2.6.
13996         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
13997         identifiers.
13998         * doc/posix-headers/wctype.texi: Mention the problem.
13999         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14000
14001 2011-05-28  Jim Meyering  <meyering@redhat.com>
14002
14003         parse-datetime.y: accommodate -Wstrict-overflow
14004         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14005         placate -Wstrict-overflow.
14006
14007         trim: avoid a warning from -O2 -Wstrict-overflow
14008         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14009
14010 2011-05-29  Bruno Haible  <bruno@clisp.org>
14011
14012         gnulib-tool: Fix bug in yesterday's commit.
14013         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14014         twice.
14015
14016 2011-05-29  Bruno Haible  <bruno@clisp.org>
14017
14018         Allow multiple gnulib generated include files to be combined.
14019         * gnulib-tool (func_compute_include_guard_prefix): New function.
14020         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14021         ${gl_include_guard_prefix} references.
14022         (func_import, func_create_testdir): Invoke
14023         func_compute_include_guard_prefix.
14024         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14025         * lib/ctype.in.h: Likewise.
14026         * lib/dirent.in.h: Likewise.
14027         * lib/errno.in.h: Likewise.
14028         * lib/fcntl.in.h: Likewise.
14029         * lib/float.in.h: Likewise.
14030         * lib/getopt.in.h: Likewise.
14031         * lib/iconv.in.h: Likewise.
14032         * lib/langinfo.in.h: Likewise.
14033         * lib/locale.in.h: Likewise.
14034         * lib/math.in.h: Likewise.
14035         * lib/netdb.in.h: Likewise.
14036         * lib/netinet_in.in.h: Likewise.
14037         * lib/poll.in.h: Likewise.
14038         * lib/pthread.in.h: Likewise.
14039         * lib/pty.in.h: Likewise.
14040         * lib/sched.in.h: Likewise.
14041         * lib/se-selinux.in.h: Likewise.
14042         * lib/search.in.h: Likewise.
14043         * lib/signal.in.h: Likewise.
14044         * lib/spawn.in.h: Likewise.
14045         * lib/stdarg.in.h: Likewise.
14046         * lib/stddef.in.h: Likewise.
14047         * lib/stdint.in.h: Likewise.
14048         * lib/stdio.in.h: Likewise.
14049         * lib/stdlib.in.h: Likewise.
14050         * lib/string.in.h: Likewise.
14051         * lib/strings.in.h: Likewise.
14052         * lib/sys_file.in.h: Likewise.
14053         * lib/sys_ioctl.in.h: Likewise.
14054         * lib/sys_select.in.h: Likewise.
14055         * lib/sys_socket.in.h: Likewise.
14056         * lib/sys_stat.in.h: Likewise.
14057         * lib/sys_time.in.h: Likewise.
14058         * lib/sys_times.in.h: Likewise.
14059         * lib/sys_uio.in.h: Likewise.
14060         * lib/sys_utsname.in.h: Likewise.
14061         * lib/sys_wait.in.h: Likewise.
14062         * lib/sysexits.in.h: Likewise.
14063         * lib/termios.in.h: Likewise.
14064         * lib/time.in.h: Likewise.
14065         * lib/unistd.in.h: Likewise.
14066         * lib/wchar.in.h: Likewise.
14067         * lib/wctype.in.h: Likewise.
14068         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14069         * modules/ctype (Makefile.am): Likewise.
14070         * modules/dirent (Makefile.am): Likewise.
14071         * modules/errno (Makefile.am): Likewise.
14072         * modules/fcntl-h (Makefile.am): Likewise.
14073         * modules/float (Makefile.am): Likewise.
14074         * modules/getopt-posix (Makefile.am): Likewise.
14075         * modules/iconv-h (Makefile.am): Likewise.
14076         * modules/langinfo (Makefile.am): Likewise.
14077         * modules/locale (Makefile.am): Likewise.
14078         * modules/math (Makefile.am): Likewise.
14079         * modules/netdb (Makefile.am): Likewise.
14080         * modules/netinet_in (Makefile.am): Likewise.
14081         * modules/poll-h (Makefile.am): Likewise.
14082         * modules/pthread (Makefile.am): Likewise.
14083         * modules/pty (Makefile.am): Likewise.
14084         * modules/sched (Makefile.am): Likewise.
14085         * modules/search (Makefile.am): Likewise.
14086         * modules/selinux-h (Makefile.am): Likewise.
14087         * modules/signal (Makefile.am): Likewise.
14088         * modules/spawn (Makefile.am): Likewise.
14089         * modules/stdarg (Makefile.am): Likewise.
14090         * modules/stddef (Makefile.am): Likewise.
14091         * modules/stdint (Makefile.am): Likewise.
14092         * modules/stdio (Makefile.am): Likewise.
14093         * modules/stdlib (Makefile.am): Likewise.
14094         * modules/string (Makefile.am): Likewise.
14095         * modules/strings (Makefile.am): Likewise.
14096         * modules/sys_file (Makefile.am): Likewise.
14097         * modules/sys_ioctl (Makefile.am): Likewise.
14098         * modules/sys_select (Makefile.am): Likewise.
14099         * modules/sys_socket (Makefile.am): Likewise.
14100         * modules/sys_stat (Makefile.am): Likewise.
14101         * modules/sys_time (Makefile.am): Likewise.
14102         * modules/sys_times (Makefile.am): Likewise.
14103         * modules/sys_uio (Makefile.am): Likewise.
14104         * modules/sys_utsname (Makefile.am): Likewise.
14105         * modules/sys_wait (Makefile.am): Likewise.
14106         * modules/sysexits (Makefile.am): Likewise.
14107         * modules/termios (Makefile.am): Likewise.
14108         * modules/time (Makefile.am): Likewise.
14109         * modules/unistd (Makefile.am): Likewise.
14110         * modules/wchar (Makefile.am): Likewise.
14111         * modules/wctype-h (Makefile.am): Likewise.
14112         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14113
14114 2011-05-29  Bruno Haible  <bruno@clisp.org>
14115
14116         assert-h: Allow multiple gnulib generated replacements to coexist.
14117         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14118
14119 2011-05-29  Bruno Haible  <bruno@clisp.org>
14120
14121         argp: Allow coexistence with strerror_r-posix module.
14122         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14123         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14124         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14125         not the glibc signature.
14126
14127 2011-05-28  Bruno Haible  <bruno@clisp.org>
14128
14129         gnulib-tool: Alternative structure of testdirs, similar to --import.
14130         * gnulib-tool: New option --single-configure.
14131         (func_usage): Document it.
14132         (single_configure): New variable.
14133         (func_modules_transitive_closure_separately,
14134         func_modules_transitive_closure_separately,
14135         func_determine_use_libtests, func_modules_add_dummy_separately,
14136         func_modules_to_filelist_separately): New functions, extracted from
14137         func_import.
14138         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14139         (func_import): Use the new functions.
14140         (func_create_testdir): Set final_modules. Handle $single_configure =
14141         true case.
14142
14143 2011-05-28  Bruno Haible  <bruno@clisp.org>
14144
14145         getloadavg: Remove an unreliable safety check.
14146         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14147         getloadavg.c is in place.
14148         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14149         Reported by Sam Steingold <sds@gnu.org>.
14150
14151 2011-05-28  Bruno Haible  <bruno@clisp.org>
14152
14153         doc: Cleanup yet another file produced by texinfo.tex.
14154         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14155
14156 2011-05-28  Bruno Haible  <bruno@clisp.org>
14157
14158         Finish the conditional dependencies mechanism.
14159         * gnulib-tool: New option --no-conditional-dependencies.
14160         (func_usage): Document it. Don't mark --conditional-dependencies as
14161         experimental.
14162         (cond_dependencies): The possible values can now be true, false, empty.
14163         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14164         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14165         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14166
14167 2011-05-28  Bruno Haible  <bruno@clisp.org>
14168
14169         doc: Use a recent texinfo.tex.
14170         * doc/Makefile (tex_opts): New variable.
14171         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14172
14173 2011-05-28  Jim Meyering  <meyering@redhat.com>
14174
14175         intprops.h: adjust comment to match code change
14176         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14177         only once, it *may* have side effects.  Also fix an unrelated typo.
14178         (_GL_INT_SIGNED): Likewise.
14179
14180 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14181
14182         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14183
14184 2011-05-26  Bruno Haible  <bruno@clisp.org>
14185
14186         mbsrchr: Avoid collision with system function on Interix.
14187         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14188         Reported by Markus Duft <mduft@gentoo.org>.
14189
14190 2011-05-15  James Youngman  <jay@gnu.org>
14191
14192         getopt: for ambiguous options, enumerate the possibilities.
14193         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14194         the ambiguous options when an ambiguous prefix is given. This was
14195         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14196         glibc change was
14197         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14198
14199 2011-05-25  Eric Blake  <eblake@redhat.com>
14200
14201         getcwd: work around mingw bug
14202         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14203         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14204         Reported by Matthias Bolte.
14205
14206 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14207
14208         test-intprops: disable -Wtype-limits diagnostics
14209         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14210         diagnostics.  Otherwise, the integer overflow macros generate many
14211         diagnostics.  Reported by Jim Meyering in
14212         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14213
14214         intprops: shorten, to pacify gcc -Woverlength-strings
14215         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14216         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14217         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14218         likely to run afoul of C compiler limits for string constant lengths.
14219         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14220
14221 2011-05-24  Eric Blake  <eblake@redhat.com>
14222
14223         docs: document recently fixed glibc printf bug
14224         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14225         * doc/posix-functions/printf.texi (printf): Likewise.
14226         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14227         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14228
14229         closein-tests: convert to init.sh
14230         * modules/closein-tests (Files): Add init.sh
14231         * tests/test-closein.sh Use it.
14232
14233         yesno-tests: convert to init.sh
14234         * modules/yesno-tests (Files): Add init.sh.
14235         * tests/test-yesno.sh: Use it.
14236
14237         atexit-tests: ensure reliable exit status
14238         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14239         Reported by Bruno Haible.
14240
14241 2011-05-24  Bruno Haible  <bruno@clisp.org>
14242
14243         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14244         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14245         gl_PREREQ_STRERROR_R invocations from here...
14246         * modules/strerror_r-posix (configure.ac): ... to here.
14247
14248 2011-05-24  Eric Blake  <eblake@redhat.com>
14249
14250         strerror_r: fix missing header
14251         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14252
14253         strerror_r: fix AIX test failures
14254         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14255         ERANGE failure.
14256
14257         strerror_r: fix Solaris test failures
14258         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14259         failures.
14260         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14261
14262         strerror_r: enforce POSIX recommendations
14263         * lib/strerror_r.c (safe_copy): New helper method.
14264         (strerror_r): Guarantee a non-empty string.
14265         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14266         recent POSIX rulings and to match our strerror guarantees.
14267         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14268
14269 2011-05-24  Jim Meyering  <meyering@redhat.com>
14270
14271         test-perror2.c: avoid warning about unused variable
14272         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14273
14274 2011-05-24  Eric Blake  <eblake@redhat.com>
14275
14276         perror: avoid spurious test failure on HP-UX
14277         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14278
14279         tests: fix logic bug in init.sh
14280         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14281         shell.
14282
14283 2011-05-24  Jim Meyering  <meyering@redhat.com>
14284
14285         utimensat: do not reference an out-of-scope buffer
14286         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14287         declared in an inner scope, yet "times" would be dereferenced outside
14288         the scope in which "ts" was valid.
14289         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14290         of ts[2] "out/up", so that the use of aliased "times" (via
14291         "times = ts;") does not end up referencing an out-of-scope "ts"
14292
14293         opendir-safer.c: don't clobber errno; don't close negative FD
14294         * lib/opendir-safer.c (opendir_safer):
14295         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14296         file descriptor, and more importantly, don't clobber the
14297         offending errno value with EINVAL.  Before, upon failure
14298         of dup_safer, we would pass the negative file descriptor to
14299         fdopendir, which would clobber errno.
14300
14301 2011-05-23  Bruno Haible  <bruno@clisp.org>
14302
14303         idcache: Fix module description.
14304         * modules/idcache (Include): Set to "idcache.h".
14305
14306 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14307
14308         gnulib-tool: fix portability problem with MacOS sed
14309         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14310         before the "}".  Problem reported by Leo in
14311         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14312         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14313         sed_extract_condition1, sed_extract_condition2.
14314
14315 2011-05-23  Bruno Haible  <bruno@clisp.org>
14316
14317         hash: Simplify autoconf macro.
14318         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14319
14320 2011-05-23  Bruno Haible  <bruno@clisp.org>
14321
14322         getugroups: Fix module description.
14323         * modules/getugroups (Include): Set to "getugroups.h".
14324
14325 2011-05-23  Bruno Haible  <bruno@clisp.org>
14326
14327         linkat: Simplify autoconf macro.
14328         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14329
14330 2011-05-23  Bruno Haible  <bruno@clisp.org>
14331             Eric Blake  <eblake@redhat.com>
14332
14333         linkat, renameat: Update dependencies.
14334         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14335         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14336         symlinkat.
14337
14338 2011-05-23  Jim Meyering  <meyering@redhat.com>
14339
14340         maint.mk: more tight_scope improvements
14341         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14342         (_gl_TS_headers): Define only in if-0'd block.
14343         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14344         sometimes we must *not* use it.  Adjust uses accordingly.
14345         (sc_tight_scope): Use much simpler grep-based test to determine
14346         whether we skip this rule.
14347
14348         maint.mk: generalize/improve the tight-scope rule
14349         * top/maint.mk: Emit a warning when the test is skipped.
14350         (_gl_TS_dir): Add $(srcdir)/ prefix.
14351         (_gl_TS_function_match): Simplify, rather than trying
14352         to enumerate common types.  Otherwise, it would fail to match an
14353         "extern unsigned char const *" declaration in idutils.
14354         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14355         a way to support use of that type of macro.
14356         (_gl_TS_var_match): Simplify regexp.
14357         (_gl_TS_obj_files): New configurable variable.
14358         (_gl_TS_headers): Likewise.
14359
14360 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14361
14362         verify: fix bug when gnulib <assert.h> is also included
14363         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14364         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14365         Perhaps there's a better way, but this fixes the immediate problem.
14366         Problem reported by Bruno Haible in
14367         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14368
14369 2011-05-22  Bruno Haible  <bruno@clisp.org>
14370
14371         xgetcwd: Simplify autoconf macro.
14372         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14373
14374 2011-05-22  Bruno Haible  <bruno@clisp.org>
14375
14376         New module 'mktime-internal'.
14377         * modules/mktime-internal: New file.
14378         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14379         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14380         mktime_internal as a C macro if libc has __mktime_internal.
14381         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14382         conditions.
14383         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14384
14385 2011-05-22  Bruno Haible  <bruno@clisp.org>
14386
14387         timegm: Correct mktime replacement statements.
14388         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14389         defining mktime as a C macro. This completes a 2009-07-28 commit.
14390
14391 2011-05-22  Bruno Haible  <bruno@clisp.org>
14392
14393         timegm: Simplify autoconf macro.
14394         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14395
14396 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14397
14398         clock-time: change to LGPLv2+.
14399         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14400         BSD-like but we have no mark for that; this is good enough for now.
14401
14402 2011-05-21  Bruno Haible  <bruno@clisp.org>
14403
14404         strerror_r: Fix comments.
14405         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14406
14407 2011-05-21  Bruno Haible  <bruno@clisp.org>
14408
14409         relocatable-prog-wrapper: Fix possible link error.
14410         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14411         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14412         (gl_FUNC_SETENV): ... to here.
14413         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14414         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14415
14416 2011-05-21  Bruno Haible  <bruno@clisp.org>
14417
14418         relocatable-prog-wrapper: Assume strerror() exists.
14419         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14420         m4/strerror.m4.
14421         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14422         * lib/relocwrapper.c: Remove mention of strerror module.
14423         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14424         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14425         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14426         C macro.
14427
14428 2011-05-21  Bruno Haible  <bruno@clisp.org>
14429
14430         select: Simplify replacement idiom.
14431         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14432         Win32 platforms.
14433         * lib/sys_select.in.h (select): Simplify accordingly.
14434         * modules/select (Depends-on): Likewise.
14435
14436 2011-05-21  Bruno Haible  <bruno@clisp.org>
14437
14438         mkdir-p: Simplify autoconf macro.
14439         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14440         gl_FUNC_LCHOWN.
14441
14442 2011-05-21  Eric Blake  <eblake@redhat.com>
14443
14444         strerror_r: avoid clobbering strerror on cygwin
14445         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14446         fall back instead to sys_errlist.
14447         * modules/strerror (configure.ac): Add witness.
14448         * tests/test-strerror_r.c (main): Enhance test.
14449         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14450         * tests/test-perror2.c (main): Free memory before exit.
14451
14452 2011-05-21  Bruno Haible  <bruno@clisp.org>
14453
14454         mkdtemp: Use gnulib naming conventions.
14455         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14456         * modules/mkdtemp (configure.ac): Update.
14457
14458 2011-05-20  Eric Blake  <eblake@redhat.com>
14459
14460         strerror_r: avoid corrupting errno on Solaris
14461         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14462         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14463
14464         strerror_r: avoid compiler warning
14465         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14466
14467         strerror_r: simplify AIX code
14468         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14469
14470         test-perror: avoid spurious failure on FreeBSD
14471         * modules/perror-tests (Depends-on): Add strerror, now that
14472         strerror_r no longer pulls it in.
14473
14474 2011-05-20  Bruno Haible  <bruno@clisp.org>
14475
14476         strerror_r-posix: Remove unused dependencies.
14477         * modules/strerror_r-posix (Depends-on): Remove strerror.
14478         Reported by Eric Blake.
14479
14480 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14481
14482         intprops: remove assumption about A|B representation
14483         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14484         is a valid integer if both A and B are.  Although this is true for
14485         all known practical hosts, the C standard doesn't guarantee it,
14486         and the code need not assume it.  Also, this change may work around
14487         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14488         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14489
14490 2011-05-20  Eric Blake  <eblake@redhat.com>
14491
14492         perror: work around FreeBSD bug
14493         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14494         is broken.  Move AC_LIBOBJ...
14495         * modules/perror (configure.ac): Here.
14496         * doc/posix-functions/perror.texi (perror): Document this.
14497         * tests/test-perror2.c (main): Enhance test.
14498
14499         test-perror: check for strerror interactions
14500         * tests/macros.h (STREQ): Add macro.
14501         * modules/perror-tests (Files): Add second test.
14502         * tests/test-perror2.c (main): New file.
14503         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14504
14505         test-perror: rewrite to use init script
14506         * modules/perror-tests (Files): Add init.sh.
14507         * tests/test-perror.sh: Use temporary directory.
14508
14509 2011-05-20  Jim Meyering  <meyering@redhat.com>
14510
14511         maint: replace misused "a" with "an"
14512         * doc/intprops.texi: "a integer"
14513         * doc/regex.texi: "a explanation"
14514         * lib/alignof.h: "a object"
14515         * lib/argmatch.h: "a explanation"
14516         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14517         * lib/stdint.in.h: "a integer"
14518         * lib/userspec.c: "a owner"
14519         * doc/gnulib.texi: Fix "a idea", and reword.
14520
14521 2011-05-19  Jim Meyering  <meyering@redhat.com>
14522
14523         maint: correct misuse of "a" and "an"
14524         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14525         * lib/argp-help.c: "an docum...": s/an/a/
14526         * lib/argp-parse.c: "An vector": s/An/A/
14527         * lib/execute.c: "an native": s/an/a/
14528         * lib/spawn-pipe.c: Likewise.
14529         * lib/gc.h: "an Gc_rc": s/an/a/
14530         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14531         * lib/fts.c: "an stat.st_dev": s/an/a/
14532
14533 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14534
14535         intprops-tests: work around HP-UX 11.23 cc bug with constants
14536         * tests/test-intprops.c (VERIFY): New macro.
14537         (main): Use it, instead of verify, to work around the compiler bug; see
14538         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14539
14540         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14541         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14542         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14543         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14544         (_GL_REMAINDER_OVERFLOW): Use it.
14545
14546         intprops-tests: revert unsigned part of previous change
14547         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14548         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14549         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14550         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14551
14552 2011-05-19  Bruno Haible  <bruno@clisp.org>
14553
14554         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14555         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14556         strerror_r() returned without filling the buffer.
14557         Reported by Eric Blake.
14558
14559 2011-05-19  Eric Blake  <eblake@redhat.com>
14560
14561         strerror_r: guarantee unchanged errno
14562         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14563         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14564         failure.
14565         * tests/test-strerror_r.c (main): Enhance test.
14566
14567 2011-05-19  Bruno Haible  <bruno@clisp.org>
14568
14569         strerror_r: Reorder #if blocks.
14570         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14571         for consistency with the previous commit.
14572
14573 2011-05-19  Bruno Haible  <bruno@clisp.org>
14574
14575         perror: Avoid clobbering the strerror buffer when possible.
14576         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14577         * lib/strerror.c: Include it.
14578         * modules/strerror (Files): Add lib/strerror-impl.h.
14579         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14580         (my_strerror): New function, defined through lib/strerror-impl.h.
14581         (perror): Use it instead of strerror.
14582         * modules/perror (Files): Add lib/strerror-impl.h.
14583         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14584
14585 2011-05-19  Eric Blake  <eblake@redhat.com>
14586
14587         strerror_r: fix on newer cygwin
14588         * lib/strerror_r.c (strerror_r): Cygwin now has
14589         __xpg_strerror_r, use it.
14590
14591 2011-05-19  Bruno Haible  <bruno@clisp.org>
14592
14593         strerror_r: Avoid clobbering the strerror buffer when possible.
14594         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14595         (sys_nerr, sys_errlist): New declarations.
14596         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14597         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14598         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14599
14600 2011-05-19  Bruno Haible  <bruno@clisp.org>
14601
14602         strerror_r: Fix test failure on mingw.
14603         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14604         EXTEND_STRERROR_R.
14605         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14606         macros from errno.in.h instead.
14607
14608 2011-05-19  Eric Blake  <eblake@redhat.com>
14609
14610         strerror: relax test for Solaris
14611         * tests/test-strerror.c (main): Permit Solaris behavior.
14612         * tests/test-strerror_r.c (main): Likewise.
14613
14614         strerror: enforce POSIX ruling on strerror(0)
14615         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14616         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14617         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14618         * doc/posix-functions/strerror.texi (strerror): Document it.
14619         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14620         * tests/test-strerror.c (main): Strengthen test.
14621         * tests/test-strerror_r.c (main): Likewise.
14622
14623 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14624
14625         intprop-tests: port to older and more-pedantic compilers
14626         * modules/intprops-tests (Files): Add tests/macros.h.
14627         * tests/test-intprops.c: Include macros.h.
14628         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14629         it's no longer documented to expand to an integer constant expression.
14630         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14631         argument is floating point, as it's no longer documented to expand
14632         to an integer constant expression in that case.
14633         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14634         compiler bugs reported by Bruno Haible.  See
14635         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14636         (U0, U1): New constants, to work around the same bugs.  Also,
14637         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14638
14639         intprops: work around C compiler bugs
14640         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14641         bug in Sun C 5.11 2010/08/13 and other compilers; see
14642         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14643
14644         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14645         * doc/intprops.texi (Integer Type Determination): Fix
14646         documentation for TYPE_IS_INTEGER: it returns an constant
14647         expression, not an integer constant expression.  Fix doc for
14648         TYPE_SIGNED: it returns an integer constant expression only if its
14649         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14650         hardly worth documented that way....)
14651
14652 2011-05-18  Bruno Haible  <bruno@clisp.org>
14653
14654         strerror_r: Avoid clobbering the strerror buffer when possible.
14655         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14656         Handle gnulib defined errno values here. When strerror() returns NULL
14657         or an empty string, return EINVAL.
14658         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14659         gnulib defined errno values here.
14660         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14661
14662 2011-05-18  Eric Blake  <eblake@redhat.com>
14663
14664         fnmatch: avoid compiler warning
14665         * lib/fnmatch_loop.c (FCT): Use correct type.
14666         Reported by Matthias Bolte.
14667
14668 2011-05-13  Jim Meyering  <meyering@redhat.com>
14669
14670         maint.mk: three new prohibit_<HDR>_without_use rules
14671         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14672         (sc_prohibit_stdio-safer_without_use): Likewise.
14673         (sc_prohibit_xfreopen_without_use): Likewise.
14674
14675 2011-05-17  Jim Meyering  <meyering@redhat.com>
14676
14677         announce-gen: fail if the NEWS delta is empty
14678         If there's nothing noteworthy in NEWS, then either you forgot
14679         or you shouldn't be releasing.
14680         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14681
14682 2011-05-17  Pádraig Brady <P@draigBrady.com>
14683
14684         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14685         reserved symbols starting with double underscore from the check.
14686
14687 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14688
14689         intprops: add doc
14690         * doc/intprops.texi: New file, documenting intprops.
14691         * doc/gnulib.texi (Particular Modules): Include it.
14692
14693         verify: add doc to gnulib manual and fix example
14694         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14695         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14696         (Compile-time Assertions): Fix example so it can't overflow.
14697
14698 2011-05-17  Jim Meyering  <meyering@redhat.com>
14699
14700         warnings.m4: don't usurp save_CPPFLAGS variable name
14701         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14702
14703         doc: fix typo
14704         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14705
14706 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14707             Bruno Haible  <bruno@clisp.org>
14708
14709         doc: Tweak recent change.
14710         * README (Portability guidelines): Tweak new text.
14711         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14712         Interix 6.1.
14713
14714 2011-05-16  Eric Blake  <eblake@redhat.com>
14715
14716         inttypes: avoid autoconf warning
14717         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14718         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14719
14720 2011-05-16  Sam Steingold <sds@gnu.org>
14721         and Eric Blake  <eblake@redhat.com>
14722
14723         vc-list-files: accept multiple directory operands
14724         * build-aux/vc-list-files: Iterate over all remaining operands.
14725
14726 2011-05-16  Bruno Haible  <bruno@clisp.org>
14727
14728         Fix confusion regarding deprecated modules.
14729         * modules/calloc (Status, Notice): Mark module as deprecated, not
14730         obsolete.
14731         * modules/fnmatch-posix (Status, Notice): Likewise.
14732         * modules/getdate (Status, Notice): Likewise.
14733         * modules/getopt (Status, Notice): Likewise.
14734         * modules/malloc (Status, Notice): Likewise.
14735         * modules/pipe (Status, Notice): Likewise.
14736         * modules/realloc (Status, Notice): Likewise.
14737         * modules/rename-dest-slash (Status, Notice): Likewise.
14738         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14739         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14740         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14741         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14742         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14743
14744 2011-05-16  Bruno Haible  <bruno@clisp.org>
14745
14746         doc: List the target platforms.
14747         * doc/gnulib-intro.texi (Target Platforms): New section.
14748         * doc/gnulib.texi (Introduction): Update menu.
14749         * README (Portability guidelines): Refer to the new section. Update
14750         statement about oldest supported environment. Remove rationale why
14751         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14752         unportable C89 function.
14753         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14754         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14755
14756 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14757
14758         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14759
14760 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14761
14762         intprops-tests: new module
14763         * modules/intprops-tests, tests/test-intprops.c: New files.
14764
14765         intprops: add safe, portable integer overflow checking
14766         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14767         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14768         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14769         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14770         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14771         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14772         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14773         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14774         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14775         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14776         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14777
14778 2011-05-12  James Youngman  <jay@gnu.org>
14779
14780         Add a test for glibc's Bugzilla bug #12378.
14781         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14782         doesn't allow the literal matching of a lone "[" (which is
14783         required by POSIX).
14784         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14785
14786 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14787
14788         Sync glibc change fixing Bugzilla bug #12378.
14789         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14790         beginning and fall back to matching as normal character if the
14791         string ends before the matching ']' is found.  This is what POSIX
14792         requires.
14793
14794 2011-05-13  Eric Blake  <eblake@redhat.com>
14795
14796         getcwd-lgpl: relax test for FreeBSD
14797         * doc/posix-functions/getcwd.texi (getcwd): Document portability
14798         issue.
14799         * tests/test-getcwd-lgpl.c (main): Relax test.
14800         Reported by Matthias Bolte.
14801
14802 2011-05-11  Eric Blake  <eblake@redhat.com>
14803
14804         test-fflush: silence compiler warning
14805         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
14806
14807 2011-05-11  Bruno Haible  <bruno@clisp.org>
14808
14809         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
14810         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
14811         * modules/canonicalize (Depends-on): Add 'nocrash'.
14812         * modules/canonicalize-lgpl (Depends-on): Likewise.
14813         * doc/posix-functions/realpath.texi: Update platforms list.
14814         Reported by Ryan Schmidt <ryandesign@macports.org>.
14815
14816 2011-05-11  Bruno Haible  <bruno@clisp.org>
14817
14818         group-member: Declare function in <unistd.h>.
14819         * lib/unistd.in.h (group_member): New declaration.
14820         * lib/group-member.h: Remove file.
14821         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14822         * tests/test-unistd-c++.cc: Check signature of group_member.
14823         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14824         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14825         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14826         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14827         HAVE_GROUP_MEMBER.
14828         * modules/group-member (Files): Remove lib/group-member.h.
14829         (Depends-on): Add unistd. Specify conditions.
14830         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14831         (Include): Change to <unistd.h>.
14832         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14833         HAVE_GROUP_MEMBER.
14834         * NEWS: Mention the change.
14835         * lib/euidaccess.c: Don't include group-member.h.
14836
14837 2011-05-11  Bruno Haible  <bruno@clisp.org>
14838
14839         group-member: Document module.
14840         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14841         module.
14842
14843 2011-05-11  Bruno Haible  <bruno@clisp.org>
14844
14845         fclose: Fix mistake earlier today.
14846         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14847
14848 2011-05-11  Eric Blake  <eblake@redhat.com>
14849
14850         fclose: preserve fflush errors
14851         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14852         Reported by Jim Meyering.
14853
14854         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14855         * build-aux/bootstrap (check_versions): When no specific version
14856         is required, merely check that the app produces an exit status
14857         that indicates its existence.
14858
14859         maint.mk: drop redundant check
14860         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14861         the same but better.
14862
14863 2011-05-11  Bruno Haible  <bruno@clisp.org>
14864
14865         fclose: Fix possible link error.
14866         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14867         unregister_shadow_fd. Improve comments.
14868         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14869         Eric Blake.
14870
14871 2011-05-11  Jim Meyering  <meyering@redhat.com>
14872
14873         maint.mk: improve "can not" detection and generalize rule name
14874         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14875         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14876         Use the same technique as in sc_prohibit_doubled_word, so that
14877         we recognize "can not" also when the words are separated by a newline.
14878         Suggested by Eric Blake.
14879         (perl_filename_lineno_text_): Define.  Factored out of...
14880         (prohibit_doubled_word_): ...here.  Use the new definition.
14881         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14882         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14883         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14884
14885 2011-05-10  Eric Blake  <eblake@redhat.com>
14886
14887         fclose: avoid double close race when possible
14888         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14889         all but WINDOWS_SOCKETS.
14890
14891 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14892
14893         openat: correct new comment
14894         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14895
14896 2011-05-10  Jim Meyering  <meyering@redhat.com>
14897
14898         openat: add comments
14899         * lib/openat-proc.c (openat_proc_name): Add comments,
14900         mostly from Eric Blake.
14901
14902 2011-05-09  Eric Blake  <eblake@redhat.com>
14903
14904         openat: reduce syscalls in first probe of /proc
14905         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14906         be a directory.  Simplify the probe for .. bugs.
14907         * modules/openat (Depends-on): Drop same-inode.
14908         Reported by Bastien ROUCARIES.
14909
14910 2011-05-09  Jim Meyering  <meyering@redhat.com>
14911
14912         maint.mk: change semantics/name of tight_scope variables
14913         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14914         Rename variables to align with semantics that make them more useful.
14915
14916         maint.mk: tweak new rule's name not to impinge
14917         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
14918         (sc_tight_scope): Use new rule name rather than $@-0.
14919
14920         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
14921         * top/maint.mk (sc_tight_scope): New rule.
14922         (sc_tight_scope-0): New rule, ifdef'd out.
14923         (_gl_TS_dir): Default.
14924         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
14925         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
14926
14927 2011-05-09  Simon Josefsson  <simon@josefsson.org>
14928
14929         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
14930         Haible <bruno@clisp.org>.
14931
14932 2011-05-08  Bruno Haible  <bruno@clisp.org>
14933
14934         Comments.
14935         * m4/isnanf.m4: Add comment.
14936         * m4/isnanl.m4: Likewise.
14937
14938 2011-05-08  Bruno Haible  <bruno@clisp.org>
14939
14940         glob: Remove obsolete macro.
14941         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
14942
14943 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14944
14945         intprops: Sun C 5.11 supports __typeof__
14946         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
14947         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
14948         which is new.
14949         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
14950
14951         intprops: switch to usual gnulib indenting and naming
14952         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
14953         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
14954
14955         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
14956
14957 2011-05-08  Jim Meyering  <meyering@redhat.com>
14958
14959         maint.mk: suppress "Entering/Leaving directory" diag in announcement
14960         * top/maint.mk (release-prep): Use make's --no-print-directory
14961         option when generating the announcement.  This eliminates the
14962         pesky "make[2]: Entering/Leaving directory" diagnostics in the
14963         generated announcement template.
14964
14965 2011-05-08  Bruno Haible  <bruno@clisp.org>
14966
14967         tzset: Fix gettimeofday wrapper on Solaris 2.6.
14968         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
14969         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
14970
14971 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14972
14973         ignore-value, verify: Omit include files from lib_SOURCES.
14974         * modules/ignore-value, modules/verify (Makefile.am):
14975         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
14976         that leads Automake to duplicate use of am__objects_... variables
14977         in Makefile.in.  See
14978         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
14979
14980 2011-05-07  Bruno Haible  <bruno@clisp.org>
14981
14982         fclose: Simplify autoconf macro.
14983         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
14984         defined.
14985
14986 2011-05-07  Bruno Haible  <bruno@clisp.org>
14987
14988         canonicalize-lgpl: Fix autoconf macro ordering bug.
14989         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
14990         gl_STDLIB_H_DEFAULTS.
14991
14992 2011-05-06  Eric Blake  <eblake@redhat.com>
14993
14994         maintainer-makefile: make sc_po_check easier to tune
14995         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
14996         to probe for strings, such as an alternate location for gnulib.
14997
14998         fclose: guarantee behavior on seekable stdin
14999         * modules/fclose (Depends-on): Add fflush.
15000         * doc/posix-functions/fclose.texi (fclose): Document this.
15001         * tests/test-fclose.c (main): Make test for this unconditional.
15002
15003 2011-05-06  Bruno Haible  <bruno@clisp.org>
15004
15005         fflush, fpurge: Relicense under LGPLv2+.
15006         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15007         * modules/fpurge (License): Likewise.
15008         With permission from Eric Blake and Jim Meyering.
15009         Suggested by Eric Blake.
15010
15011 2011-05-06  Karl Berry  <karl@gnu.org>
15012
15013         * MODULES.html.sh (func_all_modules): remove exit.
15014
15015 2011-05-06  Jim Meyering  <meyering@redhat.com>
15016
15017         maint.mk: use info-gnu@ as the default only for a stable release
15018         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15019         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15020         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15021         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15022
15023 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15024
15025         assert-h: new module, which supports C1X-style static_assert
15026         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15027         * lib/verify.h: Revamp so that this can be copied into assert.h,
15028         while retaining the ability to use it standalone as before.
15029         Rename private identifiers so as not to encroach on the
15030         standard C namespace, since this is now used by assert.h.
15031         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15032         the old verify_true.
15033         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15034         the old verify_true.  Use _GL_VERIFY_TYPE.
15035         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15036         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15037         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15038         defined when this file is copied into the replacement assert.h.
15039         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15040         and _Static_assert is not built in.
15041         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15042         defined, and use the new macros mentioned above.
15043         * doc/posix-headers/assert.texi: Document this.
15044
15045 2011-05-05  Bruno Haible  <bruno@clisp.org>
15046
15047         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15048         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15049         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15050         gl_REPLACE_FCLOSE here.
15051         * modules/fflush (Depends-on): Remove fclose.
15052         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15053         combination with module 'fclose'.
15054
15055 2011-05-05  Bruno Haible  <bruno@clisp.org>
15056
15057         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15058         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15059         gl_FUNC_FFLUSH.
15060         (gl_FUNC_FFLUSH): Use it.
15061         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15062         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15063         gl_REPLACE_FSEEKO here.
15064
15065 2011-05-05  Bruno Haible  <bruno@clisp.org>
15066
15067         tzset: Relicense under LGPL.
15068         * modules/tzset (License): Change to LGPL.
15069         No agreement needed; it's a no-op.
15070
15071         strtoimax, strtoumax: Relicense under LGPL.
15072         * modules/strtoimax (License): Change to LGPL.
15073         * modules/strtoumax (License): Likewise.
15074         With permission from Jim Meyering, Paul Eggert:
15075         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15076         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15077
15078         getgroups: Relicense under LGPL.
15079         * modules/getgroups (License): Change to LGPL.
15080         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15081         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15082         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15083         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15084
15085         nanosleep: Relicense under LGPL.
15086         * modules/nanosleep (License): Change to LGPL.
15087         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15088         Haible:
15089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15090         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15092         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15093
15094         futimens: Relicense under LGPL.
15095         * modules/futimens (License): Change to LGPL.
15096         With permission from Eric Blake:
15097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15098
15099         fflush: Relicense under LGPL.
15100         * modules/fflush (License): Change to LGPL.
15101         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15103         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15104         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15105
15106         tmpfile: Relicense under LGPL.
15107         * modules/tmpfile (License): Change to LGPL.
15108         With permission from Ben Pfaff:
15109         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15110
15111         isfinite: Relicense under LGPL.
15112         * modules/isfinite (License): Change to LGPL.
15113         With permission from Ben Pfaff, Bruno Haible:
15114         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15116
15117         acosl..tanl: Relicense under LGPL.
15118         * modules/acosl (License): Change to LGPL.
15119         * modules/asinl (License): Likewise.
15120         * modules/atanl (License): Likewise.
15121         * modules/cosl (License): Likewise.
15122         * modules/expl (License): Likewise.
15123         * modules/logl (License): Likewise.
15124         * modules/sinl (License): Likewise.
15125         * modules/sqrtl (License): Likewise.
15126         * modules/tanl (License): Likewise.
15127         Source code originally from glibc and Paolo Bonzini. Agreements:
15128         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15129         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15130
15131 2011-05-05  Bruno Haible  <bruno@clisp.org>
15132
15133         signal: Define sighandler_t.
15134         * lib/signal.in.h (sighandler_t): New type.
15135         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15136         whether sighandler_t is defined.
15137         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15138         * modules/signal (Depends-on): Add extensions.
15139         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15140         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15141         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15142
15143 2011-05-05  Eric Blake  <eblake@redhat.com>
15144
15145         maint: remove useless REPLACE_*_H macros
15146         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15147         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15148         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15149         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15150         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15151         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15152         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15153         * m4/btowc.m4: Update callers.
15154         * m4/dirfd.m4: Likewise.
15155         * m4/duplocale.m4: Likewise.
15156         * m4/fchdir.m4: Likewise.
15157         * m4/fdopendir.m4: Likewise.
15158         * m4/inet_ntop.m4: Likewise.
15159         * m4/inet_pton.m4: Likewise.
15160         * m4/ioctl.m4: Likewise.
15161         * m4/mbrlen.m4: Likewise.
15162         * m4/mbrtowc.m4: Likewise.
15163         * m4/mbsinit.m4: Likewise.
15164         * m4/mbsnrtowcs.m4: Likewise.
15165         * m4/mbsrtowcs.m4: Likewise.
15166         * m4/poll.m4: Likewise.
15167         * m4/setlocale.m4: Likewise.
15168         * m4/wcrtomb.m4: Likewise.
15169         * m4/wcsnrtombs.m4: Likewise.
15170         * m4/wcsrtombs.m4: Likewise.
15171         * m4/wctob.m4: Likewise.
15172         * m4/wcwidth.m4: Likewise.
15173         * modules/posix_spawn: Likewise.
15174         * modules/posix_spawn_file_actions_addclose: Likewise.
15175         * modules/posix_spawn_file_actions_adddup2: Likewise.
15176         * modules/posix_spawn_file_actions_addopen: Likewise.
15177         * modules/posix_spawn_file_actions_destroy: Likewise.
15178         * modules/posix_spawn_file_actions_init: Likewise.
15179         * modules/posix_spawnattr_destroy: Likewise.
15180         * modules/posix_spawnattr_getflags: Likewise.
15181         * modules/posix_spawnattr_getpgroup: Likewise.
15182         * modules/posix_spawnattr_getschedparam: Likewise.
15183         * modules/posix_spawnattr_getschedpolicy: Likewise.
15184         * modules/posix_spawnattr_getsigdefault: Likewise.
15185         * modules/posix_spawnattr_getsigmask: Likewise.
15186         * modules/posix_spawnattr_init: Likewise.
15187         * modules/posix_spawnattr_setflags: Likewise.
15188         * modules/posix_spawnattr_setpgroup: Likewise.
15189         * modules/posix_spawnattr_setschedparam: Likewise.
15190         * modules/posix_spawnattr_setschedpolicy: Likewise.
15191         * modules/posix_spawnattr_setsigdefault: Likewise.
15192         * modules/posix_spawnattr_setsigmask: Likewise.
15193         * modules/posix_spawnp: Likewise.
15194
15195 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15196
15197         Add option to do-release-commit-and-tag to specify branch.
15198         * build-aux/do-release-commit-and-tag: Add --branch.
15199
15200 2011-05-03  Bruno Haible  <bruno@clisp.org>
15201
15202         Avoid unnecessary compilation units, through conditional dependencies.
15203         * modules/accept (Depends-on): Add conditions to the dependencies.
15204         * modules/acosl (Depends-on): Likewise.
15205         * modules/argz (Depends-on): Likewise.
15206         * modules/asinl (Depends-on): Likewise.
15207         * modules/atanl (Depends-on): Likewise.
15208         * modules/atoll (Depends-on): Likewise.
15209         * modules/bind (Depends-on): Likewise.
15210         * modules/btowc (Depends-on): Likewise.
15211         * modules/canonicalize-lgpl (Depends-on): Likewise.
15212         * modules/ceil (Depends-on): Likewise.
15213         * modules/ceilf (Depends-on): Likewise.
15214         * modules/ceill (Depends-on): Likewise.
15215         * modules/chdir-long (Depends-on): Likewise.
15216         * modules/chown (Depends-on): Likewise.
15217         * modules/close (Depends-on): Likewise.
15218         * modules/connect (Depends-on): Likewise.
15219         * modules/cosl (Depends-on): Likewise.
15220         * modules/dirfd (Depends-on): Likewise.
15221         * modules/dprintf (Depends-on): Likewise.
15222         * modules/dprintf-posix (Depends-on): Likewise.
15223         * modules/error (Depends-on): Likewise.
15224         * modules/euidaccess (Depends-on): Likewise.
15225         * modules/expl (Depends-on): Likewise.
15226         * modules/faccessat (Depends-on): Likewise.
15227         * modules/fchdir (Depends-on): Likewise.
15228         * modules/fclose (Depends-on): Likewise.
15229         * modules/fcntl (Depends-on): Likewise.
15230         * modules/fdopendir (Depends-on): Likewise.
15231         * modules/fflush (Depends-on): Likewise.
15232         * modules/floor (Depends-on): Likewise.
15233         * modules/floorf (Depends-on): Likewise.
15234         * modules/floorl (Depends-on): Likewise.
15235         * modules/fnmatch (Depends-on): Likewise.
15236         * modules/fopen (Depends-on): Likewise.
15237         * modules/fprintf-posix (Depends-on): Likewise.
15238         * modules/frexp (Depends-on): Likewise.
15239         * modules/frexp-nolibm (Depends-on): Likewise.
15240         * modules/frexpl (Depends-on): Likewise.
15241         * modules/frexpl-nolibm (Depends-on): Likewise.
15242         * modules/fseek (Depends-on): Likewise.
15243         * modules/fsusage (Depends-on): Likewise.
15244         * modules/ftell (Depends-on): Likewise.
15245         * modules/ftello (Depends-on): Likewise.
15246         * modules/futimens (Depends-on): Likewise.
15247         * modules/getcwd (Depends-on): Likewise.
15248         * modules/getcwd-lgpl (Depends-on): Likewise.
15249         * modules/getdelim (Depends-on): Likewise.
15250         * modules/getdomainname (Depends-on): Likewise.
15251         * modules/getgroups (Depends-on): Likewise.
15252         * modules/gethostname (Depends-on): Likewise.
15253         * modules/getline (Depends-on): Likewise.
15254         * modules/getlogin_r (Depends-on): Likewise.
15255         * modules/getopt-posix (Depends-on): Likewise.
15256         * modules/getpeername (Depends-on): Likewise.
15257         * modules/getsockname (Depends-on): Likewise.
15258         * modules/getsockopt (Depends-on): Likewise.
15259         * modules/getsubopt (Depends-on): Likewise.
15260         * modules/getusershell (Depends-on): Likewise.
15261         * modules/glob (Depends-on): Likewise.
15262         * modules/grantpt (Depends-on): Likewise.
15263         * modules/iconv_open (Depends-on): Likewise.
15264         * modules/iconv_open-utf (Depends-on): Likewise.
15265         * modules/inet_ntop (Depends-on): Likewise.
15266         * modules/inet_pton (Depends-on): Likewise.
15267         * modules/ioctl (Depends-on): Likewise.
15268         * modules/isapipe (Depends-on): Likewise.
15269         * modules/isfinite (Depends-on): Likewise.
15270         * modules/isinf (Depends-on): Likewise.
15271         * modules/lchown (Depends-on): Likewise.
15272         * modules/ldexpl (Depends-on): Likewise.
15273         * modules/link (Depends-on): Likewise.
15274         * modules/linkat (Depends-on): Likewise.
15275         * modules/listen (Depends-on): Likewise.
15276         * modules/logl (Depends-on): Likewise.
15277         * modules/lstat (Depends-on): Likewise.
15278         * modules/mbrlen (Depends-on): Likewise.
15279         * modules/mbrtowc (Depends-on): Likewise.
15280         * modules/mbsinit (Depends-on): Likewise.
15281         * modules/mbsnrtowcs (Depends-on): Likewise.
15282         * modules/mbsrtowcs (Depends-on): Likewise.
15283         * modules/mbtowc (Depends-on): Likewise.
15284         * modules/memcmp (Depends-on): Likewise.
15285         * modules/mkdir (Depends-on): Likewise.
15286         * modules/mkdtemp (Depends-on): Likewise.
15287         * modules/mkfifo (Depends-on): Likewise.
15288         * modules/mkfifoat (Depends-on): Likewise.
15289         * modules/mknod (Depends-on): Likewise.
15290         * modules/mkostemp (Depends-on): Likewise.
15291         * modules/mkostemps (Depends-on): Likewise.
15292         * modules/mkstemp (Depends-on): Likewise.
15293         * modules/mkstemps (Depends-on): Likewise.
15294         * modules/mktime (Depends-on): Likewise.
15295         * modules/nanosleep (Depends-on): Likewise.
15296         * modules/open (Depends-on): Likewise.
15297         * modules/openat (Depends-on): Likewise.
15298         * modules/perror (Depends-on): Likewise.
15299         * modules/poll (Depends-on): Likewise.
15300         * modules/popen (Depends-on): Likewise.
15301         * modules/posix_spawn (Depends-on): Likewise.
15302         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15303         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15304         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15305         * modules/posix_spawnp (Depends-on): Likewise.
15306         * modules/pread (Depends-on): Likewise.
15307         * modules/printf-posix (Depends-on): Likewise.
15308         * modules/ptsname (Depends-on): Likewise.
15309         * modules/putenv (Depends-on): Likewise.
15310         * modules/pwrite (Depends-on): Likewise.
15311         * modules/readline (Depends-on): Likewise.
15312         * modules/readlink (Depends-on): Likewise.
15313         * modules/readlinkat (Depends-on): Likewise.
15314         * modules/recv (Depends-on): Likewise.
15315         * modules/recvfrom (Depends-on): Likewise.
15316         * modules/regex (Depends-on): Likewise.
15317         * modules/remove (Depends-on): Likewise.
15318         * modules/rename (Depends-on): Likewise.
15319         * modules/renameat (Depends-on): Likewise.
15320         * modules/rmdir (Depends-on): Likewise.
15321         * modules/round (Depends-on): Likewise.
15322         * modules/roundf (Depends-on): Likewise.
15323         * modules/roundl (Depends-on): Likewise.
15324         * modules/rpmatch (Depends-on): Likewise.
15325         * modules/select (Depends-on): Likewise.
15326         * modules/send (Depends-on): Likewise.
15327         * modules/sendto (Depends-on): Likewise.
15328         * modules/setenv (Depends-on): Likewise.
15329         * modules/setlocale (Depends-on): Likewise.
15330         * modules/setsockopt (Depends-on): Likewise.
15331         * modules/shutdown (Depends-on): Likewise.
15332         * modules/sigaction (Depends-on): Likewise.
15333         * modules/signbit (Depends-on): Likewise.
15334         * modules/sigprocmask (Depends-on): Likewise.
15335         * modules/sinl (Depends-on): Likewise.
15336         * modules/sleep (Depends-on): Likewise.
15337         * modules/snprintf (Depends-on): Likewise.
15338         * modules/snprintf-posix (Depends-on): Likewise.
15339         * modules/socket (Depends-on): Likewise.
15340         * modules/sprintf-posix (Depends-on): Likewise.
15341         * modules/sqrtl (Depends-on): Likewise.
15342         * modules/stat (Depends-on): Likewise.
15343         * modules/strchrnul (Depends-on): Likewise.
15344         * modules/strdup-posix (Depends-on): Likewise.
15345         * modules/strerror (Depends-on): Likewise.
15346         * modules/strerror_r-posix (Depends-on): Likewise.
15347         * modules/strndup (Depends-on): Likewise.
15348         * modules/strnlen (Depends-on): Likewise.
15349         * modules/strptime (Depends-on): Likewise.
15350         * modules/strsep (Depends-on): Likewise.
15351         * modules/strsignal (Depends-on): Likewise.
15352         * modules/strstr-simple (Depends-on): Likewise.
15353         * modules/strtod (Depends-on): Likewise.
15354         * modules/strtoimax (Depends-on): Likewise.
15355         * modules/strtok_r (Depends-on): Likewise.
15356         * modules/strtoumax (Depends-on): Likewise.
15357         * modules/symlink (Depends-on): Likewise.
15358         * modules/symlinkat (Depends-on): Likewise.
15359         * modules/tanl (Depends-on): Likewise.
15360         * modules/tcgetsid (Depends-on): Likewise.
15361         * modules/tmpfile (Depends-on): Likewise.
15362         * modules/trunc (Depends-on): Likewise.
15363         * modules/truncf (Depends-on): Likewise.
15364         * modules/truncl (Depends-on): Likewise.
15365         * modules/uname (Depends-on): Likewise.
15366         * modules/unlink (Depends-on): Likewise.
15367         * modules/unlockpt (Depends-on): Likewise.
15368         * modules/unsetenv (Depends-on): Likewise.
15369         * modules/usleep (Depends-on): Likewise.
15370         * modules/utimensat (Depends-on): Likewise.
15371         * modules/vasprintf (Depends-on): Likewise.
15372         * modules/vdprintf (Depends-on): Likewise.
15373         * modules/vdprintf-posix (Depends-on): Likewise.
15374         * modules/vfprintf-posix (Depends-on): Likewise.
15375         * modules/vprintf-posix (Depends-on): Likewise.
15376         * modules/vsnprintf (Depends-on): Likewise.
15377         * modules/vsnprintf-posix (Depends-on): Likewise.
15378         * modules/vsprintf-posix (Depends-on): Likewise.
15379         * modules/wcrtomb (Depends-on): Likewise.
15380         * modules/wcscasecmp (Depends-on): Likewise.
15381         * modules/wcscspn (Depends-on): Likewise.
15382         * modules/wcsdup (Depends-on): Likewise.
15383         * modules/wcsncasecmp (Depends-on): Likewise.
15384         * modules/wcsnrtombs (Depends-on): Likewise.
15385         * modules/wcspbrk (Depends-on): Likewise.
15386         * modules/wcsrtombs (Depends-on): Likewise.
15387         * modules/wcsspn (Depends-on): Likewise.
15388         * modules/wcsstr (Depends-on): Likewise.
15389         * modules/wcstok (Depends-on): Likewise.
15390         * modules/wcswidth (Depends-on): Likewise.
15391         * modules/wctob (Depends-on): Likewise.
15392         * modules/wctomb (Depends-on): Likewise.
15393         * modules/wctype (Depends-on): Likewise.
15394         * modules/wcwidth (Depends-on): Likewise.
15395         * modules/write (Depends-on): Likewise.
15396
15397 2011-05-03  Bruno Haible  <bruno@clisp.org>
15398
15399         Support for conditional dependencies.
15400         * doc/gnulib.texi (Module description): Document the syntax of
15401         conditional dependencies.
15402         * gnulib-tool: New option --conditional-dependencies.
15403         (func_usage): Document it.
15404         (cond_dependencies): New variable.
15405         (func_get_automake_snippet_conditional,
15406         func_get_automake_snippet_unconditional): New functions, extracted from
15407         func_get_automake_snippet.
15408         (func_get_automake_snippet): Use them.
15409         (sed_first_32_chars): New variable.
15410         (func_module_shellfunc_name): New function.
15411         (func_module_shellvar_name): New function.
15412         (func_module_conditional_name): New function.
15413         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15414         func_cond_module_condition): New functions.
15415         (func_modules_transitive_closure): Add support for conditional
15416         dependencies.
15417         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15418         conditional automake snippet in an automake conditional.
15419         (func_emit_autoconf_snippets): Emit shell functions that contain the
15420         code for conditional modules.
15421         (func_import, func_create_testdir): Update specification.
15422
15423 2011-05-03  Eric Blake  <eblake@redhat.com>
15424
15425         test-getaddrinfo: report error information
15426         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15427
15428 2011-05-03  Jim Meyering  <meyering@redhat.com>
15429
15430         bootstrap: avoid build failure when $GZIP is set
15431         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15432         program name.  If defined at all, it is supposed to list gzip options.
15433         Reported by Alan Curry in http://debbugs.gnu.org/8609
15434
15435 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15436
15437         readme-release: new module with release instructions
15438         * modules/readme-release: New module.
15439         * top/README-release: New file, from coreutils, grep, diffutils.
15440         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15441
15442 2011-05-02  Eric Blake  <eblake@redhat.com>
15443
15444         fflush: also replace fclose when fixing fflush
15445         * modules/fflush (Depends-on): Add fclose.
15446         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15447         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15448         memstreams with no backing fd.
15449         * doc/posix-functions/fclose.texi (fclose): Document the use of
15450         fflush module to fix the bug.
15451         * tests/test-fclose.c (main): Relax test when fclose is used in
15452         isolation.
15453
15454         fclose: add some tests
15455         * modules/fclose-tests: New test module.
15456         * tests/test-fclose.c: New file.
15457         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15458
15459         fclose: reduced dependencies
15460         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15461         simpler lseek.
15462         * lib/fclose.c (rpl_fclose): Likewise.
15463         Reported by Simon Josefsson.
15464
15465         exit: drop remaining clients
15466         * modules/argmatch (Depends-on): Replace exit with stdlib.
15467         * modules/copy-file (Depends-on): Likewise.
15468         * modules/execute (Depends-on): Likewise.
15469         * modules/exitfail (Depends-on): Likewise.
15470         * modules/obstack (Depends-on): Likewise.
15471         * modules/pagealign_alloc (Depends-on): Likewise.
15472         * modules/pipe-filter-gi (Depends-on): Likewise.
15473         * modules/pipe-filter-ii (Depends-on): Likewise.
15474         * modules/savewd (Depends-on): Likewise.
15475         * modules/spawn-pipe (Depends-on): Likewise.
15476         * modules/wait-process (Depends-on): Likewise.
15477         * modules/xsetenv (Depends-on): Likewise.
15478         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15479         * modules/git-merge-changelog (Depends-on): Likewise.
15480         * modules/long-options (Depends-on): Likewise.
15481         * modules/pt_chown (Depends-on): Likewise.
15482         * modules/sysexits (Depends-on): Likewise.
15483
15484         freading: relax license from LGPLv3+ to LGPLv2+
15485         * modules/freading (License): Relax LGPL version.
15486
15487 2011-05-02  Bruno Haible  <bruno@clisp.org>
15488
15489         fchdir: Remove unused dependencies.
15490         * modules/fchdir (Depends-on): Remove include_next.
15491
15492 2011-05-02  Bruno Haible  <bruno@clisp.org>
15493
15494         gnulib-tool: Refactor.
15495         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15496         from func_emit_autoconf_snippets.
15497         (func_emit_autoconf_snippets): Use it.
15498
15499 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15500
15501         * NEWS: Document removal of 'exit'.
15502         * modules/exit: Remove file.
15503
15504 2011-05-01  Bruno Haible  <bruno@clisp.org>
15505
15506         Update DEPENDENCIES.
15507         * DEPENDENCIES (gettext): Recommend the newest release.
15508         Reported by Simon Josefsson.
15509
15510 2011-05-01  Bruno Haible  <bruno@clisp.org>
15511
15512         gnulib-tool: Reduce code duplication.
15513         * gnulib-tool (func_emit_autoconf_snippets): New function.
15514         (func_import, func_create_testdir): Use it.
15515
15516 2011-04-30  Eric Blake  <eblake@redhat.com>
15517
15518         fclose: don't fail on non-seekable input stream
15519         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15520         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15521         since fflush is allowed to fail in that case.
15522
15523 2011-04-30  Bruno Haible  <bruno@clisp.org>
15524
15525         dup3: cleanup
15526         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15527
15528 2011-04-30  Bruno Haible  <bruno@clisp.org>
15529
15530         netdb: Make it work in C++ mode.
15531         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15532         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15533         module.
15534         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15535         gl_MODULE_INDICATOR_FOR_TESTS.
15536         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15537         * modules/netdb-c++-tests: New file.
15538         * tests/test-netdb-c++.cc: New file.
15539
15540 2011-04-30  Bruno Haible  <bruno@clisp.org>
15541
15542         New modules 'vfscanf', 'vscanf'.
15543         * modules/vfscanf: New file.
15544         * modules/vscanf: New file.
15545         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15546         here.
15547         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15548         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15549
15550 2011-04-30  Bruno Haible  <bruno@clisp.org>
15551
15552         passfd: Add comments.
15553         * lib/passfd.c: Add comments about platforms.
15554
15555 2011-04-30  Bruno Haible  <bruno@clisp.org>
15556
15557         sys_uio: Make <sys/uio.h> self-contained.
15558         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15559         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15560
15561 2011-04-30  Bruno Haible  <bruno@clisp.org>
15562
15563         sys_socket: Ensure 'struct iovec' definition.
15564         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15565         <sys/socket.h>.
15566         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15567
15568 2011-04-30  Bruno Haible  <bruno@clisp.org>
15569
15570         sys_uio: Protect definition of 'struct iovec'.
15571         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15572         it as a C struct.
15573
15574 2011-04-30  Bruno Haible  <bruno@clisp.org>
15575
15576         manywarnings: fix indentation
15577         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15578
15579 2011-04-30  Pádraig Brady <P@draigBrady.com>
15580
15581         manywarnings: add -Wno-missing-field-initializers if needed.
15582         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15583         option if it's needed to allow initialization with { 0, }
15584
15585 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15586
15587         announce-gen: cosmetic improvement
15588         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15589
15590 2011-04-29  Jim Meyering  <meyering@redhat.com>
15591
15592         vc-list-files: indent with spaces, not TABs
15593         * build-aux/vc-list-files: Convert leading TABs to spaces,
15594         to match the style of most other files in gnulib.
15595
15596         announce-gen: indent with spaces, not TABs
15597         * build-aux/announce-gen: Convert all TABs to spaces, to match
15598         the style of most other files in gnulib.
15599
15600 2011-04-29  Eric Blake  <eblake@redhat.com>
15601
15602         quotearg: avoid uninitialized variable use
15603         * lib/quotearg.c (quoting_options_from_style): Initialize
15604         remaining fields, and ensure that custom styles are only used via
15605         quoting_options rather than quoting_style.
15606
15607 2011-04-29  Jim Meyering  <meyering@redhat.com>
15608
15609         maint.mk: remove unused VC-tag variable
15610         * top/maint.mk (VC-tag): Remove unused variable.
15611
15612 2011-04-29  Bruno Haible  <bruno@clisp.org>
15613
15614         netdb: fix gai_strerror replacements
15615         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15616         * modules/netdb: Substitute it.
15617
15618 2011-04-29  Jim Meyering  <meyering@redhat.com>
15619
15620         test-getcwd.c: avoid new set-but-not-used warning
15621         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15622         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15623         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15624         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15625
15626         test-hash.c: avoid a new shadowing warning
15627         * tests/test-hash.c (main): Don't shadow "dup".
15628
15629 2011-04-28  Eric Blake  <eblake@redhat.com>
15630
15631         getaddrinfo: fix gai_strerror signature
15632         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15633         and work around mingw with UNICODE defined.
15634         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15635         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15636         * modules/netdb (Makefile.am): Substitute it.
15637         * lib/netdb.in.h (gai_strerror): Declare replacement.
15638         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15639         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15640         the fix.
15641
15642         getsockopt: avoid compiler warning
15643         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15644         Reported by Matthias Bolte.
15645
15646         tests: drop unused link dependency
15647         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15648         * modules/dirent-safer-tests (Makefile.am): Likewise.
15649         * modules/fdopendir-tests (Makefile.am): Likewise.
15650         * modules/mkfifoat-tests (Makefile.am): Likewise.
15651         * modules/openat-safer-tests (Makefile.am): Likewise.
15652         * modules/openat-tests (Makefile.am): Likewise.
15653         * modules/readlinkat-tests (Makefile.am): Likewise.
15654         * modules/symlinkat-tests (Makefile.am): Likewise.
15655         * modules/linkat-tests (Makefile.am): Likewise.
15656         (Depends-on): Switch to filenamecat-lgpl.
15657         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15658         LIBINTL.
15659         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15660         * tests/test-linkat.c (main): Don't require xalloc.
15661
15662         hash, mgetgroups: drop xalloc dependency
15663         * lib/hash.c (includes): Adjust includes.
15664         * lib/mgetgroups.c (includes): Likewise.
15665         (xgetgroups): Move...
15666         * lib/xgetgroups.c: ...to new file.
15667         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15668         * modules/xgetgroups: New file, split from...
15669         * modules/mgetgroups: ...here.
15670         (Depends-on): Add xalloc-oversized.
15671         * modules/hash (Depends-on): Likewise.
15672         * modules/hash-tests (Depends-on): Drop xalloc.
15673         (test_hash_LDADD): Drop unused library.
15674         * tests/test-hash.c (main): Break xalloc dependency.
15675         (includes): Drop unused include.
15676
15677         xalloc-oversized: new module
15678         * modules/xalloc-oversized: New module.
15679         * modules/xalloc (Depends-on): Add it.
15680         * lib/xalloc.h (xalloc_oversized): Move...
15681         * lib/xalloc-oversized.h: ...into new file.
15682
15683         utimecmp: drop dependency on xmalloc
15684         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15685         due to memory pressure.
15686         * modules/utimecmp (Depends-on): Drop xalloc.
15687
15688 2011-04-27  Eric Blake  <eblake@redhat.com>
15689
15690         getcwd: fix mingw bugs
15691         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15692         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15693         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15694
15695 2011-04-27  Bruno Haible  <bruno@clisp.org>
15696
15697         mkstemps: Ensure declaration on MacOS X 10.5.
15698         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15699         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15700         MacOS X.
15701
15702 2011-04-27  Bruno Haible  <bruno@clisp.org>
15703
15704         mkstemp: More documentation.
15705         * doc/posix-functions/mkstemp.texi: Document header file problem on
15706         MacOS X.
15707
15708 2011-04-27  Bruno Haible  <bruno@clisp.org>
15709
15710         mkstemp: Tweak configure message when cross-compiling.
15711         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15712         result as a guess.
15713
15714 2011-04-27  Bruno Haible  <bruno@clisp.org>
15715
15716         clean-temp: Clarify what it does.
15717         * lib/clean-temp.h: Add more comments.
15718         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15719         module.
15720         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15721         * doc/glibc-functions/mkstemps.texi: Likewise.
15722         * doc/glibc-functions/mkostemps.texi: Likewise.
15723
15724 2011-04-27  Eric Blake  <eblake@redhat.com>
15725
15726         fchdir: avoid extra chdir and fix test
15727         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15728         getcwd-lgpl.
15729         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15730         have to be canonical.
15731         (canonicalize_file_name): Drop unused macro.
15732         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15733
15734         filenamecat-lgpl: fix licence
15735         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15736         when it was first created.
15737
15738         linkat, renameat: add missing dependency
15739         * modules/linkat (Depends-on): Require getcwd-lgpl.
15740         * modules/renameat (Depends-on): Likewise.
15741
15742         tests: reduce dependencies
15743         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15744         * tests/test-renameat.c (main): Likewise.
15745         * modules/linkat-tests (Depends-on): Relax dependency.
15746         * modules/renameat-tests (Depends-on): Likewise.
15747         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15748         dependency explicit.
15749
15750         save-cwd: reduce default dependency
15751         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15752         * lib/save-cwd.c: Update comments.
15753         * NEWS: Document the semantic change.
15754
15755         getcwd: enhance tests
15756         * tests/test-getcwd-lgpl.c: New file, taken from...
15757         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15758         repeat long path stress tests from m4 probe.
15759         * modules/getcwd-lgpl-tests: New module.
15760         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15761         * m4/getcwd-abort-bug.m4: Update comment.
15762         * m4/getcwd-path-max.m4: Likewise.
15763
15764         getcwd-lgpl: new module
15765         * modules/getcwd-lgpl: New module.
15766         * lib/getcwd-lgpl.c: New file.
15767         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15768         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15769         * modules/getcwd (configure.ac): Set C witness.
15770         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15771
15772         getcwd: tweak comments
15773         * m4/getcwd-abort-bug.m4: Fix comments.
15774         * m4/getcwd-path-max.m4: Likewise.
15775         * m4/getcwd.m4: Likewise.
15776
15777 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15778         and Eric Blake  <eblake@redhat.com>
15779
15780         mkstemp: replace if system version uses wrong permissions
15781         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15782         read/write mode bits set in file created by mkstemp.
15783         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15784
15785 2011-04-27  Eric Blake  <eblake@redhat.com>
15786
15787         passfd: avoid compiler warning
15788         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15789         Reported by Laine Stump.
15790
15791 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15792
15793         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15794         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15795
15796 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15797         and Eric Blake  <eblake@redhat.com>
15798
15799         mkstemp: mention clean-temp module
15800         * lib/mkstemp.c: Add comment.
15801         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
15802
15803 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
15804
15805         inttypes: also provide default values for 32-bit tests
15806         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
15807         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
15808
15809 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15810
15811         strtoumax: remove dependency on strtoimax
15812         This is like the strtoull change of yesterday.
15813         * modules/strtoumax (Files): Add lib/strtoimax.c.
15814         (Depends-on): Remove strtoimax and add verify.
15815
15816         inttypes-incomplete: new module
15817         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15818         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15819         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15820         of gl_INTTYPES_H.
15821         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15822         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15823         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15824         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15825         * modules/strtoumax, modules/xstrtol (Depends-on):
15826         Depend on inttypes-incomplete, not inttypes.
15827         * modules/inttypes-incomplete: New module, containing the contents
15828         of the old modules/inttypes module, except that the Files: section
15829         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15830         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15831         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15832         (Depends-on): Depend only on inttypes-incomplete.
15833         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15834
15835         inttypes: omit now-redundant strtoimax and strtoumax work
15836         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15837         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15838
15839         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15840         This supports apps that need pointers to strtoimax and strtoumax,
15841         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15842         nonexistent functions.  See
15843         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15844         et seq.
15845         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15846         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15847         a macro.
15848         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15849
15850 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15851
15852         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15853
15854 2011-04-25  Bruno Haible  <bruno@clisp.org>
15855
15856         strtol, strtoul: Mark modules as obsolete.
15857         * modules/strtol (Status, Notice): New sections.
15858         * modules/strtoul (Status, Notice): New sections.
15859
15860 2011-04-25  Bruno Haible  <bruno@clisp.org>
15861
15862         strtod: Remove check for strtod, unless supporting old platforms.
15863         * modules/strtod-obsolete: New file.
15864         * m4/strtod-obsolete.m4: New file.
15865         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15866         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15867         * modules/strtod (Depends-on): Add strtod-obsolete.
15868         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15869
15870 2011-04-25  Bruno Haible  <bruno@clisp.org>
15871
15872         strcase: Make module obsolete.
15873         * modules/strcase (Status, Notice): New sections.
15874
15875 2011-04-25  Bruno Haible  <bruno@clisp.org>
15876
15877         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15878         * modules/dup2-obsolete: New file.
15879         * m4/dup2-obsolete.m4: New file.
15880         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15881         gl_FUNC_DUP2_OBSOLETE is not also defined.
15882         * modules/dup2 (Depends-on): Add dup2-obsolete.
15883         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15884
15885 2011-04-25  Bruno Haible  <bruno@clisp.org>
15886
15887         strnlen: Avoid memchr related link error on old obsolete platforms.
15888         * modules/memchr-obsolete: New file.
15889         * m4/memchr-obsolete.m4: New file.
15890         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15891         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15892         * modules/memchr (Depends-on): Add memchr-obsolete.
15893         * modules/strnlen (Depends-on): Likewise.
15894         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15895
15896 2011-04-25  Jim Meyering  <meyering@redhat.com>
15897
15898         maint.mk: makefile_at_at_check extend and clean up
15899         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15900         in addition to */Makefile.am.
15901         Exempt legitimate uses of @VAR@ notation, e.g.,
15902         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15903         Remove obsolete coreutils-specific comment.
15904         Prompted by discussion here:
15905         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15906
15907 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15908
15909         strtoul: remove dependency on strtol
15910         This is so that 'configure' need not check for strtol merely because
15911         the application needs strtoul.
15912         * modules/strtoul (Files): Add lib/strtol.c.
15913         (Depends-on): Remove strtol.
15914
15915         strtoull: remove dependency on strtoul
15916         This is like the strtoll change.
15917         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
15918         (Depends-on): Remove strtoul.
15919
15920         strtoll: remove dependency on strtol
15921         This is so that 'configure' need not check for strtol merely because
15922         the application needs strtoll.
15923         * modules/strtoll (Files): Add lib/strtol.c.
15924         (Depends-on): Remove strtol.
15925
15926 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15927
15928         inttypes: Move some configure check to module 'imaxdiv'.
15929         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
15930         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
15931         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
15932
15933 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15934
15935         inttypes: Move some configure check to module 'imaxabs'.
15936         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
15937         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
15938         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
15939
15940 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15941
15942         inttypes: Remove configure tests that are not needed since 2009-12-31.
15943         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
15944         gl_cv_header_working_inttypes_h.
15945
15946 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15947
15948         * modules/strnlen (Depends-on): Remove memchr.
15949         The strnlen implementation doesn't need the memchr module's fixes; see
15950         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
15951
15952         strtol: remove dependency on wchar
15953         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
15954         * modules/strtol (Depends-on): Remove wchar.
15955
15956 2011-04-21  Eric Blake  <eblake@redhat.com>
15957
15958         passfd: fix test regression on Linux
15959         * modules/passfd-tests (configure.ac): Correct socketpair check.
15960
15961         passfd: speed up configure and drop unused code
15962         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
15963         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
15964         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
15965         Instead of probing at configure for unix_scm_rights_bsd44_way,
15966         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
15967         check to a struct member probe.
15968         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
15969         (sendfd, recvfd): Update preprocessor checks.
15970         * modules/passfd (Files): Reflect rename, and drop unused file.
15971         (Depends-on): Drop unused dependency.
15972
15973         passfd: allow compilation on mingw
15974         * modules/sys_socket (Depends-on): Add sys_uio.
15975         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
15976         iovec and a minimal struct msghdr.
15977         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
15978         * tests/test-sys_socket.c (main): Enhance test.
15979         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
15980         guaranteed to provide what we need.
15981         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
15982         * modules/passfd-tests (Depends-on): Add sys_wait.
15983         * tests/test-passfd.c (main): Skip test on mingw, for now.
15984         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
15985         partial 'struct msghdr' implementation.
15986
15987         sys_uio: new module
15988         * modules/sys_uio: New module.
15989         * modules/sys_uio-tests: Likewise.
15990         * lib/sys_uio.in.h: New file.
15991         * m4/sys_uio_h.m4: Likewise.
15992         * tests/test-sys_uio.c: Likewise.
15993         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
15994         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
15995
15996 2011-04-20  Jim Meyering  <meyering@redhat.com>
15997
15998         useless-if-before-free: avoid false-positive
15999         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16000         disjunct so that it too requires a terminating ";".  Without that,
16001         this script would identify as useless one statement from gcc that
16002         was not:
16003           if (aligned_ptr)
16004             free (((void **) aligned_ptr) [-1]);
16005
16006 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16007
16008         doc: update users.txt.
16009         * users.txt: Add barcode.
16010
16011 2011-04-19  Bruno Haible  <bruno@clisp.org>
16012
16013         ioctl: Remove link dependency on native Windows.
16014         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16015         (gl_close_fn, gl_ioctl_fn): New types.
16016         (struct fd_hook): Renamed from struct close_hook. Change type of
16017         private_close_fn field. Add private_ioctl_fn field.
16018         (close_hook_fn): Add parameter for primary close method.
16019         (execute_close_hooks, execute_all_close_hooks): Likewise.
16020         (ioctl_hook_fn): New type.
16021         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16022         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16023         argument.
16024         (unregister_fd_hook): Renamed from unregister_close_hook.
16025         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16026         Don't include <unistd.h>.
16027         (close): Remove undef.
16028         (anchor): Update.
16029         (execute_close_hooks): Add argument for primary close method.
16030         (execute_all_close_hooks): Likewise.
16031         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16032         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16033         argument. Allow each argument to be NULL.
16034         (unregister_fd_hook): Renamed from unregister_close_hook.
16035         * lib/close.c (rpl_close): Pass 'close' function pointer to
16036         execute_all_close_hooks.
16037         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16038         (primary_ioctl): New function.
16039         (ioctl): Don't call ioctlsocket here. Instead, call
16040         execute_all_ioctl_hooks.
16041         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16042         close method.
16043         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16044         (fd_sockets_hook): Renamed from close_sockets_hook.
16045         (gl_sockets_startup, gl_sockets_cleanup): Update.
16046         * modules/fd-hook: Renamed from modules/close-hook. Update.
16047         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16048         * modules/sockets (Depends-on): Likewise.
16049         * modules/ioctl (Depends-on): Add fd-hook.
16050         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16051         GNULIB_SOCKET.
16052
16053 2011-04-19  Bruno Haible  <bruno@clisp.org>
16054
16055         Move the support of O_NONBLOCK in open() to the 'open' module.
16056         * modules/nonblocking (Depends-on): Remove 'open'.
16057         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16058         gl_cv_have_open_O_NONBLOCK.
16059         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16060         O_NONBLOCK support.
16061         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16062
16063 2011-04-17  Bruno Haible  <bruno@clisp.org>
16064
16065         pipe2: Simplify code.
16066         * lib/pipe2.c (pipe2): Reduce code duplication.
16067
16068 2011-04-17  Bruno Haible  <bruno@clisp.org>
16069
16070         nonblocking: Add comment.
16071         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16072
16073 2011-04-17  Bruno Haible  <bruno@clisp.org>
16074
16075         nonblocking: Add tests for sockets.
16076         * tests/test-nonblocking-socket.sh: New file.
16077         * tests/test-nonblocking-socket-main.c: New file.
16078         * tests/test-nonblocking-socket-child.c: New file.
16079         * tests/test-nonblocking-socket.h: New file.
16080         * tests/socket-server.h: New file.
16081         * tests/socket-client.h: New file.
16082         * modules/nonblocking-socket-tests: New file.
16083         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16084
16085 2011-04-17  Bruno Haible  <bruno@clisp.org>
16086
16087         nonblocking: Add tests for pipes.
16088         * tests/test-nonblocking-pipe.sh: New file.
16089         * tests/test-nonblocking-pipe-main.c: New file.
16090         * tests/test-nonblocking-pipe-child.c: New file.
16091         * tests/test-nonblocking-pipe.h: New file.
16092         * tests/test-nonblocking-writer.h: New file.
16093         * tests/test-nonblocking-reader.h: New file.
16094         * tests/test-nonblocking-misc.h: New file.
16095         * modules/nonblocking-pipe-tests: New file.
16096         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16097
16098 2011-04-16  Bruno Haible  <bruno@clisp.org>
16099
16100         gettext: Clarify the needed programmer actions.
16101         * modules/gettext (Notice): New field.
16102         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16103
16104 2011-04-16  Bruno Haible  <bruno@clisp.org>
16105
16106         strchrnul: Tweak last commit.
16107         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16108         bug.
16109         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16110         as in _GL_FUNCDECL_SYS.
16111         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16112         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16113
16114 2011-04-15  Eric Blake  <eblake@redhat.com>
16115
16116         strchrnul: work around cygwin bug
16117         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16118         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16119         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16120         * modules/string (Makefile.am): Substitute it.
16121         * lib/string.in.h (strchrnul): Use it.
16122
16123 2011-04-15  Bruno Haible  <bruno@clisp.org>
16124
16125         Don't require lib/stdio-write.c when only module 'stdio' is used.
16126         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16127         invocation.
16128         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16129
16130 2011-04-14  Bruno Haible  <bruno@clisp.org>
16131
16132         Support non-blocking pipe I/O in read() on native Windows.
16133         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16134         (read): New declaration.
16135         * lib/read.c: New file.
16136         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16137         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16138         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16139         vscanf): New declarations.
16140         * lib/stdio-read.c: New file.
16141         * m4/read.m4: New file.
16142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16143         REPLACE_READ.
16144         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16145         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16146         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16147         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16148         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16149         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16150         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16151         * modules/read: New file.
16152         * modules/nonblocking (Files): Add lib/stdio-read.c.
16153         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16154         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16155         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16156         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16157         * modules/pread (Depends-on): Add read.
16158         * modules/safe-read (Depends-on): Likewise.
16159         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16160         gets, scanf, vfscanf, vscanf): Verify signatures.
16161         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16162         problem with non-blocking pipes.
16163         * doc/posix-functions/fgetc.texi: Likewise.
16164         * doc/posix-functions/fgets.texi: Likewise.
16165         * doc/posix-functions/fread.texi: Likewise.
16166         * doc/posix-functions/fscanf.texi: Likewise.
16167         * doc/posix-functions/getc.texi: Likewise.
16168         * doc/posix-functions/getchar.texi: Likewise.
16169         * doc/posix-functions/gets.texi: Likewise.
16170         * doc/posix-functions/scanf.texi: Likewise.
16171         * doc/posix-functions/vfscanf.texi: Likewise.
16172         * doc/posix-functions/vscanf.texi: Likewise.
16173
16174 2011-04-14  Bruno Haible  <bruno@clisp.org>
16175
16176         Support non-blocking pipe I/O in write() on native Windows.
16177         * lib/write.c (rpl_write): Split a write request that failed merely
16178         because the byte count was larger than the pipe buffer's size.
16179         * doc/posix-functions/write.texi: Mention the problem with large byte
16180         counts.
16181
16182 2011-04-14  Bruno Haible  <bruno@clisp.org>
16183
16184         wchar: Ensure that wchar_t gets defined on uClibc.
16185         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16186         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16187
16188 2011-04-13  Bruno Haible  <bruno@clisp.org>
16189
16190         safe-write, full-read: Avoid unnecessary compilation units.
16191         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16192         (Depends-on): Remove safe-read. Add ssize_t.
16193         * modules/full-read (Files): Add lib/full-write.c.
16194         (Depends-on): Add full-write.
16195
16196 2011-04-13  Bruno Haible  <bruno@clisp.org>
16197
16198         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16199         * modules/pwrite (Depends-on): Add 'write'.
16200
16201 2011-04-13  Bruno Haible  <bruno@clisp.org>
16202
16203         Support non-blocking pipe I/O in write() on native Windows.
16204         * lib/unistd.in.h (write): Enable replacement also if
16205         GNULIB_UNISTD_H_NONBLOCKING is 1.
16206         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16207         (rpl_write): When failing to write on a non-blocking pipe, change
16208         errno from ENOSPC to EAGAIN.
16209         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16210         putchar, puts, vfprintf, vprintf): Enable replacement also if
16211         GNULIB_STDIO_H_NONBLOCKING is 1.
16212         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16213         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16214         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16215         CALL_WITH_SIGPIPE_EMULATION.
16216         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16217         * m4/nonblocking.m4: New file.
16218         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16219         for non-blocking I/O support.
16220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16221         GNULIB_UNISTD_H_NONBLOCKING.
16222         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16223         required for non-blocking I/O support.
16224         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16225         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16226         lib/stdio-write.c, m4/asm-underscore.m4.
16227         (Depends-on): Add stdio, unistd.
16228         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16229         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16230         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16231         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16232         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16233         problem with non-blocking pipes.
16234         * doc/posix-functions/fputc.texi: Likewise.
16235         * doc/posix-functions/fputs.texi: Likewise.
16236         * doc/posix-functions/fwrite.texi: Likewise.
16237         * doc/posix-functions/printf.texi: Likewise.
16238         * doc/posix-functions/putc.texi: Likewise.
16239         * doc/posix-functions/putchar.texi: Likewise.
16240         * doc/posix-functions/puts.texi: Likewise.
16241         * doc/posix-functions/vfprintf.texi: Likewise.
16242         * doc/posix-functions/vprintf.texi: Likewise.
16243         * doc/posix-functions/write.texi: Likewise.
16244
16245 2011-04-10  Jim Meyering  <meyering@redhat.com>
16246
16247         maint.mk: prohibit doubled words
16248         Detect them also when they're separated by a newline.
16249         There are 3 ways to customize it:
16250           - disable the test on a per file basis, as usual with rules using
16251             $(VC_LIST_EXCEPT)
16252           - replace the default doubled-word-selecting regexp (affects all files)
16253           - ignore a particular file-vs-doubled-word match
16254         I nearly used that last one to ignore the "is is" match in
16255         coreutils' NEWS file, since the text was "ls -is is ..."
16256         To do that, I would have added this line to cfg.mk:
16257           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16258         but it would have ignored any "is is" match in NEWS.
16259         Low probability, but still...
16260         Instead, I changed the text, slightly:
16261           -  ls -is is now consistent with ls -lis in ignoring values returned
16262           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16263         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16264         (prohibit_doubled_word_): Define.
16265         (sc_prohibit_doubled_word): New rule.
16266         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16267
16268 2011-04-10  Jim Meyering  <meyering@redhat.com>
16269
16270         maint: fix doubled-word typo in comment
16271         * m4/gethostname.m4: s/is is/it is/
16272         * m4/getdomainname.m4: Likewise.
16273
16274 2011-04-10  Jim Meyering  <meyering@redhat.com>
16275
16276         maint: remove doubled word: s/it it/it/
16277         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16278
16279 2011-04-10  Jim Meyering  <meyering@redhat.com>
16280
16281         maint.mk: remove useless semicolon and backslash
16282         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16283         semicolon and backslash.
16284
16285 2011-04-10  Bruno Haible  <bruno@clisp.org>
16286
16287         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16288         * modules/stdint-tests (Depends-on): Add wchar.
16289
16290 2011-04-10  Jim Meyering  <meyering@redhat.com>
16291
16292         maint: remove doubled words in comments, e.g., s/a a/a/
16293         * lib/strptime.c (day_of_the_week): s/the the/the/
16294         * tests/test-chown.h (test_chown): s/a a/a/
16295
16296         test-chown.h: correct a cast
16297         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16298         when the destination is a stat.st_gid.
16299
16300 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16301
16302         getaddrinfo: Fix test for sa_len member.
16303         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16304         include <sys/types.h> before <sys/socket.h>.
16305
16306 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16307
16308         maint: change "can not" to "cannot"
16309         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16310         boundaries.
16311
16312 2011-04-09  Jim Meyering  <meyering@redhat.com>
16313
16314         maint: change "a a" to "a"
16315         * tests/test-lchown.h (test_lchown): s/a a/a/
16316
16317         maint.mk: prohibit \<the the\>
16318         * top/maint.mk (sc_prohibit_the_the): New rule.
16319
16320         maint: fix "the the" in comment
16321         * lib/count-one-bits.h: s/the the/the/
16322
16323         maint: change "can not" to "cannot"
16324         But do not change the occurrences in maintain.texi or in
16325         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16326         * doc/gnulib-tool.texi: s/can not/cannot/
16327         * doc/posix-functions/accept.texi (accept): Likewise.
16328         * doc/posix-functions/socket.texi (socket): Likewise.
16329         * lib/mbrtowc.c: Likewise.
16330
16331         maint.mk: prohibit use of "can not"
16332         * top/maint.mk (sc_prohibit_can_not): New rule.
16333         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16334
16335 2011-04-09  Bruno Haible  <bruno@clisp.org>
16336
16337         careadlinkat: Guard against misuse of careadlinkatcwd.
16338         * lib/careadlinkat.c: Include <stdlib.h>.
16339         (careadlinkatcwd): Check that the fd argument is as expected.
16340
16341 2011-04-09  Bruno Haible  <bruno@clisp.org>
16342
16343         careadlinkat: Use common coding style.
16344         * lib/careadlinkat.c: Move gnulib includes after system includes.
16345
16346 2011-04-09  Bruno Haible  <bruno@clisp.org>
16347
16348         careadlinkat: Clarify specification.
16349         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16350         (careadlinkatcwd): Add comment.
16351         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16352
16353 2011-04-09  Bruno Haible  <bruno@clisp.org>
16354
16355         areadlinkat: Avoid link error on many platforms.
16356         * modules/areadlinkat (Depends-on): Add areadlink.
16357
16358 2011-04-09  Bruno Haible  <bruno@clisp.org>
16359
16360         allocator, careadlinkat: Fix double-inclusion guard.
16361         * lib/allocator.h: Fix double-inclusion guard.
16362         * lib/careadlinkat.h: Likewise.
16363
16364 2011-04-09  Bruno Haible  <bruno@clisp.org>
16365
16366         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16367         * lib/relocwrapper.c: Update dependencies hierarchy.
16368         * build-aux/install-reloc: Update list of files to be compiled.
16369         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16370         lib/allocator.[hc].
16371
16372 2011-04-08  Eric Blake  <eblake@redhat.com>
16373
16374         strftime: silence gnulib-tool warning
16375         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16376
16377 2011-04-08  Bruno Haible  <bruno@clisp.org>
16378
16379         verify: Fix syntax error with GCC 4.6 in C++ mode.
16380         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16381         (HAVE_STATIC_ASSERT): New macro.
16382         (verify_true, verify): Use 'static_assert' if it is supported and
16383         '_Static_assert' is not supported.
16384
16385 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16386
16387         allocator: New module.
16388         * modules/allocator, lib/allocator.c: New files.
16389         * lib/allocator.h (stdlib_allocator): New decl.
16390         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16391         Remove.  Do not include <stdlib.h>.
16392         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16393         * modules/careadlinkat (Files): Remove lib/allocator.h.
16394         (Depends-on): Add allocator.
16395
16396         stdlib: let modules use system malloc, realloc
16397         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16398         if !_GL_USE_STDLIB_ALLOC.
16399         (malloc, realloc): Limit this change to a smaller scope.
16400
16401         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16402         (malloc, realloc): Don't #undef; no longer needed.
16403         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16404         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16405         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16406         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16407         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16408         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16409         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16410         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16411
16412         careadlinkat: rename members to avoid problem
16413         * lib/allocator.h (struct allocator): Rename members from
16414         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16415         and realloc are #define'd.  Reported by Eric Blake in
16416         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16417         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16418
16419 2011-04-08  Eric Blake  <eblake@redhat.com>
16420
16421         nonblocking: reduce dependency
16422         * tests/test-nonblocking.c: Only test sockets when in use.
16423         * modules/nonblocking-tests (Depends-on): Drop socket.
16424         (Makefile.am): Link even if sockets are not present.
16425         * modules/pipe2-tests (Makefile.am): Likewise.
16426         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16427
16428         pipe2: fix O_NONBLOCK support on mingw
16429         * modules/pipe2 (Depends-on): Add nonblocking.
16430         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16431         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16432         * tests/test-nonblocking.c (main): Likewise.
16433         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16434
16435         fcntl-h: fix O_ACCMODE on cygwin
16436         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16437         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16438
16439         pipe-filter: drop O_NONBLOCK workarounds
16440         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16441         * modules/pipe-filter-ii (Depends-on): Likewise.
16442         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16443
16444         nonblocking: provide O_NONBLOCK for mingw
16445         * modules/nonblocking (Depends-on): Add open.
16446         (configure.ac): Set new witness macro.
16447         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16448         * modules/fcntl-h (Makefile.am): Substitute it.
16449         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16450         nonblocking module is in use.
16451         * lib/nonblocking.c: Adjust portability test.
16452         * lib/open.c (open): Don't let native open see gnulib flag.
16453         * tests/test-fcntl-h.c (main): Enhance test.
16454         * tests/test-open.h (test_open): Likewise.
16455         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16456
16457         careadlinkat: fix compilation error on mingw
16458         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16459         within struct allocator.
16460
16461 2011-04-06  Eric Blake  <eblake@redhat.com>
16462
16463         binary-io: relicense under LGPLv2+
16464         * modules/binary-io (License): Relax to LGPLv2+.
16465         Requested for libvirt, and required by pipe2.
16466
16467 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16468
16469         verify: use _Static_assert if available
16470         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16471         (verify_true, verify): Use it if available.  This generates better
16472         diagnostics with GCC 4.6.0 and later.
16473
16474 2011-04-05  Bruno Haible  <bruno@clisp.org>
16475
16476         Remove leftover generated .h files after config.status changed.
16477
16478         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16479         GL_GENERATE_ALLOCA_H.
16480         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16481         GL_GENERATE_ALLOCA_H evaluates to false.
16482
16483         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16484         GL_GENERATE_ARGZ_H.
16485         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16486         evaluates to false.
16487
16488         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16489         GL_GENERATE_BYTESWAP_H.
16490         * modules/byteswap (Makefile.am): Remove byteswap.h if
16491         GL_GENERATE_BYTESWAP_H evaluates to false.
16492
16493         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16494         GL_GENERATE_ERRNO_H.
16495         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16496         evaluates to false.
16497
16498         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16499         GL_GENERATE_FLOAT_H.
16500         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16501         evaluates to false.
16502
16503         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16504         GL_GENERATE_FNMATCH_H.
16505         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16506         GL_GENERATE_FNMATCH_H evaluates to false.
16507
16508         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16509         GL_GENERATE_GLOB_H.
16510         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16511         evaluates to false.
16512
16513         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16514         automake conditional GL_GENERATE_ICONV_H.
16515         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16516         evaluates to false.
16517
16518         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16519         GL_GENERATE_NETINET_IN_H.
16520         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16521         GL_GENERATE_NETINET_IN_H evaluates to false.
16522
16523         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16524         conditional GL_GENERATE_PTHREAD_H.
16525         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16526         * modules/pthread (Makefile.am): Remove pthread.h if
16527         GL_GENERATE_PTHREAD_H evaluates to false.
16528
16529         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16530         GL_GENERATE_SCHED_H.
16531         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16532         evaluates to false.
16533
16534         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16535         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16536         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16537         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16538
16539         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16540         GL_GENERATE_STDARG_H.
16541         * modules/stdarg (Makefile.am): Remove stdarg.h if
16542         GL_GENERATE_STDARG_H evaluates to false.
16543
16544         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16545         GL_GENERATE_STDBOOL_H.
16546         * modules/stdbool (Makefile.am): Remove stdbool.h if
16547         GL_GENERATE_STDBOOL_H evaluates to false.
16548
16549         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16550         conditional GL_GENERATE_STDDEF_H.
16551         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16552         * modules/stddef (Makefile.am): Remove stddef.h if
16553         GL_GENERATE_STDDEF_H evaluates to false.
16554
16555         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16556         GL_GENERATE_STDINT_H.
16557         * modules/stdint (Makefile.am): Remove stdint.h if
16558         GL_GENERATE_STDINT_H evaluates to false.
16559
16560         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16561         GL_GENERATE_SYSEXITS_H.
16562         * modules/sysexits (Makefile.am): Remove sysexits.h if
16563         GL_GENERATE_SYSEXITS_H evaluates to false.
16564
16565         Reported by Karl Berry and Ralf Wildenhues.
16566
16567 2011-04-05  Bruno Haible  <bruno@clisp.org>
16568
16569         Ensure to rebuild generated .h files when config.status has changed.
16570         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16571         config.status.
16572         * modules/ctype (Makefile.am): Likewise.
16573         * modules/dirent (Makefile.am): Likewise.
16574         * modules/errno (Makefile.am): Likewise.
16575         * modules/fcntl-h (Makefile.am): Likewise.
16576         * modules/float (Makefile.am): Likewise.
16577         * modules/getopt-posix (Makefile.am): Likewise.
16578         * modules/glob (Makefile.am): Likewise.
16579         * modules/iconv-h (Makefile.am): Likewise.
16580         * modules/inttypes (Makefile.am): Likewise.
16581         * modules/langinfo (Makefile.am): Likewise.
16582         * modules/locale (Makefile.am): Likewise.
16583         * modules/math (Makefile.am): Likewise.
16584         * modules/netdb (Makefile.am): Likewise.
16585         * modules/netinet_in (Makefile.am): Likewise.
16586         * modules/poll-h (Makefile.am): Likewise.
16587         * modules/pthread (Makefile.am): Likewise.
16588         * modules/pty (Makefile.am): Likewise.
16589         * modules/sched (Makefile.am): Likewise.
16590         * modules/search (Makefile.am): Likewise.
16591         * modules/selinux-h (Makefile.am): Likewise.
16592         * modules/signal (Makefile.am): Likewise.
16593         * modules/spawn (Makefile.am): Likewise.
16594         * modules/stdarg (Makefile.am): Likewise.
16595         * modules/stdbool (Makefile.am): Likewise.
16596         * modules/stddef (Makefile.am): Likewise.
16597         * modules/stdint (Makefile.am): Likewise.
16598         * modules/stdio (Makefile.am): Likewise.
16599         * modules/stdlib (Makefile.am): Likewise.
16600         * modules/string (Makefile.am): Likewise.
16601         * modules/strings (Makefile.am): Likewise.
16602         * modules/sys_file (Makefile.am): Likewise.
16603         * modules/sys_ioctl (Makefile.am): Likewise.
16604         * modules/sys_select (Makefile.am): Likewise.
16605         * modules/sys_socket (Makefile.am): Likewise.
16606         * modules/sys_stat (Makefile.am): Likewise.
16607         * modules/sys_time (Makefile.am): Likewise.
16608         * modules/sys_times (Makefile.am): Likewise.
16609         * modules/sys_utsname (Makefile.am): Likewise.
16610         * modules/sys_wait (Makefile.am): Likewise.
16611         * modules/sysexits (Makefile.am): Likewise.
16612         * modules/termios (Makefile.am): Likewise.
16613         * modules/time (Makefile.am): Likewise.
16614         * modules/unistd (Makefile.am): Likewise.
16615         * modules/wchar (Makefile.am): Likewise.
16616         * modules/wctype-h (Makefile.am): Likewise.
16617         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16618
16619 2011-04-05  Bruno Haible  <bruno@clisp.org>
16620
16621         pipe2: Relicense under LGPLv2+.
16622         * modules/pipe2 (License): Change to LGPLv2+.
16623         Requested by Eric Blake, for libvirt.
16624
16625 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16626
16627         bootstrap: compute gnulib_extra_files after updating build_aux
16628         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16629         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16630
16631 2011-04-05  Eric Blake  <eblake@redhat.com>
16632
16633         bootstrap: preserve git whitelist item sorting
16634         * build-aux/bootstrap (sort_patterns): New function.
16635         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16636
16637 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16638
16639         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16640         sc_space_tab check.
16641
16642 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16643
16644         areadlink, areadlinkat: rewrite in terms of careadlinkat
16645         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16646         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16647         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16648         (malloc, realloc): Remove #undefs.
16649         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16650         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16651         readlink, ssize_t, stdint, unistd.
16652         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16653         areadlink, stdint.
16654
16655         careadlinkat: new module
16656         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16657         * modules/careadlinkat: New files, written by me with
16658         a review and feedback from Ben Pfaff in
16659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16660
16661 2011-04-01  Bruno Haible  <bruno@clisp.org>
16662
16663         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16664         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16665         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16666         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16667         Reported by Bruce Korb <bruce.korb@gmail.com>.
16668
16669 2011-04-01  Bruno Haible  <bruno@clisp.org>
16670
16671         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16672         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16673         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16674         * modules/wcpcpy (Depends-on): Add extensions.
16675         * modules/wcpncpy (Depends-on): Likewise.
16676         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16677         systems.
16678         * doc/posix-functions/wcpncpy.texi: Likewise.
16679         * doc/posix-functions/wcwidth.texi: Likewise.
16680
16681 2011-03-31  Eric Blake  <eblake@redhat.com>
16682
16683         nonblocking: fix mingw test failures
16684         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16685         non-blocking flag on regular file.
16686         (get_nonblocking_flag): Set errno on invalid fd.
16687         * tests/test-nonblocking.c (main): Avoid test failure on
16688         directories if fchdir is not active.
16689         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16690
16691 2011-03-31  Bruno Haible  <bruno@clisp.org>
16692
16693         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16694         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16695         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16696         Reported by Simon Josefsson <simon@josefsson.org>.
16697
16698 2011-03-31  Bruno Haible  <bruno@clisp.org>
16699         and Eric Blake  <eblake@redhat.com>
16700
16701         nonblocking: new module
16702         * modules/nonblocking: New module.
16703         * modules/nonblocking-tests: Likewise.
16704         * lib/nonblocking.h: New file.
16705         * lib/nonblocking.c: Likewise.
16706         * tests/test-nonblocking.c: New test.
16707         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16708
16709 2011-03-30  Bruno Haible  <bruno@clisp.org>
16710
16711         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16712         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16713         instead of 'printf' format for GCC >= 4.4.
16714         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16715         (fprintf, printf, vfprintf, vprintf): Declare with
16716         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16717         the system's vfprintf() function.
16718         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16719
16720 2011-03-30  Eric Blake  <eblake@redhat.com>
16721
16722         passfd: fix scoping bug
16723         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16724         before sendmsg/recvmsg.
16725
16726         passfd: standardize coding conventions
16727         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16728         can be learned at compile time.
16729         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16730         ifdefs.
16731         (sendfd, recvfd): Follow gnulib code conventions.
16732
16733         passfd: fix incorrect sendmsg arguments
16734         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16735         incorrect msg_controllen value.
16736         * modules/passfd-tests (Depends-on): Check for alarm.
16737         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16738         Reported by Bastien ROUCARIES.
16739
16740 2011-03-30  Bruno Haible  <bruno@clisp.org>
16741
16742         c-strcasestr: Relicense under LGPLv2+.
16743         * modules/c-strcasestr (License): Change to LGPLv2+.
16744         Requested by Eric Blake, for libvirt.
16745
16746 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16747
16748         * users.txt: Add libidn2.  Fix libtasn1 link.
16749
16750 2011-03-30  Jim Meyering  <meyering@redhat.com>
16751
16752         tests: readlink* ("",... fails with EINVAL on newer kernels
16753         readlink and readlinkat have typically failed with ENOENT for
16754         the invalid, empty file name,  "".  However, with the advent
16755         of linux-2.6.39, they fail with EINVAL.
16756         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16757         when operating on the empty file name.
16758         * tests/test-readlink.h (test_readlink): Likewise.
16759
16760 2011-03-29  Bruno Haible  <bruno@clisp.org>
16761
16762         Relicense some modules under LGPLv2+, for libidn2.
16763         * modules/array-mergesort (License): Change to LGPLv2+.
16764         * modules/c-strcaseeq (License): Likewise.
16765         * modules/striconveh (License): Likewise.
16766         * modules/striconveha (License): Likewise.
16767         * modules/uniconv/base (License): Likewise.
16768         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16769         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16770         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16771         * modules/unictype/base (License): Likewise.
16772         * modules/unictype/bidiclass-of (License): Likewise.
16773         * modules/unictype/category-M (License): Likewise.
16774         * modules/unictype/category-none (License): Likewise.
16775         * modules/unictype/category-of (License): Likewise.
16776         * modules/unictype/category-test (License): Likewise.
16777         * modules/unictype/category-test-withtable (License): Likewise.
16778         * modules/unictype/combining-class (License): Likewise.
16779         * modules/unictype/joiningtype-of (License): Likewise.
16780         * modules/unictype/scripts (License): Likewise.
16781         * modules/uninorm/base (License): Likewise.
16782         * modules/uninorm/canonical-decomposition (License): Likewise.
16783         * modules/uninorm/composition (License): Likewise.
16784         * modules/uninorm/decompose-internal (License): Likewise.
16785         * modules/uninorm/decomposition-table (License): Likewise.
16786         * modules/uninorm/nfc (License): Likewise.
16787         * modules/uninorm/nfd (License): Likewise.
16788         * modules/uninorm/u32-normalize (License): Likewise.
16789         * modules/unistr/base (License): Likewise.
16790         * modules/unistr/u32-cpy (License): Likewise.
16791         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16792         * modules/unistr/u32-to-u8 (License): Likewise.
16793         * modules/unistr/u32-uctomb (License): Likewise.
16794         * modules/unistr/u8-check (License): Likewise.
16795         * modules/unistr/u8-mblen (License): Likewise.
16796         * modules/unistr/u8-mbtouc (License): Likewise.
16797         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
16798         * modules/unistr/u8-mbtoucr (License): Likewise.
16799         * modules/unistr/u8-prev (License): Likewise.
16800         * modules/unistr/u8-strlen (License): Likewise.
16801         * modules/unistr/u8-to-u32 (License): Likewise.
16802         * modules/unistr/u8-uctomb (License): Likewise.
16803         * modules/unitypes (License): Likewise.
16804         Requested by Simon Josefsson.
16805
16806 2011-03-29  Simon Josefsson  <simon@josefsson.org>
16807
16808         lib-symbol-visibility: Add a notice.
16809         * modules/lib-symbol-visibility (Notice): New field.
16810
16811 2011-03-29  Bruno Haible  <bruno@clisp.org>
16812
16813         getaddrinfo: Doc fix.
16814         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16815         section "fixed in Gnulib".
16816
16817 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16818
16819         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16820         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16821
16822 2011-03-26  Bruno Haible  <bruno@clisp.org>
16823
16824         unictype/property-byname: Reduce the number of load-time relocations.
16825         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16826         (UC_PROPERTY_INDEX_*): New enumeration values.
16827         (uc_property_byname): Convert an index from the lookup table to an
16828         uc_property_t.
16829         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16830         values.
16831
16832 2011-03-26  Bruno Haible  <bruno@clisp.org>
16833
16834         unictype/property-byname: Allow omitted word separators and aliases.
16835         * lib/unictype/pr_byname.gperf: Add property names without word
16836         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16837         for 'space'.
16838
16839 2011-03-26  Bruno Haible  <bruno@clisp.org>
16840
16841         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16842         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16843         also hyphens to space.
16844         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16845         without spaces.
16846         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16847
16848 2011-03-26  Bruno Haible  <bruno@clisp.org>
16849
16850         unictype/joiningtype-byname: Recognize long names as well.
16851         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16852         a long name.
16853         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16854         unictype/joiningtype_byname.h.
16855         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16856         * lib/unictype/joiningtype_byname.gperf: New file.
16857         * modules/unictype/joiningtype-byname (Files): Add
16858         lib/unictype/joiningtype_byname.gperf.
16859         (Depends-on): Add gperf.
16860         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16861         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16862         long names.
16863
16864         Tests for module 'unictype/joiningtype-longname'.
16865         * modules/unictype/joiningtype-longname-tests: New file.
16866         * tests/unictype/test-joiningtype_longname.c: New file.
16867
16868         New module 'unictype/joiningtype-longname'.
16869         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16870         * lib/unictype/joiningtype_longname.c: New file.
16871         * modules/unictype/joiningtype-longname: New file.
16872         * modules/unictype/joiningtype-all (Depends-on): Add
16873         unictype/joiningtype-longname.
16874
16875 2011-03-26  Bruno Haible  <bruno@clisp.org>
16876
16877         unictype/bidiclass-byname: Recognize long names as well.
16878         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16879         name.
16880         * lib/unictype/bidi_byname.c: Include <string.h>,
16881         unictype/bidi_byname.h.
16882         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16883         * lib/unictype/bidi_byname.gperf: New file.
16884         * modules/unictype/bidiclass-byname (Files): Add
16885         lib/unictype/bidi_byname.gperf.
16886         (Depends-on): Add gperf.
16887         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16888         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16889         long names.
16890
16891         Tests for module 'unictype/bidiclass-longname'.
16892         * modules/unictype/bidiclass-longname-tests: New file.
16893         * tests/unictype/test-bidi_longname.c: New file.
16894
16895         New module 'unictype/bidiclass-longname'.
16896         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16897         * lib/unictype/bidi_longname.c: New file.
16898         * modules/unictype/bidiclass-longname: New file.
16899         * modules/unictype/bidiclass-all (Depends-on): Add
16900         unictype/bidiclass-longname.
16901
16902 2011-03-26  Bruno Haible  <bruno@clisp.org>
16903
16904         unictype/bidi*: Rename modules.
16905         * modules/unictype/bidiclass-all: Renamed from
16906         modules/unictype/bidicategory-all.
16907         * modules/unictype/bidiclass-name: Renamed from
16908         modules/unictype/bidiclass-name.
16909         (Description): Update.
16910         * modules/unictype/bidiclass-name-tests: Renamed from
16911         modules/unictype/bidicategory-name-tests.
16912         * modules/unictype/bidiclass-byname: Renamed from
16913         modules/unictype/bidicategory-byname.
16914         (Description): Update.
16915         * modules/unictype/bidiclass-byname-tests: Renamed from
16916         modules/unictype/bidicategory-byname-tests.
16917         * modules/unictype/bidiclass-of: Renamed from
16918         modules/unictype/bidicategory-of.
16919         (Description): Update.
16920         * modules/unictype/bidiclass-of-tests: Renamed from
16921         modules/unictype/bidicategory-of-tests.
16922         * modules/unictype/bidiclass-test: Renamed from
16923         modules/unictype/bidicategory-test.
16924         (Description): Update.
16925         * modules/unictype/bidiclass-test-tests: Renamed from
16926         modules/unictype/bidicategory-test-tests.
16927         * modules/unictype/bidicategory-all: New file, a simple redirection.
16928         * modules/unictype/bidicategory-name: Likewise.
16929         * modules/unictype/bidicategory-byname: Likewise.
16930         * modules/unictype/bidicategory-of: Likewise.
16931         * modules/unictype/bidicategory-test: Likewise.
16932         * modules/unictype/property-bidi-* (Dependencies): Update.
16933         * lib/unictype/bidi_*.c: Update comment.
16934
16935 2011-03-26  Bruno Haible  <bruno@clisp.org>
16936
16937         unictype/bidi*: Rename functions, part 2.
16938         * modules/unictype/bidicategory-name (configure.ac): Update required
16939         libunistring version.
16940         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
16941
16942 2011-03-25  Bruno Haible  <bruno@clisp.org>
16943
16944         New module 'unictype/combining-class-all'.
16945         * modules/unictype/combining-class-all: New file.
16946
16947         Tests for module 'unictype/combining-class-byname'.
16948         * modules/unictype/combining-class-byname-tests: New file.
16949         * tests/unictype/test-combiningclass_byname.c: New file.
16950
16951         New module 'unictype/combining-class-byname'.
16952         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
16953         * lib/unictype/combiningclass_byname.c: New file.
16954         * lib/unictype/combiningclass_byname.gperf: New file.
16955         * modules/unictype/combining-class-byname: New file.
16956
16957         Tests for module 'unictype/combining-class-longname'.
16958         * modules/unictype/combining-class-longname-tests: New file.
16959         * tests/unictype/test-combiningclass_longname.c: New file.
16960
16961         New module 'unictype/combining-class-longname'.
16962         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
16963         * lib/unictype/combiningclass_longname.c: New file.
16964         * modules/unictype/combining-class-longname: New file.
16965
16966         Tests for module 'unictype/combining-class-name'.
16967         * modules/unictype/combining-class-name-tests: New file.
16968         * tests/unictype/test-combiningclass_name.c: New file.
16969
16970         New module 'unictype/combining-class-name'.
16971         * lib/unictype.in.h (uc_combining_class_name): New declaration.
16972         * lib/unictype/combiningclass_name.c: New file.
16973         * modules/unictype/combining-class-name: New file.
16974
16975 2011-03-25  Bruno Haible  <bruno@clisp.org>
16976
16977         unictype/combining-class: Rename source files.
16978         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
16979         of unictype/combining.h.
16980         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
16981         Update.
16982         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
16983         * modules/unictype/combining-class (Description): Fix.
16984         (Files, Makefile.am): Update.
16985         * tests/unictype/test-combiningclass.c: Renamed from
16986         tests/unictype/test-combining.c.
16987         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
16988
16989 2011-03-25  Bruno Haible  <bruno@clisp.org>
16990
16991         unictype: Update list of canonical combining classes.
16992         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
16993
16994 2011-03-25  Bruno Haible  <bruno@clisp.org>
16995
16996         unictype/category-byname: Recognize long names as well.
16997         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
16998         a long name.
16999         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17000         unictype/categ_byname.h.
17001         (UC_CATEGORY_INDEX_*): New enumeration values.
17002         (uc_general_category_byname): Use uc_general_category_lookup and
17003         convert from index to value.
17004         * lib/unictype/categ_byname.gperf: New file.
17005         * modules/unictype/category-byname (Files): Add
17006         lib/unictype/categ_byname.gperf.
17007         (Depends-on): Add gperf.
17008         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17009         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17010         long names.
17011
17012         Tests for module 'unictype/category-longname'.
17013         * modules/unictype/category-longname-tests: New file.
17014         * tests/unictype/test-categ_longname.c: New file.
17015
17016         New module 'unictype/category-longname'.
17017         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17018         * lib/unictype/categ_longname.c: New file.
17019         * modules/unictype/category-longname: New file.
17020         * modules/unictype/category-all (Depends-on): Add it.
17021
17022 2011-03-25  Bruno Haible  <bruno@clisp.org>
17023
17024         Tests for module 'unictype/category-LC'.
17025         * modules/unictype/category-LC-tests: New file.
17026         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17027
17028         New module 'unictype/category-LC'.
17029         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17030         (UC_CATEGORY_LC): New declaration.
17031         (UC_CASED_LETTER): New macro.
17032         * lib/gen-uni-tables.c (is_category_LC): New function.
17033         (output_categories): Also handle category LC.
17034         (UC_CATEGORY_MASK_LC): New enumeration value.
17035         (general_category_byname): Also handle category LC.
17036         * lib/unictype/categ_LC.c: New file.
17037         * lib/unictype/categ_LC.h: New file, automatically generated.
17038         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17039         category LC.
17040         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17041         * modules/unictype/category-LC: New file.
17042         * modules/unictype/category-byname (Depends-on): Add
17043         unictype/category-LC.
17044         * modules/unictype/category-all (Depends-on): Likewise.
17045
17046 2011-03-25  Eric Blake  <eblake@redhat.com>
17047
17048         xmalloc: revert yesterday's regression
17049         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17050         realloc's underlying behavior (allowing allocation of zero-size
17051         objects, especially if malloc-gnu is also in use).
17052
17053 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17054
17055         maint.mk: add missing version to VC-tag
17056         * top/maint.mk: git tag was missing actual tag name; add it.
17057
17058         valgrind: do leak checking, and exit with code 1 on error (not 0)
17059         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17060         to VALGRIND.
17061
17062 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17063
17064         posix-modules: say what it does.
17065         * posix-modules: Add a line to the --help output saying what it does.
17066
17067 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17068
17069         xmalloc: Do not leak if underlying realloc is C99 compatible.
17070         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17071         This avoids a leak on C99-based systems.  See
17072         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17073
17074 2011-03-24  Eric Blake  <eblake@redhat.com>
17075
17076         realloc: document portability problem
17077         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17078         passing 0 size to realloc.
17079
17080 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17081
17082         doc: update users.txt
17083         * users.txt: Add cvsps, tmpwatch
17084
17085 2011-03-23  Matt Rice  <ratmice@gmail.com>
17086
17087         doc: update users.txt
17088         * users.txt: Add gdb.
17089
17090 2011-03-23  Jim Meyering  <meyering@redhat.com>
17091
17092         doc: update users.txt
17093         Looking through matches up to the following URL (there are still
17094         several more pages), I found several projects that use gnulib:
17095         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17096         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17097         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17098
17099 2011-03-22  Bruno Haible  <bruno@clisp.org>
17100
17101         unictype/bidi*: Rename functions.
17102         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17103         uc_bidi_class, uc_is_bidi_class): New declarations.
17104         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17105         uc_bidi_category_byname.
17106         (uc_bidi_category_byname): New function.
17107         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17108         u_bidi_category_name.
17109         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17110         (uc_bidi_category_name): New function.
17111         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17112         uc_bidi_category.
17113         (uc_bidi_category): New function.
17114         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17115         uc_is_bidi_category. Invoke uc_bidi_class.
17116         (uc_is_bidi_category): New function.
17117         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17118         instead of uc_bidi_category_byname.
17119         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17120         instead of uc_bidi_category_name.
17121         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17122         uc_bidi_category.
17123         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17124         instead of uc_is_bidi_category.
17125
17126 2011-03-21  Bruno Haible  <bruno@clisp.org>
17127
17128         New module 'unictype/joininggroup-all'.
17129         * modules/unictype/joininggroup-all: New file.
17130
17131         Tests for module 'unictype/joininggroup-of'.
17132         * modules/unictype/joininggroup-of-tests: New file.
17133         * tests/unictype/test-joininggroup_of.c: New file.
17134         * tests/unictype/test-joininggroup_of.h: New file, automatically
17135         generated by gen-uni-tables.
17136
17137         New module 'unictype/joininggroup-of'.
17138         * modules/unictype/joininggroup-of: New file.
17139         * lib/unictype/joininggroup_of.c: New file.
17140         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17141         gen-uni-tables.
17142
17143         Tests for module 'unictype/joininggroup-byname'.
17144         * modules/unictype/joininggroup-byname-tests: New file.
17145         * tests/unictype/test-joininggroup_byname.c: New file.
17146
17147         New module 'unictype/joininggroup-byname'.
17148         * modules/unictype/joininggroup-byname: New file.
17149         * lib/unictype/joininggroup_byname.c: New file.
17150         * lib/unictype/joininggroup_byname.gperf: New file.
17151
17152         Tests for module 'unictype/joininggroup-name'.
17153         * modules/unictype/joininggroup-name-tests: New file.
17154         * tests/unictype/test-joininggroup_name.c: New file.
17155
17156         New module 'unictype/joininggroup-name'.
17157         * modules/unictype/joininggroup-name: New file.
17158         * lib/unictype/joininggroup_name.c: New file.
17159         * lib/unictype/joininggroup_name.h: New file.
17160
17161         New module 'unictype/joiningtype-all'.
17162         * modules/unictype/joiningtype-all: New file.
17163
17164         Tests for module 'unictype/joiningtype-of'.
17165         * modules/unictype/joiningtype-of-tests: New file.
17166         * tests/unictype/test-joiningtype_of.c: New file.
17167         * tests/unictype/test-joiningtype_of.h: New file, automatically
17168         generated by gen-uni-tables.
17169
17170         New module 'unictype/joiningtype-of'.
17171         * modules/unictype/joiningtype-of: New file.
17172         * lib/unictype/joiningtype_of.c: New file.
17173         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17174         gen-uni-tables.
17175
17176         Tests for module 'unictype/joiningtype-byname'.
17177         * modules/unictype/joiningtype-byname-tests: New file.
17178         * tests/unictype/test-joiningtype_byname.c: New file.
17179
17180         New module 'unictype/joiningtype-byname'.
17181         * modules/unictype/joiningtype-byname: New file.
17182         * lib/unictype/joiningtype_byname.c: New file.
17183
17184         Tests for module 'unictype/joiningtype-name'.
17185         * modules/unictype/joiningtype-name-tests: New file.
17186         * tests/unictype/test-joiningtype_name.c: New file.
17187
17188         New module 'unictype/joiningtype-name'.
17189         * modules/unictype/joiningtype-name: New file.
17190         * lib/unictype/joiningtype_name.c: New file.
17191
17192         unictype: Add support for Arabic shaping properties.
17193         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17194         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17195         declarations.
17196         (UC_JOINING_GROUP_*): New enumeration values.
17197         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17198         declarations.
17199         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17200         (unicode_joining_type): New variable.
17201         (UC_JOINING_GROUP_*): New enumeration values.
17202         (unicode_joining_group): New variable.
17203         (fill_arabicshaping, joining_type_as_c_identifier,
17204         output_joining_type_test, output_joining_type,
17205         joining_group_as_c_identifier, output_joining_group_test,
17206         output_joining_group): New functions.
17207         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17208         fill_arabicshaping and output_joining_type_test, output_joining_type,
17209         output_joining_group_test, output_joining_group.
17210         Reported by Simon Josefsson.
17211
17212 2011-03-21  Jim Meyering  <meyering@redhat.com>
17213
17214         strftime: fix a bug in yesterday's change
17215         * lib/strftime.c (add): Accommodate width's initial value of -1.
17216         Otherwise, nstrftime would copy uninitialized data into
17217         the result buffer.
17218
17219 2011-03-21  Jim Meyering  <meyering@redhat.com>
17220
17221         tests: add strftime-tests module
17222         * tests/test-strftime.c: New file.
17223         * modules/strftime-tests: New module.
17224
17225 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17226
17227         strftime: don't assume a byte count fits in 'int'
17228         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17229         found this problem by static analysis, using gcc -Wstrict-overflow
17230         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17231         on an integer overflow having undefined behavior, but it turns out
17232         that the argument is a size, which might not fit in 'int' anyway,
17233
17234 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17235
17236         stdio: don't require ignore_value around fwrite
17237
17238         This patch works around libc bug 11959
17239         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17240         Without this patch, applications must often write
17241         ignore_value (fwrite (...)) even though the ignore_value is
17242         not helpful here.  It's common to write many objects, using
17243         fwrite/printf/etc., and then use ferror to detect output error.
17244
17245         I considered making this patch optional, but decided against it,
17246         because libc is obviously being inconsistent here: there is no
17247         reason libc should insist that user code must inspect fwrite
17248         return's value without also insisting that it inspect printf's,
17249         putchar's, etc.  If user code wants to have a strict style where
17250         all these functions' values are checked (so that ferror need not
17251         be checked), we could add support for that style in a new gnulib
17252         module, but in the meantime it's better to be consistent and to
17253         support common usage.
17254
17255         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17256         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17257         that we are compiling in checking mode, and if not C++, and
17258         if not already wrapping fwrite for some other reason.
17259         (fwrite): #define to rpl_fwrite if the latter is defined.
17260
17261 2011-03-20  Bruno Haible  <bruno@clisp.org>
17262
17263         verror: Fix compilation error introduced on 2011-02-13.
17264         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17265         instead of __attribute__.
17266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17267
17268 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17269             Bruno Haible  <bruno@clisp.org>
17270
17271         socklen: do not depend on sys_socket
17272         While trying to modify Emacs to use gnulib's socklen module,
17273         I discovered a circular dependency: socklen depends on sys_socket
17274         and vice versa.  Emacs can use socklen, but it does not need
17275         sys_socket because it has its own substitute for sys/socket.h.
17276         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17277         gl_TYPE_SOCKLEN_T.
17278         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17279         gl_PREREQ_SYS_H_SOCKET.
17280         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17281         gl_PREREQ_SYS_H_SOCKET.
17282         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17283         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17284         * modules/socklen (Depends-on): Do not depend on sys_socket.
17285         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17286
17287 2011-03-20  Jim Meyering  <meyering@redhat.com>
17288
17289         maint.mk: sort file names *after* new transformation
17290         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17291         prefix would have led to an unwarranted failure in GNU parted.
17292         Sort after that transformation.
17293
17294 2011-03-19  Jim Meyering  <meyering@redhat.com>
17295
17296         maint.mk: fix po-file syntax-check rule
17297         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17298         Patch by Bruno Haible.
17299
17300 2011-03-19  Bruno Haible  <bruno@clisp.org>
17301
17302         socklen: Update comment.
17303         * m4/socklen.m4: Update comment about platforms.
17304
17305 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17306             Bruno Haible  <bruno@clisp.org>
17307
17308         inet_ntop, inet_pton: Simplify.
17309         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17310         documented to provide socklen_t and we already depend on sys_socket.
17311         * modules/inet_pton (Depends-on): Likewise.
17312         * lib/arpa_inet.in.h: Adjust comment.
17313
17314 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17315             Bruno Haible  <bruno@clisp.org>
17316
17317         netdb: Simplify.
17318         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17319         documented to provide socklen_t and we already depend on sys_socket.
17320         * lib/netdb.in.h: Adjust comment.
17321
17322 2011-03-19  Bruno Haible  <bruno@clisp.org>
17323
17324         sys_socket, netdb: Document problem with socklen_t.
17325         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17326         platforms.
17327         * doc/posix-headers/netdb.texi: Likewise.
17328
17329 2011-03-18  Eric Blake  <eblake@redhat.com>
17330
17331         maint.mk: let po check work in VPATH build
17332         * top/maint.mk (po_file): Allow cfg.mk override.
17333         (sc_po_check): Allow VPATH use.
17334         Reported by Jiri Denemark.
17335
17336 2011-03-16  Jim Meyering  <meyering@redhat.com>
17337
17338         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17339         Before, you would have had to create one .x-sc_ file per rule in order
17340         to exempt offending files.  Now, you may instead use a Make variable --
17341         usually defined in cfg.mk -- whose name identifies the affected rule.
17342         * top/maint.mk (_sc_excl): Define.
17343         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17344         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17345
17346 2011-03-13  Bruno Haible  <bruno@clisp.org>
17347
17348         ignore-value tests: Avoid warnings.
17349         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17350         empty for gcc < 3.4.
17351
17352 2011-03-13  Bruno Haible  <bruno@clisp.org>
17353
17354         passfd: Fix link error on Solaris.
17355         * modules/passfd (Description): Correct.
17356         (Depends-on): Add socketlib.
17357         (Link): New section.
17358         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17359
17360 2011-03-13  Bruno Haible  <bruno@clisp.org>
17361
17362         passfd: Fix link error on AIX 5.2.
17363         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17364
17365 2011-03-13  Bruno Haible  <bruno@clisp.org>
17366
17367         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17368         * lib/sys_socket.in.h: Include <stddef.h>.
17369         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17370         CMSG_FIRSTHDR. Remove unused variable.
17371
17372 2011-03-13  Bruno Haible  <bruno@clisp.org>
17373
17374         passfd: Fix compilation error on OpenBSD.
17375         * lib/passfd.c: Include <sys/uio.h>.
17376
17377 2011-03-13  Bruno Haible  <bruno@clisp.org>
17378
17379         passfd test: Fix warnings.
17380         * tests/test-passfd.c: Include <sys/wait.h>.
17381         (main): Fix typo.
17382
17383 2011-03-13  Bruno Haible  <bruno@clisp.org>
17384
17385         passfd module, part 4, tweaks.
17386         * tests/test-passfd.c: Reorder includes.
17387         (main): Fix perror and printf calls.
17388
17389 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17390
17391         passfd module, part 4.
17392         * modules/passfd-tests: New file.
17393         * tests/test-passfd.c: New file.
17394
17395 2011-03-13  Jim Meyering  <meyering@redhat.com>
17396
17397         Makefile: rely on GNU make; derive syntax-check rule names
17398         Rather than requiring that each sc_ rule be listed as a dependent
17399         of "check", use features of GNU make to derive the list.
17400         * Makefile (syntax-check-rules): Define.
17401         (check): Depend on the new variable, not the hard-coded list.
17402
17403 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17404             Bruno Haible  <bruno@clisp.org>
17405
17406         passfd module, part 3.
17407         * lib/passfd.h (recvfd): Add a flags argument.
17408         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17409         (recvfd): Add a flags argument.
17410         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17411         exists.
17412         * modules/passfd (Depends-on): Add cloexec.
17413         Suggested by Eric Blake.
17414
17415 2011-03-13  Bruno Haible  <bruno@clisp.org>
17416
17417         passfd module, part 2, tweaks.
17418         * modules/passfd (Files): Reorder.
17419         (Depends-on): Remove errno.
17420         (Include): Remove <sys/socket.h>, <sys/un.h>.
17421         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17422         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17423         specification header. Include <sys/socket.h> always. Don't include
17424         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17425         (sendfd): Clarify that it sets errno when it fails.
17426         (recvfd): Fix specification.
17427
17428 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17429
17430         passfd module, part 2.
17431         * modules/passfd: New file.
17432         * lib/passfd.h: New file.
17433         * lib/passfd.c: New file.
17434
17435 2011-03-12  Bruno Haible  <bruno@clisp.org>
17436
17437         wcswidth, mbswidth: Avoid integer overflow.
17438         * lib/wcswidth.c: Include <limits.h>.
17439         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17440         * lib/mbswidth.c: Include <limits.h>.
17441         (mbsnwidth): Avoid 'int' overflow.
17442         Reported by Jim Meyering.
17443
17444 2011-03-12  Bruno Haible  <bruno@clisp.org>
17445
17446         futimens, utimensat: Avoid endless recursion on Solaris 10.
17447         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17448         Solaris.
17449         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17450         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17451
17452 2011-03-11  Jim Meyering  <meyering@redhat.com>
17453
17454         maint.mk: relax a regexp to accommodate other formatting styles
17455         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17456         between "ngettext" and the following "(".
17457
17458 2011-03-11  Pádraig Brady <P@draigBrady.com>
17459
17460         maint.mk: suppress a false positive warning
17461         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17462         diagnostics are marked with ngettext.
17463
17464 2011-03-10  Eric Blake  <eblake@redhat.com>
17465
17466         wchar: add explicit dependencies, for Tru64
17467         * modules/mbmemcasecoll (Depends-on): Add wchar.
17468         * modules/mbtowc (Depends-on): Likewise.
17469         * modules/vasnprintf (Depends-on): Likewise.
17470         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17471         * modules/wctomb (Depends-on): Likewise.
17472         Reported by Peter O'Gorman.
17473
17474 2011-03-08  Bruno Haible  <bruno@clisp.org>
17475
17476         passfd module, part 1, tweaks.
17477         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17478         Improve indentation. Improve AC_MSG_CHECKING messages.
17479         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17480         gl_SOCKET_FAMILIES.
17481
17482 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17483
17484         passfd module, part 1.
17485         * m4/afunix.m4: New file.
17486         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17487         sockets.
17488
17489 2011-03-08  Bruno Haible  <bruno@clisp.org>
17490
17491         regex-quote: New API.
17492         * lib/regex-quote.h: Include <stdbool.h>.
17493         (struct regex_quote_spec): New type.
17494         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17495         New declarations.
17496         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17497         'const struct regex_quote_spec *' argument.
17498         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17499         (pcre_special): New constant.
17500         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17501         New functions.
17502         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17503         'const struct regex_quote_spec *' argument.
17504         * modules/regex-quote (Depends-on): Add stdbool.
17505         * tests/test-regex-quote.c (check): Update for new API. Add test for
17506         anchored results.
17507         * NEWS: Mention the API change.
17508         Reported by Reuben Thomas and Eric Blake.
17509
17510 2011-03-06  Bruno Haible  <bruno@clisp.org>
17511
17512         regex-quote: Fix creation of POSIX extended regular expressions.
17513         * lib/regex-quote.c (ere_special): Add grouping and alternation
17514         operators.
17515
17516 2011-03-05  Bruno Haible  <bruno@clisp.org>
17517
17518         doc: Improve doc regarding autopoint vs. gnulib.
17519         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17520         disable autopoint while running autoreconf.
17521         Suggested by Ralf Wildenhues.
17522
17523 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17524
17525         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17526         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17527
17528 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17529
17530         parse-duration: remove xalloc.h dependency
17531         * lib/parse-duration.c (parse_period): handle NULL return from
17532         strdup instead of calling xstrdup().
17533         * modules/parse-duration: remove "xalloc" dependency
17534
17535 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17536
17537         bootstrap: honor m4_base when running aclocal
17538         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17539
17540 2011-03-02  Jim Meyering  <meyering@redhat.com>
17541
17542         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17543         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17544         on request from Matt Booth.
17545
17546 2011-03-01  Eric Blake  <eblake@redhat.com>
17547
17548         test-link: work on Hurd
17549         * tests/test-link.h (test_link): Hurd rejects linking directories
17550         with EISDIR instead of the POSIX-mandated EPERM.
17551
17552 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17553
17554         stdio: simplify by moving files to printf-posix, sigpipe
17555         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17556         since this symbol is needed only if printf is replaced.
17557         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17558         Require gl_ASM_SYMBOL_PREFIX.
17559         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17560         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17561         (Depends-on): Add 'raise'.
17562         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17563         * modules/stdio (Files): Remove lib/stdio-write.c,
17564         m4/asm-underscore.m4.
17565         (Depends-on): Remove 'raise'.
17566
17567         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17568         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17569         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17570         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17571
17572 2011-02-28  Bruno Haible  <bruno@clisp.org>
17573
17574         localcharset: Assume ANSI C behaviour of free().
17575         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17576         calling free().
17577         Suggested by Simon Josefsson <simon@josefsson.org>.
17578
17579 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17580             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17581             Bruno Haible  <bruno@clisp.org>  (tiny change)
17582
17583         On Cygwin, use /proc file system instead of win32 API.
17584         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17585         Win32 file names.
17586         (DllMain): Simplify by removing Cygwin specific code.
17587         (find_shared_library_fullname): Use Linux specific implementation also
17588         for Cygwin.
17589         (get_shared_library_fullname): Update accordingly.
17590         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17591         Win32 file names.
17592         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17593         Cygwin specific code.
17594
17595 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17596             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17597
17598         Fix OpenMP flag detection for various Fortran compilers.
17599         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17600         OpenMP-conditional compilation construct, to force compile
17601         failure with missing OpenMP flag.
17602         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17603
17604 2011-02-25  Eric Blake  <eblake@redhat.com>
17605
17606         strstr: expand test coverage
17607         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17608         compilation.
17609         * tests/test-memmem.c (main): Duplicate tests.
17610         * tests/test-strcasestr.c (main): Likewise.
17611         * tests/test-c-strcasestr.c (main): Likewise.
17612
17613 2011-02-25  Jim Meyering  <meyering@redhat.com>
17614
17615         maint.mk: detect missing-NL-at-EOF, too
17616         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17617         it also detects when a file lacks a newline at EOF.
17618         (require_exactly_one_NL_at_EOF_): Renamed from
17619         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17620         since people may well have .x-sc_... file names tied to the
17621         existing name.  Suggested by Eric Blake.
17622
17623 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17624
17625         dirname: move m4/dos.m4 functionality into lib/dosname.h
17626
17627         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17628         extracts symbols from it, puts them into config.h; but it's much
17629         easier to use the symbols directly.  filename.h already does this,
17630         but it disagrees with dos.m4 in some respects.  This patch
17631         introduces a different include file dosname.h that packages up
17632         dos.m4, and then later we can work on merging filename.h and
17633         dosname.h.  Applications that need only the easy-to-configure
17634         symbols should consider including dosname.h rather than dirname.h.
17635         * NEWS: Mention incompatible changes.
17636         * m4/dos.m4: Remove.
17637         * lib/dosname.h, modules/dosname: New files.
17638         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17639         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17640         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17641         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17642         Include dosname.h, not dirname.h.
17643         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17644         Include dosname.h, for definitions of symbols like ISSLASH
17645         that used to be in config.h.
17646         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17647         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17648         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17649         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17650         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17651         * modules/rmdir (Files): Likewise.
17652         * modules/stat (Files): Likewise.
17653         * modules/unlink (Files): Likewise.
17654         * modules/dirname-lgpl (Depends-on): Add dosname.
17655         * modules/lstat (Depends-on): Likewise.
17656         * modules/openat (Depends-on): Likewise.
17657         * modules/rmdir (Depends-on): Likewise.
17658         * modules/savewd (Depends-on): Likewise.
17659         * modules/stat (Depends-on): Likewise.
17660         * modules/unlink (Depends-on): Likewise.
17661         * modules/openat (Depends-on): Remove dirname-lgpl.
17662         * modules/savewd (Depends-on): Likewise.
17663         * tests/test-dirname.c: Do not use removed symbols like
17664         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17665         the remaining symbols, e.g., ISSLASH ('\\').
17666
17667 2011-02-25  Eric Blake  <eblake@redhat.com>
17668
17669         strstr: revert patches that introduced bug and pessimization
17670         * lib/str-two-way.h: Add another reference.
17671         (two_way_short_needle, two_way_long_needle): Revert changes from
17672         2011-02-24; they pessimize search speed.
17673         (critical_factorization): Partially revert changes from
17674         2010-06-22; they violate the requirement that the left half of the
17675         needle be smaller than the period of the needle.
17676
17677 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17678
17679         filenamecat: remove unnecessary dependency on dirname-lgpl
17680         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17681         is no direct dependency, just an indirect one via filenamecat-lgpl.
17682
17683         remove: remove unnecessary use of m4/dos.m4
17684         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17685         * modules/remove (FILES): Remove m4/dos.m4.
17686
17687         * lib/openat-proc.c: Don't include dirname.h; not needed.
17688
17689         backupfile: remove unnecessary use of m4/dos.m4
17690         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17691         of its symbols are used by the backupfile code.  backupfile.c does
17692         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17693         for the rare case of programs that want all their backup file
17694         names to live within 8+3 limits, and dos.m4 doesn't address that.
17695         * modules/backupfile (Files): Remove m4/dos.m4.
17696
17697 2011-02-24  Jim Meyering  <meyering@redhat.com>
17698
17699         strstr: fix a bug whereby strstr would mistakenly return NULL
17700         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17701         in period calculation.
17702         (two_way_long_needle): Likewise.
17703         The original problem was reported by Mike Stump in
17704         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17705         Ralf Wildenhues provided the short needle and haystack.
17706         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17707         Add a more involved test to trigger the bug in two_way_long_needle.
17708
17709 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17710
17711         gnulib-tool: remove use of bold display in help screen
17712         * gnulib-tool (func_usage): Do not use bold display anymore in the
17713         help screen.  That was just meant to be a temporary emphasis for a
17714         backward-incompatible change.
17715
17716 2011-02-23  Bruno Haible  <bruno@clisp.org>
17717
17718         Fix misindentation of preprocessor directives.
17719         * lib/argp-namefrob.h: Reindent preprocessor directives.
17720         * lib/getopt_int.h (struct _getopt_data): Likewise.
17721         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17722         * lib/vasnprintf.c (decode_long_double): Likewise.
17723         * tests/test-argmatch.c: Insert blank lines, for clarity.
17724         * tests/test-exclude.c: Likewise.
17725
17726 2011-02-22  Bruno Haible  <bruno@clisp.org>
17727
17728         ioctl: Fix for MacOS X in 64-bit mode.
17729         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17730         value.
17731         Suggested by Eric Blake.
17732         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17733
17734 2011-02-22  Jim Meyering  <meyering@redhat.com>
17735
17736         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17737         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17738         in lib/.
17739
17740 2011-02-22  Eric Blake  <eblake@redhat.com>
17741
17742         maint: avoid any CDPATH issue
17743         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17744
17745         maint: adjust cpp indentation for my modules, as well
17746         * Makefile (sc_cpp_indent_check): Add my name.
17747         * lib/fbufmode.c: Filter through cppi.
17748         * lib/fpurge.c: Likewise.
17749         * lib/freadable.c: Likewise.
17750         * lib/freading.c: Likewise.
17751         * lib/fwritable.c: Likewise.
17752         * lib/fwriting.c: Likewise.
17753         * lib/sigaction.c: Likewise.
17754
17755 2011-02-22  Jim Meyering  <meyering@redhat.com>
17756
17757         maint: adjust cpp indentation to reflect nesting depth
17758         I.e., in a block of code that begins with an unnested "#if",
17759         put one space between the "#" in column 1 and following token.
17760         For example,
17761         -#include <sys/vfs.h>
17762         +# include <sys/vfs.h>
17763         Do this only in .c files that are part of a module I maintain.
17764         * lib/linkat.c: Filter through cppi.
17765         * lib/nanosleep.c: Likewise.
17766         * lib/openat.c: Likewise.
17767         * lib/openat-die.c: Likewise.
17768         * lib/dup3.c: Likewise.
17769         * lib/fchownat.c: Likewise.
17770         * lib/flock.c: Likewise.
17771         * lib/fsync.c: Likewise.
17772         * lib/fts.c: Likewise.
17773         * lib/getpass.c: Likewise.
17774         * lib/gettimeofday.c: Likewise.
17775         * lib/userspec.c: Likewise.
17776         * Makefile (sc_cpp_indent_check): New rule, to check this.
17777
17778 2011-02-22  Bruno Haible  <bruno@clisp.org>
17779
17780         New module 'wctomb'.
17781         * lib/stdlib.in.h (wctomb): New declaration.
17782         * lib/wctomb.c: New file.
17783         * lib/wctomb-impl.h: New file.
17784         * m4/wctomb.m4: New file.
17785         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17786         REPLACE_WCTOMB.
17787         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17788         REPLACE_WCTOMB.
17789         * modules/wctomb: New file.
17790         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17791         * doc/posix-functions/wctomb.texi: Mention the new module.
17792         * modules/wctob (Depends-on): Add wctomb.
17793
17794 2011-02-22  Bruno Haible  <bruno@clisp.org>
17795
17796         New module 'mbtowc'.
17797         * lib/stdlib.in.h (mbtowc): New declaration.
17798         * lib/mbtowc.c: New file.
17799         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
17800         * m4/mbtowc.m4: New file.
17801         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
17802         REPLACE_MBTOWC.
17803         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
17804         REPLACE_MBTOWC.
17805         * modules/mbtowc: New file.
17806         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
17807         * doc/posix-functions/mbtowc.texi: Mention the new module.
17808         * modules/btowc (Depends-on): Add mbtowc.
17809
17810 2011-02-22  Bruno Haible  <bruno@clisp.org>
17811
17812         wcrtomb: Add more tests for native Windows platforms.
17813         * tests/test-wcrtomb-w32-1.sh: New file.
17814         * tests/test-wcrtomb-w32-2.sh: New file.
17815         * tests/test-wcrtomb-w32-3.sh: New file.
17816         * tests/test-wcrtomb-w32-4.sh: New file.
17817         * tests/test-wcrtomb-w32-5.sh: New file.
17818         * tests/test-wcrtomb-w32.c: New file.
17819         * modules/wcrtomb-tests (Files): Add them.
17820         (Makefile.am): Arrange to run these tests.
17821         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17822         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17823
17824 2011-02-20  Bruno Haible  <bruno@clisp.org>
17825
17826         wcrtomb: Enhance test.
17827         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17828
17829 2011-02-20  Bruno Haible  <bruno@clisp.org>
17830
17831         mbrtowc: Tiny optimization.
17832         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17833
17834 2011-02-20  Jim Meyering  <meyering@redhat.com>
17835
17836         test-exclude.c: remove unmatched #endif
17837         * tests/test-exclude.c: Remove stray #endif, left over from
17838         the change of a week ago.
17839
17840 2011-02-19  Jim Meyering  <meyering@redhat.com>
17841
17842         git-version-gen: skip "-dirty" check when appropriate
17843         * build-aux/git-version-gen: Don't run any git commands when the
17844         version string comes from .tarball-version.  Prior to this, we
17845         would run git update-index --refresh even from a just-unpacked
17846         tarball directory, and that could affect a .git/ directory in a
17847         parent of the build directory.  Reported by Mike Frysinger.
17848
17849 2011-02-19  Bruno Haible  <bruno@clisp.org>
17850
17851         unictype/property-byname: Reduce the size of the 'data' segment.
17852         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17853
17854 2011-02-19  Bruno Haible  <bruno@clisp.org>
17855
17856         unictype/scripts: Reduce the size of the 'data' segment.
17857         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17858         '%pic'.
17859         * lib/unictype/scripts_byname.gperf: Regenerated.
17860
17861 2011-02-19  Bruno Haible  <bruno@clisp.org>
17862
17863         stdint: Update documentation.
17864         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17865
17866 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17867
17868         stdint: omit redundant check for wchar.h
17869         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17870         always tests whether wchar.h exists, so remove the now-redundant test.
17871
17872 2011-02-18  Bruno Haible  <bruno@clisp.org>
17873
17874         stdint: Cut dependency to module 'wchar'.
17875         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17876         include the necessary prerequisites.
17877         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17878         * modules/stdint (Depends-on): Remove wchar.
17879         (Makefile.am): Substitute HAVE_WCHAR_H.
17880         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17881
17882 2011-02-18  Eric Blake  <eblake@redhat.com>
17883
17884         longlong: skip, rather than fail, on cross-compilation
17885         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17886         when cross-compiling; regression from 2011-02-16.
17887
17888 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17889
17890         * NEWS: Mention 2011-02-08 change to stdlib.
17891
17892 2011-02-17  Bruno Haible  <bruno@clisp.org>
17893
17894         getloadavg: Add comments about platforms.
17895         * m4/getloadavg.m4: Add comment.
17896         * lib/getloadavg.c: Likewise.
17897
17898 2011-02-17  Bruno Haible  <bruno@clisp.org>
17899
17900         getloadavg: Fix link error on Solaris 2.6.
17901         * modules/getloadavg (Link): New section.
17902         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17903         linking test-getloadavg.
17904         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17905         getloadavg.
17906
17907 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17908
17909         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17910         It was 'int', but this doesn't match the IRIX 6.5 manual.
17911         Suggested by Bruno Haible in
17912         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17913
17914 2011-02-17  Bruno Haible  <bruno@clisp.org>
17915
17916         havelib: Fix comments.
17917         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
17918         change.
17919
17920 2011-02-17  Bruno Haible  <bruno@clisp.org>
17921
17922         havelib: Update config.rpath.
17923         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
17924
17925 2011-02-17  Bruno Haible  <bruno@clisp.org>
17926
17927         getloadavg test: Add some plausibility checks.
17928         * tests/test-getloadavg.c (check_avg): Print a warning when the value
17929         is improbable.
17930
17931 2011-02-16  Eric Blake  <eblake@redhat.com>
17932
17933         maintainer-makefile: make syntax-check a no-op from tarballs
17934         * top/maint.mk (no-vc-detected): New rule.
17935         (local-checks-available): Use it to avoid hanging if someone tries
17936         'make syntax-check' from a tarball.  Also append to any non-syntax
17937         checks already defined in cfg.mk.
17938
17939 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
17940
17941         longlong: tune, particularly for common case of c99
17942
17943         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
17944         or running anything if c99, or if unsigned long long int does not
17945         work.  In either case, we know the answer without further tests.
17946         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
17947         it at most once, and use its results for both long long int and
17948         unsigned long long int.  This is more likely to be efficient in
17949         the common case where the program wants to check for both long
17950         long int and unsigned long long int.
17951         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
17952         since the answer is already known.
17953
17954 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
17955
17956         getloadavg: set errno
17957         * lib/getloadavg.c: Set errno when returning -1.  If no other
17958         error number looks appropriate, set it to ENOSYS if the getloadavg
17959         looks like it can't possibly ever work, ENOTSUP otherwise.
17960         Suggested by Bruno Haible in
17961         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
17962
17963         getloadavg: trim unused parts and speed up 'configure'
17964         * NEWS: Document this.
17965         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
17966         always compiled if getloadavg is absent.
17967         Move test code to ...
17968         * tests/test-getloadavg.c: New file, containing previous
17969         contents of test from lib/getloadavg.c.  It also contains
17970         suggestions by Bruno Haible in
17971         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
17972         * modules/getloadavg-tests: New file.
17973         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
17974         Do tests in the same order as they're needed for getloadavg.c.
17975         Omit setgid-related tests that generate symbols KMEM_GROUP,
17976         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
17977         Do only the tests that are needed to see whether the system has
17978         getloadavg, moving the other tests into ...
17979         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
17980         NLIST_NAME_UNION; nobody should be using it.  Do not define
17981         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
17982         relevant, as the user of this module shouldn't care how getloadavg
17983         is implemented.
17984
17985         getloadavg: omit unused var
17986         * lib/getloadavg.c (getloadavg): Omit unused local variable.
17987
17988 2011-02-15  Jim Meyering  <meyering@redhat.com>
17989
17990         doc: update users.txt
17991         * users.txt: Update iwhd's URL.
17992
17993 2011-02-13  Bruno Haible  <bruno@clisp.org>
17994
17995         Consistent macro naming for macros that use GCC __attribute__.
17996         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
17997         _ATTRIBUTE_NONNULL_.
17998         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
17999         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18000         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18001         ATTRIBUTE_DEPRECATED.
18002         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18003         ATTRIBUTE_NORETURN.
18004         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18005         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18006         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18007         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18008         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18009         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18010         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18011         ATTRIBUTE_SENTINEL.
18012         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18013         ATTRIBUTE_RETURN_CHECK.
18014         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18015         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18016         ATTRIBUTE_NORETURN.
18017         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18018         Reported by Paul Eggert.
18019
18020 2011-02-13  Bruno Haible  <bruno@clisp.org>
18021
18022         Don't interfere with a program's definition of __attribute__.
18023         * lib/argp.h (__attribute__): Remove definition.
18024         (_GL_ATTRIBUTE_FORMAT): New macro.
18025         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18026         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18027         (_GL_ATTRIBUTE_FORMAT): New macro.
18028         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18029         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18030         GCC 3 or newer.
18031         * lib/error.h (__attribute__): Remove definition.
18032         (_GL_ATTRIBUTE_FORMAT): New macro.
18033         (error, error_at_line): Use it.
18034         * lib/hash.h (__attribute__): Remove definition.
18035         (ATTRIBUTE_WUR): Update definition. Define always.
18036         * lib/openat.h (__attribute__): Remove definition.
18037         (ATTRIBUTE_NORETURN): Update definition. Define always.
18038         * lib/sigpipe-die.h (__attribute__): Remove definition.
18039         (ATTRIBUTE_NORETURN): Update definition. Define always.
18040         * lib/vasnprintf.h (__attribute__): Remove definition.
18041         (_GL_ATTRIBUTE_FORMAT): New macro.
18042         (asnprintf, vasnprintf): Use it.
18043         * lib/xalloc.h (__attribute__): Remove definition.
18044         (ATTRIBUTE_NORETURN): Update definition. Define always.
18045         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18046         * lib/xmemdup0.h (__attribute__): Remove definition.
18047         (ATTRIBUTE_NORETURN): Update definition. Define always.
18048         * lib/xprintf.h (__attribute__): Remove definition.
18049         (_GL_ATTRIBUTE_FORMAT): New macro.
18050         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18051         * lib/xstrtol.h (__attribute__): Remove definition.
18052         (ATTRIBUTE_NORETURN): Update definition. Define always.
18053         * lib/xvasprintf.h (__attribute__): Remove definition.
18054         (_GL_ATTRIBUTE_FORMAT): New macro.
18055         (xasprintf, xvasprintf): Use it.
18056         * tests/test-argmatch.c (__attribute__): Remove definition.
18057         (ATTRIBUTE_NORETURN): Update definition. Define always.
18058         * tests/test-exclude.c (__attribute__): Remove definition.
18059         (ATTRIBUTE_NORETURN): Update definition. Define always.
18060         Reported by Paul Eggert.
18061
18062 2011-02-13  Bruno Haible  <bruno@clisp.org>
18063
18064         mbrtowc: Add more tests for native Windows platforms.
18065         * tests/test-mbrtowc-w32-1.sh: New file.
18066         * tests/test-mbrtowc-w32-2.sh: New file.
18067         * tests/test-mbrtowc-w32-3.sh: New file.
18068         * tests/test-mbrtowc-w32-4.sh: New file.
18069         * tests/test-mbrtowc-w32-5.sh: New file.
18070         * tests/test-mbrtowc-w32.c: New file.
18071         * modules/mbrtowc-tests (Files): Add them.
18072         (Makefile.am): Arrange to run these tests.
18073         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18074         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18075
18076 2011-02-13  Bruno Haible  <bruno@clisp.org>
18077
18078         mbrtowc: Work around native Windows bug.
18079         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18080         guess when no suitable locale for testing was found.
18081         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18082
18083 2011-02-13  Bruno Haible  <bruno@clisp.org>
18084
18085         mbsinit: Work around mingw bug.
18086         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18087         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18088         Windows.
18089         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18090
18091 2011-02-13  Bruno Haible  <bruno@clisp.org>
18092
18093         mbsinit: Don't crash for a NULL argument.
18094         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18095         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18096
18097 2011-02-13  Bruno Haible  <bruno@clisp.org>
18098
18099         Don't interfere with a program's definition of __attribute__.
18100         * lib/stdio.in.h (__attribute__): Remove definition.
18101         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18102         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18103         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18104         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18105         * lib/string.in.h (__attribute__): Remove definition.
18106         Reported by Paul Eggert.
18107
18108 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18109
18110         stdlib: don't get in the way of non-GCC __attribute__
18111         See thread starting at
18112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18113         Revert previous stdlib change, installing the following instead:
18114         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18115         to get in the way of a non-GCC compiler that supports __attribute__.
18116         (_GL_ATTRIBUTE_RETURN): New macro.
18117         (_Exit): Use it instead of __attribute__.
18118
18119 2011-02-12  Bruno Haible  <bruno@clisp.org>
18120
18121         quotearg test: Avoid test failure on mingw.
18122         * tests/test-quotearg.sh: Convert the locale identifier from native
18123         Windows syntax to Unix syntax.
18124
18125 2011-02-12  Bruno Haible  <bruno@clisp.org>
18126
18127         setlocale: Prefer gnulib's override over libintl's override.
18128         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18129         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18130         GNULIB_defined_setlocale is set.
18131
18132 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18133
18134         stdlib: support non-GCC __attribute__
18135
18136         Fix a serious and tricky problem encountered when attempting to
18137         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18138         5.5, but it crashed due to memory corruption on Solaris 10 with
18139         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18140         bits that are otherwise zero.  This tagging is optional inside
18141         Emacs but is preferred and is used when __attribute__ ((__aligned
18142         (8))) works, as it does with both recent-enough GCC and with Sun C
18143         5.11.  However, Sun C 5.11 is not GCC and does not #define
18144         __GNUC__ and __GNUC_MINOR__.
18145
18146         When I added the getloadavg module to Emacs, it brought in
18147         stdlib.in.h, which contained this fragment:
18148
18149            #ifndef __attribute__
18150            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18151            #  define __attribute__(Spec)   /* empty */
18152            # endif
18153            #endif
18154
18155         When files that include <stdlib.h> were compiled with Sun C 5.11,
18156         the above code disabled __attribute__ ((__aligned (8))), which
18157         caused variables to not be properly aligned, which eventually led
18158         to the pointer corruption mentioned above.  (This was a bit hard
18159         to diagnose, unfortunately.)
18160
18161         Several "#define __attribute__(X) /* empty */" code snippets need
18162         to be eradicated from Gnulib to work with non-GCC compilers that
18163         support __attribute__.  The Autoconf way to do this is to test for
18164         each kind of attribute that we want support for, and selectively
18165         enable that in source code.
18166
18167         Fix this problem just for stdlib.h, by adding a test for the
18168         __noreturn__ attribute, and change stdlib.in.h to use that test
18169         when needed.  This technique can be easily generalized to the
18170         other *.in.h files and attributes, and a similar technique can be
18171         used for *.h and *.c files.  This patch is enough to solve the
18172         problem for Emacs + getloadavg, and I thought I'd publish it for
18173         feedback before undertaking further, similar fixes in other
18174         modules.
18175
18176         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18177         because it's not needed for stdlib.h.  It merely substitutes the
18178         value directly into stdlib.h.  We may well need to #define it, or
18179         similar symbols, for other modules, but it's nice to also have an
18180         option to not #define it for applications like Emacs that do not
18181         need it.
18182
18183         * lib/stdlib.in.h (__attribute__): Do not #define.
18184         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18185         be defined only if the _Exit module is also used.
18186         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18188         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18189         platforms.
18190         * modules/_Exit (Files): Add m4/attribute.m4.
18191         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18192         * m4/attribute.m4: New file.
18193
18194 2011-02-12  Bruno Haible  <bruno@clisp.org>
18195
18196         wcsrtombs: Work around bug on native Windows.
18197         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18198         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18199         instead of len.
18200         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18201
18202 2011-02-12  Bruno Haible  <bruno@clisp.org>
18203
18204         mbsrtowcs: Work around bug on native Windows.
18205         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18206         against mingw bug.
18207         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18208
18209 2011-02-12  Bruno Haible  <bruno@clisp.org>
18210
18211         Avoid setlocale bugs in tests.
18212         * modules/btowc (Dependencies): Add setlocale.
18213         * modules/c-strcase (Dependencies): Likewise.
18214         * modules/mbmemcasecmp (Dependencies): Likewise.
18215         * modules/mbmemcasecoll (Dependencies): Likewise.
18216         * modules/mbrtowc (Dependencies): Likewise.
18217         * modules/mbscasecmp (Dependencies): Likewise.
18218         * modules/mbscasestr (Dependencies): Likewise.
18219         * modules/mbschr (Dependencies): Likewise.
18220         * modules/mbscspn (Dependencies): Likewise.
18221         * modules/mbsinit (Dependencies): Likewise.
18222         * modules/mbsncasecmp (Dependencies): Likewise.
18223         * modules/mbsnrtowcs (Dependencies): Likewise.
18224         * modules/mbspbrk (Dependencies): Likewise.
18225         * modules/mbspcasecmp (Dependencies): Likewise.
18226         * modules/mbsrchr (Dependencies): Likewise.
18227         * modules/mbsrtowcs (Dependencies): Likewise.
18228         * modules/mbsspn (Dependencies): Likewise.
18229         * modules/mbsstr (Dependencies): Likewise.
18230         * modules/nl_langinfo (Dependencies): Likewise.
18231         * modules/quotearg (Dependencies): Likewise.
18232         * modules/unicase/locale-language (Dependencies): Likewise.
18233         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18234         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18235         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18236         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18237         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18238         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18239         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18240         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18241         * modules/vasnprintf-posix (Dependencies): Likewise.
18242         * modules/wcrtomb (Dependencies): Likewise.
18243         * modules/wcsnrtombs (Dependencies): Likewise.
18244         * modules/wcsrtombs (Dependencies): Likewise.
18245
18246 2011-02-12  Bruno Haible  <bruno@clisp.org>
18247
18248         setlocale: Workaround native Windows bug.
18249         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18250         succeeds but sets LC_CTYPE to "C", report a failure.
18251         * tests/test-setlocale2.sh: New file.
18252         * tests/test-setlocale2.c: New file.
18253         * modules/setlocale-tests (Files): Add the new files.
18254         (Makefile.am): Enable test-setlocale2.sh test.
18255         * doc/posix-functions/setlocale.texi: Mention workaround.
18256
18257 2011-02-11  Bruno Haible  <bruno@clisp.org>
18258
18259         Tests for module 'setlocale'.
18260         * modules/setlocale-tests: New file.
18261         * tests/test-setlocale1.sh: New file.
18262         * tests/test-setlocale1.c: New file.
18263
18264         New module 'setlocale'.
18265         * lib/locale.in.h (setlocale): New declaration.
18266         * lib/setlocale.c: New file, based on
18267         gettext/gettext-runtime/intl/setlocale.c.
18268         * m4/setlocale.m4: New file.
18269         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18270         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18271         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18272         REPLACE_SETLOCALE.
18273         * modules/setlocale: New file.
18274         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18275         * doc/posix-functions/setlocale.texi: Mention the new module.
18276
18277 2011-02-11  Bruno Haible  <bruno@clisp.org>
18278
18279         Prepare for locale dependent tests on mingw.
18280         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18281         because it has the wrong locale encoding.
18282         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18283         French_France.1252 instead of "fr".
18284         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18285         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18286         because it has the wrong locale encoding.
18287         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18288         native Windows, try Turkish_Turkey.65001.
18289         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18290         Chinese_China.54936.
18291
18292         Prepare for locale dependent tests on mingw.
18293         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18294         differently.
18295         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18296         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18297         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18298         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18299
18300 2011-02-11  Eric Blake  <eblake@redhat.com>
18301
18302         strptime: avoid compiler warnings
18303         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18304         compiler warnings about dead code.
18305         Reported by Daniel P. Berrange.
18306
18307 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18308
18309         doc: update users.txt
18310         * users.txt: Add rcs.
18311
18312 2011-02-10  John W. Eaton  <jwe@gnu.org>
18313
18314         doc: update users.txt
18315         * users.txt: Add octave.
18316
18317 2011-02-10  Jim Meyering  <meyering@redhat.com>
18318
18319         doc: update users.txt
18320         * users.txt: Add iwhd.
18321
18322 2011-02-09  Bruno Haible  <bruno@clisp.org>
18323
18324         gnulib-tool: Make copyright notice adjustment more robust.
18325         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18326         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18327         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18328         License".
18329         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18330
18331 2011-02-06  Bruno Haible  <bruno@clisp.org>
18332
18333         New module 'towctrans'.
18334         * modules/towctrans: New file.
18335         * lib/wctype.in.h (towctrans): New declaration.
18336         * lib/towctrans.c: New file.
18337         * lib/towctrans-impl.h: New file.
18338         * m4/towctrans.m4: New file.
18339         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18340         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18341         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18342         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18343         * doc/posix-functions/towctrans.texi: Mention the new module.
18344
18345 2011-02-06  Bruno Haible  <bruno@clisp.org>
18346
18347         New module 'wctrans'.
18348         * modules/wctrans: New file.
18349         * lib/wctype.in.h (wctrans): New declaration.
18350         * lib/wctrans.c: New file.
18351         * lib/wctrans-impl.h: New file.
18352         * m4/wctrans.m4: New file.
18353         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18354         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18355         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18356         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18357         * doc/posix-functions/wctrans.texi: Mention the new module.
18358
18359 2011-02-06  Bruno Haible  <bruno@clisp.org>
18360
18361         New module 'iswctype'.
18362         * modules/iswctype: New file.
18363         * lib/wctype.in.h (iswctype): New declaration.
18364         * lib/iswctype.c: New file.
18365         * lib/iswctype-impl.h: New file.
18366         * m4/iswctype.m4: New file.
18367         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18368         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18369         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18370         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18371         * doc/posix-functions/iswctype.texi: Mention the new module and the
18372         HP-UX 11.00 problem.
18373
18374 2011-02-06  Bruno Haible  <bruno@clisp.org>
18375
18376         New module 'wctype'.
18377         * modules/wctype: Change to represent the wctype() substitute.
18378         * lib/wctype.in.h (wctype): New declaration.
18379         * lib/wctype.c: New file.
18380         * lib/wctype-impl.h: New file.
18381         * m4/wctype.m4: New file.
18382         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18383         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18384         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18385         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18386         * doc/posix-functions/wctype.texi: Mention the new module and the
18387         HP-UX 11.00 problem.
18388
18389 2011-02-06  Bruno Haible  <bruno@clisp.org>
18390
18391         wctype-h: Ensure wctype_t and wctrans_t are defined.
18392         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18393         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18394         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18395         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18396         HAVE_WCTRANS_T.
18397         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18398
18399 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18400
18401         flock: fix license typo
18402
18403         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18404         omitted.
18405
18406 2011-02-08  Bruno Haible  <bruno@clisp.org>
18407
18408         Split large sed scripts, for HP-UX sed.
18409         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18410         to avoid HP-UX limit of 99 commands, in the near future.
18411         * modules/stdlib (Makefile.am): Likewise.
18412         * modules/unistd (Makefile.am): Likewise.
18413         * modules/wchar (Makefile.am): Likewise.
18414         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18415         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18416         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18417
18418 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18419             Bruno Haible  <bruno@clisp.org>
18420
18421         stdlib: improve random_r modularization
18422         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18423         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18424         you also need the random_r module to get this material right.
18425         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18426         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18427         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18428
18429 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18430
18431         stdlib: don't depend on stdint
18432         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18433         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18434         be independent of whether stdint.h is needed.
18435         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18436         here, instead of ...
18437         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18438         struct random_data should be using the random_r module, not just
18439         the stdlib module (which wouldn't make sense: what package needs
18440         just struct random_data without also needing random_r?).
18441         * modules/stdlib (Depends-on): Remove stdint.
18442
18443         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18444         See the thread rooted at
18445         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18446         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18447         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18448         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18449         __VMS)); previously it was always included (via fcntl--.h).
18450         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18451         hand; this is good enough for load averages.  Also, do not use
18452         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18453         flags directly if available and don't bother otherwise.  (Packages
18454         that need the extra reliability should use the modules that define
18455         these flags on older platforms that lack them.)
18456         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18457         fcntl-safer.
18458
18459 2011-02-08  Jim Meyering  <meyering@redhat.com>
18460
18461         di-set.h, ino-map.h: add multiple-inclusion guard
18462         Technically, the guard is required only for ino-map.h, due to its
18463         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18464         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18465         * lib/ino-map.h: Likewise.
18466
18467 2011-02-06  Bruno Haible  <bruno@clisp.org>
18468
18469         iswblank: Ensure declaration on glibc systems.
18470         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18471         * modules/iswblank (Dependencies): Add 'extensions'.
18472         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18473
18474 2011-02-06  Bruno Haible  <bruno@clisp.org>
18475
18476         New module 'iswblank'.
18477         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18478         * modules/iswblank: New file.
18479         * modules/wctype-h (Files): Remove lib/iswblank.c.
18480         (Makefile.am): Substitute GNULIB_ISWBLANK.
18481         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18482         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18483         (gl_WCTYPE_H_DEFAULTS): New macro.
18484         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18485         * modules/iswblank-tests: New file.
18486         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18487         * tests/test-wctype-h.c (main): Remove iswblank tests.
18488         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18489         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18490         of 'wctype-h'.
18491         * NEWS: Mention the change.
18492         * modules/mbchar (Depends-on): Add iswblank.
18493
18494 2011-02-08  Bruno Haible  <bruno@clisp.org>
18495
18496         di-set tests: Refactor.
18497         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18498         unnecessary includes.
18499         (ASSERT): Remove macro.
18500         (main): Make C90 compliant by avoiding variable declaration after
18501         statement.
18502         * modules/di-set-tests (Files): Add tests/macros.h.
18503
18504 2011-02-08  Bruno Haible  <bruno@clisp.org>
18505
18506         ino-map tests: Refactor.
18507         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18508         unnecessary includes.
18509         (ASSERT): Remove macro.
18510         (main): Make C90 compliant by avoiding variable declaration after
18511         statement.
18512         * modules/ino-map-tests (Files): Add tests/macros.h.
18513
18514 2011-02-08  Jim Meyering  <meyering@redhat.com>
18515
18516         di-set: add "const" to a cast
18517         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18518         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18519
18520 2011-02-06  Bruno Haible  <bruno@clisp.org>
18521
18522         Rename module 'wctype' to 'wctype-h'.
18523         * modules/wctype-h: Renamed from modules/wctype.
18524         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18525         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18526         (Files, Depends-on, Makefile.am): Update.
18527         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18528         (Files, Makefile.am): Update.
18529         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18530         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18531         * doc/posix-headers/wctype.texi: Update.
18532         * doc/posix-functions/iswalnum.texi: Update.
18533         * doc/posix-functions/iswalpha.texi: Update.
18534         * doc/posix-functions/iswblank.texi: Update.
18535         * doc/posix-functions/iswcntrl.texi: Update.
18536         * doc/posix-functions/iswdigit.texi: Update.
18537         * doc/posix-functions/iswgraph.texi: Update.
18538         * doc/posix-functions/iswlower.texi: Update.
18539         * doc/posix-functions/iswprint.texi: Update.
18540         * doc/posix-functions/iswpunct.texi: Update.
18541         * doc/posix-functions/iswspace.texi: Update.
18542         * doc/posix-functions/iswupper.texi: Update.
18543         * doc/posix-functions/iswxdigit.texi: Update.
18544         * doc/posix-functions/towlower.texi: Update.
18545         * doc/posix-functions/towupper.texi: Update.
18546         * NEWS: Mention the change.
18547         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18548         * modules/mbchar (Dependencies): Likewise.
18549         * modules/mbswidth (Dependencies): Likewise.
18550         * modules/quotearg (Dependencies): Likewise.
18551         * modules/regex (Dependencies): Likewise.
18552         * modules/wcscasecmp (Dependencies): Likewise.
18553         * modules/wcsncasecmp (Dependencies): Likewise.
18554         * modules/wcwidth (Dependencies): Likewise.
18555
18556 2011-02-06  Bruno Haible  <bruno@clisp.org>
18557
18558         New module 'wcswidth'.
18559         * modules/wcswidth: New file.
18560         * lib/wchar.in.h (wcswidth): New declaration.
18561         * lib/wcswidth.c: New file.
18562         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18563         * m4/wcswidth.m4: New file.
18564         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18565         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18566         REPLACE_WCSWIDTH.
18567         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18568         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18569         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18570         * doc/posix-functions/wcswidth.texi: Mention the new module.
18571
18572 2011-02-06  Bruno Haible  <bruno@clisp.org>
18573
18574         New module 'wcstok'.
18575         * modules/wcstok: New file.
18576         * lib/wchar.in.h (wcstok): New declaration.
18577         * lib/wcstok.c: New file.
18578         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18579         * m4/wcstok.m4: New file.
18580         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18581         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18582         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18583         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18584         * doc/posix-functions/wcstok.texi: Mention the new module.
18585
18586 2011-02-06  Bruno Haible  <bruno@clisp.org>
18587
18588         New module 'wcsstr'.
18589         * modules/wcsstr: New file.
18590         * lib/wchar.in.h (wcsstr): New declaration.
18591         * lib/wcsstr.c: New file.
18592         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18593         * m4/wcsstr.m4: New file.
18594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18596         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18597         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18598         * doc/posix-functions/wcsstr.texi: Mention the new module.
18599
18600 2011-02-06  Bruno Haible  <bruno@clisp.org>
18601
18602         New module 'wcspbrk'.
18603         * modules/wcspbrk: New file.
18604         * lib/wchar.in.h (wcspbrk): New declaration.
18605         * lib/wcspbrk.c: New file.
18606         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18607         * m4/wcspbrk.m4: New file.
18608         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18609         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18610         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18611         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18612         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18613
18614 2011-02-06  Bruno Haible  <bruno@clisp.org>
18615
18616         New module 'wcsspn'.
18617         * modules/wcsspn: New file.
18618         * lib/wchar.in.h (wcsspn): New declaration.
18619         * lib/wcsspn.c: New file.
18620         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18621         * m4/wcsspn.m4: New file.
18622         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18623         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18624         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18625         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18626         * doc/posix-functions/wcsspn.texi: Mention the new module.
18627
18628 2011-02-06  Bruno Haible  <bruno@clisp.org>
18629
18630         New module 'wcscspn'.
18631         * modules/wcscspn: New file.
18632         * lib/wchar.in.h (wcscspn): New declaration.
18633         * lib/wcscspn.c: New file.
18634         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18635         * m4/wcscspn.m4: New file.
18636         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18637         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18638         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18639         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18640         * doc/posix-functions/wcscspn.texi: Mention the new module.
18641
18642 2011-02-06  Bruno Haible  <bruno@clisp.org>
18643
18644         New module 'wcsrchr'.
18645         * modules/wcsrchr: New file.
18646         * lib/wchar.in.h (wcsrchr): New declaration.
18647         * lib/wcsrchr.c: New file.
18648         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18649         * m4/wcsrchr.m4: New file.
18650         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18651         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18652         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18653         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18654         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18655
18656 2011-02-06  Bruno Haible  <bruno@clisp.org>
18657
18658         New module 'wcschr'.
18659         * modules/wcschr: New file.
18660         * lib/wchar.in.h (wcschr): New declaration.
18661         * lib/wcschr.c: New file.
18662         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18663         * m4/wcschr.m4: New file.
18664         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18665         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18666         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18667         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18668         * doc/posix-functions/wcschr.texi: Mention the new module.
18669
18670 2011-02-06  Bruno Haible  <bruno@clisp.org>
18671
18672         New module 'wcsdup'.
18673         * modules/wcsdup: New file.
18674         * lib/wchar.in.h (wcsdup): New declaration.
18675         * lib/wcsdup.c: New file.
18676         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18677         * m4/wcsdup.m4: New file.
18678         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18679         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18680         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18681         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18682         * doc/posix-functions/wcsdup.texi: Mention the new module.
18683
18684 2011-02-06  Bruno Haible  <bruno@clisp.org>
18685
18686         New module 'wcsxfrm'.
18687         * modules/wcsxfrm: New file.
18688         * lib/wchar.in.h (wcsxfrm): New declaration.
18689         * lib/wcsxfrm.c: New file.
18690         * lib/wcsxfrm-impl.h: New file.
18691         * m4/wcsxfrm.m4: New file.
18692         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18693         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18694         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18695         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18696         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18697
18698 2011-02-06  Bruno Haible  <bruno@clisp.org>
18699
18700         New module 'wcscoll'.
18701         * modules/wcscoll: New file.
18702         * lib/wchar.in.h (wcscoll): New declaration.
18703         * lib/wcscoll.c: New file.
18704         * lib/wcscoll-impl.h: New file.
18705         * m4/wcscoll.m4: New file.
18706         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18707         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18708         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18709         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18710         * doc/posix-functions/wcscoll.texi: Mention the new module.
18711
18712 2011-02-06  Bruno Haible  <bruno@clisp.org>
18713
18714         New module 'wcsncasecmp'.
18715         * modules/wcsncasecmp: New file.
18716         * lib/wchar.in.h (wcsncasecmp): New declaration.
18717         * lib/wcsncasecmp.c: New file.
18718         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18719         * m4/wcsncasecmp.m4: New file.
18720         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18721         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18722         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18723         HAVE_WCSNCASECMP.
18724         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18725         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18726
18727 2011-02-06  Bruno Haible  <bruno@clisp.org>
18728
18729         New module 'wcscasecmp'.
18730         * modules/wcscasecmp: New file.
18731         * lib/wchar.in.h (wcscasecmp): New declaration.
18732         * lib/wcscasecmp.c: New file.
18733         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18734         * m4/wcscasecmp.m4: New file.
18735         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18736         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18737         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18738         HAVE_WCSCASECMP.
18739         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18740         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18741
18742 2011-02-05  Bruno Haible  <bruno@clisp.org>
18743
18744         New module 'wcsncmp'.
18745         * modules/wcsncmp: New file.
18746         * lib/wchar.in.h (wcsncmp): New declaration.
18747         * lib/wcsncmp.c: New file.
18748         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18749         * m4/wcsncmp.m4: New file.
18750         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18751         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18752         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18753         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18754         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18755
18756 2011-02-05  Bruno Haible  <bruno@clisp.org>
18757
18758         New module 'wcscmp'.
18759         * modules/wcscmp: New file.
18760         * lib/wchar.in.h (wcscmp): New declaration.
18761         * lib/wcscmp.c: New file.
18762         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18763         * m4/wcscmp.m4: New file.
18764         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18765         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18766         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18767         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18768         * doc/posix-functions/wcscmp.texi: Mention the new module.
18769
18770 2011-02-05  Bruno Haible  <bruno@clisp.org>
18771
18772         New module 'wcsncat'.
18773         * modules/wcsncat: New file.
18774         * lib/wchar.in.h (wcsncat): New declaration.
18775         * lib/wcsncat.c: New file.
18776         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18777         * m4/wcsncat.m4: New file.
18778         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18779         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18780         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18781         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18782         * doc/posix-functions/wcsncat.texi: Mention the new module.
18783
18784 2011-02-05  Bruno Haible  <bruno@clisp.org>
18785
18786         New module 'wcscat'.
18787         * modules/wcscat: New file.
18788         * lib/wchar.in.h (wcscat): New declaration.
18789         * lib/wcscat.c: New file.
18790         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18791         * m4/wcscat.m4: New file.
18792         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18793         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18794         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18795         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18796         * doc/posix-functions/wcscat.texi: Mention the new module.
18797
18798 2011-02-05  Bruno Haible  <bruno@clisp.org>
18799
18800         New module 'wcpncpy'.
18801         * modules/wcpncpy: New file.
18802         * lib/wchar.in.h (wcpncpy): New declaration.
18803         * lib/wcpncpy.c: New file.
18804         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
18805         * m4/wcpncpy.m4: New file.
18806         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
18807         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
18808         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
18809         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
18810         * doc/posix-functions/wcpncpy.texi: Mention the new module.
18811
18812 2011-02-05  Bruno Haible  <bruno@clisp.org>
18813
18814         New module 'wcsncpy'.
18815         * modules/wcsncpy: New file.
18816         * lib/wchar.in.h (wcsncpy): New declaration.
18817         * lib/wcsncpy.c: New file.
18818         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18819         * m4/wcsncpy.m4: New file.
18820         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18821         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18822         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18823         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18824         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18825
18826 2011-02-05  Bruno Haible  <bruno@clisp.org>
18827
18828         New module 'wcpcpy'.
18829         * modules/wcpcpy: New file.
18830         * lib/wchar.in.h (wcpcpy): New declaration.
18831         * lib/wcpcpy.c: New file.
18832         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18833         * m4/wcpcpy.m4: New file.
18834         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18835         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18836         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18837         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18838         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18839
18840 2011-02-05  Bruno Haible  <bruno@clisp.org>
18841
18842         New module 'wcscpy'.
18843         * modules/wcscpy: New file.
18844         * lib/wchar.in.h (wcscpy): New declaration.
18845         * lib/wcscpy.c: New file.
18846         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18847         * m4/wcscpy.m4: New file.
18848         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18849         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18850         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18851         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18852         * doc/posix-functions/wcscpy.texi: Mention the new module.
18853
18854 2011-02-05  Bruno Haible  <bruno@clisp.org>
18855
18856         New module 'wcsnlen'.
18857         * modules/wcsnlen: New file.
18858         * lib/wchar.in.h (wcsnlen): New declaration.
18859         * lib/wcsnlen.c: New file.
18860         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18861         * m4/wcsnlen.m4: New file.
18862         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18863         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18864         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18865         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18866         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18867
18868 2011-02-05  Bruno Haible  <bruno@clisp.org>
18869
18870         New module 'wcslen'.
18871         * modules/wcslen: New file.
18872         * lib/wchar.in.h (wcslen): New declaration.
18873         * lib/wcslen.c: New file.
18874         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18875         * m4/wcslen.m4: New file.
18876         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18877         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18878         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18879         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18880         * doc/posix-functions/wcslen.texi: Mention the new module.
18881
18882 2011-02-05  Bruno Haible  <bruno@clisp.org>
18883
18884         New module 'wmemset'.
18885         * modules/wmemset: New file.
18886         * lib/wchar.in.h (wmemset): New declaration.
18887         * lib/wmemset.c: New file.
18888         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18889         * m4/wmemset.m4: New file.
18890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18892         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18893         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18894         * doc/posix-functions/wmemset.texi: Mention the new module.
18895
18896 2011-02-05  Bruno Haible  <bruno@clisp.org>
18897
18898         New module 'wmemmove'.
18899         * modules/wmemmove: New file.
18900         * lib/wchar.in.h (wmemmove): New declaration.
18901         * lib/wmemmove.c: New file.
18902         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18903         * m4/wmemmove.m4: New file.
18904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18906         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18907         HAVE_WMEMMOVE.
18908         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18909         * doc/posix-functions/wmemmove.texi: Mention the new module.
18910
18911 2011-02-05  Bruno Haible  <bruno@clisp.org>
18912
18913         New module 'wmemcpy'.
18914         * modules/wmemcpy: New file.
18915         * lib/wchar.in.h (wmemcpy): New declaration.
18916         * lib/wmemcpy.c: New file.
18917         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
18918         * m4/wmemcpy.m4: New file.
18919         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
18920         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
18921         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
18922         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
18923         * doc/posix-functions/wmemcpy.texi: Mention the new module.
18924
18925 2011-02-05  Bruno Haible  <bruno@clisp.org>
18926
18927         New module 'wmemcmp'.
18928         * modules/wmemcmp: New file.
18929         * lib/wchar.in.h (wmemcmp): New declaration.
18930         * lib/wmemcmp.c: New file.
18931         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
18932         * m4/wmemcmp.m4: New file.
18933         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
18934         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
18935         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
18936         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
18937         * doc/posix-functions/wmemcmp.texi: Mention the new module.
18938
18939 2011-02-07  Jim Meyering  <meyering@redhat.com>
18940
18941         di-set, ino-map: new modules, from coreutils
18942         * lib/di-set.c: New file.
18943         * lib/di-set.h: Likewise.
18944         * lib/ino-map.c: Likewise.
18945         * lib/ino-map.h: Likewise.
18946         * modules/di-set: Likewise.
18947         * modules/di-set-tests: Likewise.
18948         * modules/ino-map: Likewise.
18949         * modules/ino-map-tests: Likewise.
18950         * tests/test-di-set.c: Likewise.
18951         * tests/test-ino-map.c: Likewise.
18952
18953 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18954
18955         getloadavg: merge minor changes from Emacs
18956
18957         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
18958         (getloadavg): Use memset, not bzero.
18959
18960         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
18961         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
18962         clash (bug#86).
18963
18964 2010-11-14  Bruno Haible  <bruno@clisp.org>
18965
18966         Allow multiple gnulib generated replacements to coexist.
18967         * lib/getopt.in.h (struct option): Avoid identical redefinition.
18968         * lib/inttypes.in.h (imaxdiv_t): Likewise.
18969         * lib/langinfo.in.h (nl_item): Likewise.
18970         * lib/math.in.h (_NaN, NAN): Likewise.
18971         * lib/netdb.in.h (struct addrinfo): Likewise.
18972         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
18973         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
18974         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
18975         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
18976         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
18977         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
18978         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
18979         pthread_mutexattr_init, pthread_mutexattr_settype,
18980         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
18981         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
18982         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
18983         pthread_spin_trylock, pthread_spin_unlock): Likewise.
18984         * lib/sched.in.h (struct sched_param): Likewise.
18985         * lib/se-selinux.in.h (security_class_t, security_context_t,
18986         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
18987         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
18988         lsetfilecon, fsetfilecon, security_check_context,
18989         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
18990         Likewise.
18991         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
18992         Likewise.
18993         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
18994         _gl_function_taking_int_returning_void_t, union sigval,
18995         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
18996         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
18997         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18998         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
18999         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19000         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19001         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19002         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19003         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19004         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19005         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19006         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19007         socklen_t, rpl_fd_isset): Likewise.
19008         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19009         * lib/sys_time.in.h (struct timeval): Likewise.
19010         * lib/sys_times.in.h (struct tms): Likewise.
19011         * lib/sys_utsname.in.h (struct utsname):
19012         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19013         * lib/unistd.in.h (getpagesize): Likewise.
19014         * lib/wchar.in.h (mbstate_t): Likewise.
19015         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19016         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19017         towlower, towupper): Likewise.
19018         Reported by Sam Steingold <sds@gnu.org>.
19019
19020 2011-02-05  Eric Blake  <eblake@redhat.com>
19021
19022         unsetenv: work around Haiku issues
19023         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19024         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19025
19026 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19027
19028         libposix: avoid calling error() within libposix
19029         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19030         is defined.
19031
19032 2011-02-05  Eric Blake  <eblake@redhat.com>
19033
19034         strerror_r-posix: port to cygwin
19035         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19036         implementation.
19037         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19038         * tests/test-strerror_r.c (main): Fix test.
19039         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19040         issue.
19041
19042 2011-02-05  Bruno Haible  <bruno@clisp.org>
19043
19044         New module 'wmemchr'.
19045         * modules/wmemchr: New file.
19046         * lib/wchar.in.h (wmemchr): New declaration.
19047         * lib/wmemchr.c: New file.
19048         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19049         * m4/wmemchr.m4: New file.
19050         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19051         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19052         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19053         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19054         * doc/posix-functions/wmemchr.texi: Mention the new module.
19055
19056 2011-02-04  Eric Blake  <eblake@redhat.com>
19057
19058         fdopendir: detect FreeBSD bug
19059         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19060         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19061
19062 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19063
19064         stdbool: do not define HAVE_STDBOOL_H
19065         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19066         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19067         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19068         imported from the latest Autoconf git.  It was motivated by Emacs,
19069         which uses gnulib but does not need HAVE_STDBOOL_H.
19070
19071 2011-02-04  Bruno Haible  <bruno@clisp.org>
19072
19073         wcsnrtombs: Prepare for new module wwcsnrtombs.
19074         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19075         * lib/wcsnrtombs.c: Include it.
19076         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19077
19078         wcsrtombs: Prepare for new module wwcsrtombs.
19079         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19080         * lib/wcsrtombs.c: Include it.
19081         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19082
19083         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19084         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19085         * lib/mbsnrtowcs.c: Include it.
19086         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19087
19088         mbsrtowcs: Prepare for new module mbsrtowwcs.
19089         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19090         * lib/mbsrtowcs.c: Include it.
19091         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19092
19093 2011-02-04  Bruno Haible  <bruno@clisp.org>
19094
19095         vasnprintf: Reduce use of malloc for small format strings.
19096         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19097         (arguments): Add room for the first 7 arguments.
19098         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19099         (char_directives, u8_directives, u16_directives, u32_directives): Add
19100         room for the first 7 directives.
19101         * lib/printf-parse.c: Include <string.h>.
19102         (PRINTF_PARSE): Change memory handling code so that it uses the first
19103         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19104         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19105         Reported by Pádraig Brady <P@draigbrady.com>.
19106
19107 2011-01-31  Eric Blake  <eblake@redhat.com>
19108
19109         dup2: work around Haiku bug
19110         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19111         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19112         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19113         * tests/test-dup2.c (main): Enhance test.
19114
19115 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19116
19117         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19118         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19119         declared by eglibc 2.11.2.
19120         * lib/stdio.in.h: Likewise.
19121
19122 2011-01-31  Eric Blake  <eblake@redhat.com>
19123
19124         ignore-value: add missing test dependency
19125         * tests/test-ignore-value.c: Revert previous change; stdio.h
19126         provides off_t.
19127         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19128
19129 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19130
19131         mktime: clarify long_int width checking
19132         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19133         the top level, to make it clearer that the assumption about
19134         long_int width is being checked.  See
19135         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19136
19137 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19138
19139         ignore-value: Fix self-test.
19140         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19141
19142 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19143
19144         TYPE_MAXIMUM: avoid theoretically undefined behavior
19145         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19146         negative number, which the C Standard says has undefined behavior.
19147         In practice this is not a problem, but might as well do it by the book.
19148         Reported by Rich Felker and Eric Blake; see
19149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19150         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19151         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19152         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19153         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19154         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19155         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19156
19157         mktime: #undef mktime before #defining it
19158         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19159
19160         mktime: systematically normalize tm_isdst comparisons
19161         * lib/mktime.c (isdst_differ): New function.
19162         (__mktime_internal): Use it systematically for all isdst comparisons.
19163         This completes the fix for libc BZ #6723, and removes the need for
19164         normalizing tm_isdst.  See
19165         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19166         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19167
19168         mktime: fix some integer overflow issues and sidestep the rest
19169
19170         This was prompted by a bug report by Benjamin Lindner for MinGW
19171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19172         His bug is due to signed integer overflow (0 - INT_MIN), and I
19173         I scanned through mktime.c looking for other integer overflow
19174         problems, fixing all the bugs I found.
19175
19176         Although the C Standard says the resulting code is still not safe
19177         in the presence of integer overflow, in practice it should be good
19178         enough for all real-world two's-complement implementations, except
19179         for debugging environments that deliberately trap on integer
19180         overflow (e.g., gcc -ftrapv).
19181
19182         * lib/mktime.c (WRAPV): New macro.
19183         (SHR): Also check that long_int and time_t shift right in the
19184         usual way, before using the fast-but-unportable method.
19185         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19186         used.  The code already assumed two's complement, so there's
19187         no need to test for alternatives.  All uses removed.
19188         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19189         the C standard.  Problem reported by Rich Felker in
19190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19191         (twos_complement_arithmetic): Also check long_int and time_t.
19192         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19193         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19194         (__mktime_internal): Avoid integer overflow with unary subtraction
19195         in two instances where -1 - X is an adequate replacement for -X,
19196         since the calculations are approximate.
19197
19198 2011-01-29  Eric Blake  <eblake@redhat.com>
19199
19200         mktime: avoid infinite loop
19201         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19202         type; behavior is still undefined but portable to all known targets.
19203         Reported by Rich Felker.
19204
19205 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19206
19207         rename, unlink, same-inode: Relicense.
19208         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19209         * modules/unlink (License): Likewise.
19210         * modules/same-inode (License): Likewise.
19211
19212 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19213
19214         mktime: avoid problems on NetBSD 5 / i386
19215         * lib/mktime.c (long_int): New type.  This works around a problem
19216         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19217         but time_t is 64 bits, and where I expect the existing code is
19218         wrong in some cases.
19219         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19220         (ydhms_diff): Bring back the compile-time check for wide-enough
19221         year and yday.
19222
19223         mktime: fix misspelling in comment
19224         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19225         This merges all recent glibc changes of importance.
19226
19227 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19228
19229         move-if-change: cope with concurrent mv of identical file.
19230         * build-aux/move-if-change (CMPPROG): Accept environment
19231         variable as an override for `cmp'.
19232         (usage): Document CMPPROG.
19233         Adjust comparison to drop stdout.  Cope with failure of mv if
19234         the target file exists and is identical to the source, for
19235         parallel builds.
19236         Report from H.J. Lu against binutils in PR binutils/12283.
19237
19238 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19239
19240         * users.txt: Mention sharutils.
19241
19242 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19243
19244         * users.txt: Mention OATH Toolkit.
19245
19246 2011-01-27  Bruno Haible  <bruno@clisp.org>
19247
19248         Prepare for supporting FreeBSD 10.
19249         * build-aux/config.libpath: Remove handling of freebsd1*.
19250
19251 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19252
19253         Prepare for supporting FreeBSD 10.
19254         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19255         match FreeBSD 10.0.
19256
19257 2011-01-27  Bruno Haible  <bruno@clisp.org>
19258
19259         vma-iter, get-rusage-as: Add OpenBSD support.
19260         * modules/vma-iter (configure.ac): Test for mquery.
19261         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19262         * lib/vma-iter.c: Include <sys/mman.h>.
19263         (vma_iterate): Add an implementation based on mquery().
19264         * lib/resource-ext.h (get_rusage_as): Update comments.
19265         * lib/get-rusage-as.c: Likewise.
19266         * lib/get-rusage-data.c: Likewise.
19267
19268 2011-01-26  Karl Berry  <karl@gnu.org>
19269
19270         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19271         variables to make it easier to override the makeinfo program used.
19272
19273 2011-01-26  Eric Blake  <eblake@redhat.com>
19274
19275         fcntl: work around Haiku F_DUPFD bugs
19276         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19277         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19278         cloexec bit on duplication.
19279         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19280
19281 2011-01-26  Bruno Haible  <bruno@clisp.org>
19282
19283         Enable memory leak tests on AIX.
19284         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19285         * tests/test-fprintf-posix3.c (main): Likewise.
19286
19287 2011-01-26  Bruno Haible  <bruno@clisp.org>
19288
19289         Tests for module 'get-rusage-data'.
19290         * modules/get-rusage-data-tests: New file.
19291         * tests/test-get-rusage-data.c: New file.
19292
19293         New module 'get-rusage-data'.
19294         * lib/resource-ext.h (get_rusage_data): New declaration.
19295         * lib/get-rusage-data.c: New file.
19296         * modules/get-rusage-data: New file.
19297
19298 2011-01-25  Bruno Haible  <bruno@clisp.org>
19299
19300         get-rusage-as: Allow for easier testing.
19301         * lib/resource-ext.h (get_rusage_as): Add comment.
19302         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19303         (main): New function for interactive testing.
19304
19305 2011-01-25  Bruno Haible  <bruno@clisp.org>
19306
19307         vma-iter: Treat Haiku like BeOS.
19308         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19309         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19310
19311 2011-01-25  Eric Blake  <eblake@redhat.com>
19312
19313         c-stack: fix regression on cygwin when libsigsegv is present
19314         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19315
19316 2011-01-24  Bruno Haible  <bruno@clisp.org>
19317
19318         vma-iter: Avoid empty intervals.
19319         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19320         on an empty interval.
19321
19322 2011-01-24  Jim Meyering  <meyering@redhat.com>
19323
19324         u64: remove unnecessary #include
19325         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19326
19327 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19328
19329         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19330         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19331
19332 2011-01-23  Bruno Haible  <bruno@clisp.org>
19333
19334         New module 'vma-iter'.
19335         * lib/vma-iter.h: New file.
19336         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19337         * modules/vma-iter: New file.
19338         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19339         for get_rusage_as_via_iterator.
19340         (vma_iterate_callback): New function.
19341         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19342         * modules/get-rusage-as (Depends-on): Add vma-iter.
19343
19344 2011-01-23  Bruno Haible  <bruno@clisp.org>
19345
19346         uninorm: Tweak includes.
19347         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19348         Reported by Jim Meyering.
19349
19350 2011-01-23  Bruno Haible  <bruno@clisp.org>
19351
19352         get-rusage-as: Improve on NetBSD.
19353         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19354         /proc, like on FreeBSD.
19355
19356 2011-01-23  Jim Meyering  <meyering@redhat.com>
19357
19358         xreadlink.h: remove unnecessary #include
19359         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19360
19361         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19362         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19363
19364 2011-01-23  Bruno Haible  <bruno@clisp.org>
19365
19366         get-rusage-as: Fix bug.
19367         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19368         original limit when aborting the first loop.
19369
19370 2011-01-23  Bruno Haible  <bruno@clisp.org>
19371
19372         wctype: Ensure valid C syntax.
19373         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19374         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19375
19376 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19377
19378         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19379         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19380         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19381         as they are needed only for configure's test case.
19382         This removes two unnecessary symbols from config.h.
19383
19384         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19385         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19386         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19387         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19388         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19389         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19390         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19391         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19392         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19393         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19394         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19395         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19396         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19397         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19398         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19399         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19400         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19401         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19402
19403 2011-01-21  Eric Blake  <eblake@redhat.com>
19404
19405         maintainer-makefile: work with older git for submodule check
19406         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19407         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19408         Reported by Matthias Bolte.
19409
19410         bootstrap: minor portability fixes
19411         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19412         (usage): Omit leading capital and trailing . on help phrases, per
19413         GNU Coding Standards.
19414         (check_versions, top level): Prefix messages with script name.
19415
19416 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19417
19418         bootstrap: support --no-git option
19419         * build-aux/bootstrap: Add --no-git option, to be used when
19420         --gnulib-srcdir points to the exact desired checkout.
19421
19422 2011-01-21  Eric Blake  <eblake@redhat.com>
19423
19424         strerror_r-posix: work with glibc 2.13
19425         * lib/strerror_r.c (strerror_r): Fix return type.
19426
19427 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19428             Bruno Haible  <bruno@clisp.org>
19429
19430         uN_strstr: New unit tests.
19431         * modules/unistr/u8-strstr-tests: New file.
19432         * modules/unistr/u16-strstr-tests: New file.
19433         * modules/unistr/u32-strstr-tests: New file.
19434         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19435         * tests/unistr/test-u8-strstr.c: New file.
19436         * tests/unistr/test-u16-strstr.c: New file.
19437         * tests/unistr/test-u32-strstr.c: New file.
19438
19439 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19440             Bruno Haible  <bruno@clisp.org>
19441
19442         Make uN_strstr functions O(n) worst-case.
19443         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19444         16-bit and 32-bit unit cases, use the unibyte algorithm from
19445         lib/mbsstr.c.
19446         * lib/unistr/u8-strstr.c: Include <string.h>.
19447         (UNIT_IS_UINT8_T): New macro.
19448         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19449         (U_STRLEN, U_STRNLEN): New macros.
19450         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19451         (U_STRLEN, U_STRNLEN): New macros.
19452         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19453         (configure.ac): Update required libunistring version.
19454         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19455         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19456         malloca.
19457         (configure.ac): Update required libunistring version.
19458         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19459         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19460         malloca.
19461         (configure.ac): Update required libunistring version.
19462
19463 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19464             Bruno Haible  <bruno@clisp.org>
19465
19466         Prepare for faster uN_strstr functions.
19467         * lib/str-kmp.h: Support definable UNITs.
19468         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19469         needle_len argument.
19470         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19471         * lib/mbscasestr.c (mbscasestr): Likewise.
19472
19473 2011-01-21  Pádraig Brady <P@draigBrady.com>
19474
19475         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19476         * tests/test-malloca.c (main): Unset the environment variable
19477         to greatly speed up the test.
19478         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19479         * modules/malloca-tests: Depend on unsetenv.
19480
19481 2011-01-21  Pádraig Brady <P@draigBrady.com>
19482
19483         ignore-value: remove stdint dependency
19484         * lib/ignore-value.h: Remove <stdint.h>
19485         * modules/ignore-value: Remove stdint dependency.
19486
19487 2011-01-21  Jim Meyering  <meyering@redhat.com>
19488
19489         maint.mk: adjust variable name to be consistent with other gl_ vars
19490         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19491         to be lower case.
19492
19493 2011-01-20  Jim Meyering  <meyering@redhat.com>
19494
19495         maint.mk: make "check" depend on public-submodule-commit by default
19496         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19497
19498 2011-01-20  Bruno Haible  <bruno@clisp.org>
19499
19500         mbfile, mbiter: Complete change from 2008-12-21.
19501         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19502         * m4/mbiter.m4 (gl_MBITER): Likewise.
19503
19504 2011-01-20  Jim Meyering  <meyering@redhat.com>
19505
19506         init.sh: insert space between each function name and "()"
19507         * tests/init.sh: Make it a little easier to see that a function's
19508         name is "warn_", and not "warn" when looking at the first part of
19509         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19510
19511 2011-01-20  Jim Meyering  <meyering@redhat.com>
19512
19513         mountlist: clean up code formatting
19514         * lib/mountlist.c (read_file_system_list): Split a long line,
19515         correct bracing style, use NULL in place of "(struct statfs *)0",
19516         don't parenthesize return value, add spaces around "=" and after
19517         ";-in-for-stmt".
19518
19519 2011-01-14  Markus Duft <mduft@gentoo.org>
19520
19521         mountlist: add support for Interix
19522         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19523         Apply statvfs to all entries of /dev/fs.
19524         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19525         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19526
19527 2011-01-20  Jim Meyering  <meyering@redhat.com>
19528
19529         maint.mk: improve the public-submodule-commit rule
19530         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19531         to suppress printing of its commands... unless V=1.
19532         Add git submodule's --quiet option to suppress printing of e.g.,
19533         "Entering gnulib" output.
19534         "cd" into $(srcdir) before running git submodule.
19535
19536 2011-01-20  Bruno Haible  <bruno@clisp.org>
19537
19538         include_next: Fix bug introduced on 2011-01-18.
19539         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19540         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19541         ac_cv_header_... variable if the second argument is not 'check'.
19542         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19543         gl_NEXT_HEADERS_INTERNAL.
19544
19545 2011-01-20  Bruno Haible  <bruno@clisp.org>
19546
19547         Allow the user to avoid the GNULIB_TEST_* macros.
19548         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19549         Suggested by Paul Eggert.
19550
19551 2011-01-14  Jim Meyering  <meyering@redhat.com>
19552
19553         bootstrap: avoid failure when there is no .gitmodules file
19554         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19555         has been assigned to, even when its value is the empty string.
19556         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19557         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19558         Reported by John W. Eaton <jwe@gnu.org>.
19559
19560 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19561
19562         assume <ctype.h>, ..., <time.h> exist
19563         For years gnulib has been assuming the existence of the headers
19564         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19565         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19566         them, since they don't appear to be needed.
19567         * README (Portability guidelines): Document this.
19568         * lib/flock.c: Assume <fcntl.h> exists.
19569         * lib/regex_internal.h: Assume <locale.h> exists.
19570         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19571         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19572         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19573         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19574         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19575         * m4/regex.m4 (gl_REGEX): Likewise.
19576         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19577         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19578         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19579         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19580         * tests/test-argp.c: Likewise.
19581         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19582
19583         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19584         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19585         AA_APPLE_UNIVERSAL_BUILD.  See
19586         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19587         * NEWS: Document this.
19588
19589 2011-01-19  Eric Blake  <eblake@redhat.com>
19590
19591         c-stack: assume stack overflow if SA_SIGINFO unsupported
19592         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19593         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19594         sigaction will work.
19595         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19596         behavior match Linux.
19597         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19598
19599         stdbool-tests: accomodate Haiku
19600         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19601
19602         binary-io: fix O_TEXT on Haiku
19603         * modules/binary-io (Depends-on): Add fcntl-h.
19604         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19605         than blindly undefining O_TEXT.
19606         Reported by Scott McCreary.
19607
19608 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19609
19610         include_next: do not check for standard headers like stddef.h
19611
19612         I found this problem when modifying Emacs to use gnulib.
19613         I noticed that it added HAVE_STDDEF_H to config.h, even though
19614         gnulib always assumes <stddef.h> exists as per README and this
19615         symbol is unnecessary.
19616         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19617         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19618         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19619         faster for headers like stddef.h that are known to exist.
19620         (gl_CHECK_NEXT_HEADERS): Use it.
19621         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19622         rather than gl_CHECK_NEXT_HEADERS.
19623         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19624         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19625
19626 2011-01-18  Eric Blake  <eblake@redhat.com>
19627
19628         ansi-c++-opt: skip C++ dependency style if C++ is unused
19629         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19630         tests when we know C++ compilation is not desired.
19631         Reported by Scott McCreary.
19632
19633 2011-01-18  Bruno Haible  <bruno@clisp.org>
19634
19635         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19636         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19637         (main): Perform test also when getrlimit and setrlimit don't exist or
19638         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19639         limiting the address space size using setrlimit, compare the address
19640         space size before and after the the test.
19641         * tests/test-dprintf-posix2.c: Likewise.
19642         * tests/test-fprintf-posix3.sh: Update skip messages.
19643         * tests/test-dprintf-posix2.sh: Likewise.
19644         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19645         * modules/dprintf-posix-tests (Depends-on): Likewise.
19646         Reported by Bruce Korb <bkorb@gnu.org> and
19647         Gary V. Vaughan <gary@gnu.org>.
19648
19649 2011-01-18  Bruno Haible  <bruno@clisp.org>
19650
19651         get-rusage-as: Improvement for Cygwin.
19652         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19653         areas that are merely reserved.
19654
19655 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19656
19657         strftime: remove dependencies on multibyte modules
19658
19659         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19660         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19661         only if __osf__ is defined, and I suspect OSF doesn't need these
19662         other modules.  If my guess is wrong, we'll need to come up with a
19663         variant of strftime that doesn't need the multibyte modules.
19664
19665         I discovered this problem when attempting modify Emacs to use the
19666         strftime module.  With the previous gnulib, this caused Emacs to
19667         need 31 new files, ranging from lib/config.charset to
19668         m4/wint_t.m4.  This was overkill and I expect would be offputting
19669         to the Emacs maintainers.  After this change, only 6 new files are
19670         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19671         stdbool.m4, and tm_gmtoff.m4.
19672
19673         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19674         Suggested by Bruno Haible in
19675         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19676         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19677         and do not check for wchar.h.
19678         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19679         (Depends-on): Remove mbrlen, mbsinit, wchar.
19680
19681 2011-01-18  Bruno Haible  <bruno@clisp.org>
19682
19683         Tests for module 'get-rusage-as'.
19684         * modules/get-rusage-as-tests: New file.
19685         * tests/test-get-rusage-as.c: New file.
19686
19687         New module 'get-rusage-as'.
19688         * modules/get-rusage-as: New file.
19689         * lib/resource-ext.h: New file.
19690         * lib/get-rusage-as.c: New file.
19691
19692 2011-01-17  Eric Blake  <eblake@redhat.com>
19693
19694         sigaction: relax license from LGPLv3+ to LGPLv2+
19695         * modules/sigaction (License): Relax to LGPLv2+.
19696
19697 2011-01-14  Bruno Haible  <bruno@clisp.org>
19698
19699         filemode: Make function declarations usable in C++ mode.
19700         * lib/filemode.h: Enclose function declarations in extern "C" block.
19701         Reported by John W. Eaton <jwe@gnu.org>.
19702
19703 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19704
19705         save-cwd: no longer include "xgetcwd.h"
19706         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19707         This avoids a compilation failure in projects that use save-cwd
19708         without also using the xgetcwd module.
19709
19710 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19711
19712         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19713         This is so that a program like Emacs, which needs only dtoastr,
19714         does not have to bother with distributing and compiling ftoastr
19715         and ldtoastr.
19716         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19717         * modules/dtoastr, modules/ldtoastr: New files.
19718         * modules/ftoastr: Now works just for 'float'.
19719         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19720         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19721         dtoastr.c, ldtoastr.c.
19722
19723 2011-01-11  Jim Meyering  <meyering@redhat.com>
19724
19725         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19726         There is no need to work around the lack of the fchdir function,
19727         since gnulib can now provide a replacement when required.
19728         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19729         * modules/save-cwd (Depends-on): Add fchdir.
19730
19731 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19732
19733         openat, save-cwd: avoid xmalloc
19734
19735         This removes a direct (but undocumented) dependency of openat on
19736         xalloc, along with an indirect dependency via save-cwd.  It also
19737         removes a dependency of save-cwd on xgetcwd, and thereby
19738         indirectly on xalloc.  This change causes the openat substitute
19739         to fall back on save_cwd when memory is tight, and for save_cwd to
19740         fail instead of dying when memory is tight, but that's good enough.
19741         Problem and initial idea for fix reported by Bastien Roucaries in
19742         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19743
19744         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19745         xalloc.h (for xmalloc).
19746         (openat_proc_name): Use malloc, not xmalloc.
19747         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19748         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19749
19750         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19751         This avoids heap allocation for file names whose lengths are in
19752         the range 512..1023, with the upper bound increasing to at most
19753         4031 depending on the platform's PATH_MAX.  (We do not want
19754         pathmax.h here as it might supply a non-constant PATH_MAX.)
19755         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19756         Perhaps they should be moved to malloca.h?
19757         (OPENAT_BUFFER_SIZE): Use them.
19758
19759 2011-01-10  Bruno Haible  <bruno@clisp.org>
19760
19761         doc: Update users.txt.
19762         * users.txt: Add recutils.
19763
19764 2011-01-09  Karl Berry  <karl@gnu.org>
19765
19766         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19767
19768         * doc/configmake.texi: New file.
19769         * doc/gnulib.texi: Include it.
19770         * modules/configmake: Move documentation from here.
19771
19772 2011-01-09  Bruno Haible  <bruno@clisp.org>
19773
19774         Update to Unicode 6.0.0.
19775         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19776         (get_lbp): Update for Unicode 6.0.0.
19777         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19778         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19779         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19780         U+11001, U+11038..U+11046. Remove U+06DE.
19781         (uc_width): Fix bounds of planes.
19782         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19783         lib/uniwidth/width.c.
19784         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19785         trailing whitespace removed.
19786         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19787         without comments, but with the original copyright notice.
19788         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19789         * lib/unicase/ignorable.h: Likewise.
19790         * lib/unicase/tocasefold.h: Likewise.
19791         * lib/unicase/tolower.h: Likewise.
19792         * lib/unicase/totitle.h: Likewise.
19793         * lib/unicase/toupper.h: Likewise.
19794         * lib/unictype/bidi_of.h: Likewise.
19795         * lib/unictype/blocks.h: Likewise.
19796         * lib/unictype/categ_C.h: Likewise.
19797         * lib/unictype/categ_Cn.h: Likewise.
19798         * lib/unictype/categ_L.h: Likewise.
19799         * lib/unictype/categ_Ll.h: Likewise.
19800         * lib/unictype/categ_Lm.h: Likewise.
19801         * lib/unictype/categ_Lo.h: Likewise.
19802         * lib/unictype/categ_Lu.h: Likewise.
19803         * lib/unictype/categ_M.h: Likewise.
19804         * lib/unictype/categ_Mc.h: Likewise.
19805         * lib/unictype/categ_Me.h: Likewise.
19806         * lib/unictype/categ_Mn.h: Likewise.
19807         * lib/unictype/categ_N.h: Likewise.
19808         * lib/unictype/categ_Nd.h: Likewise.
19809         * lib/unictype/categ_No.h: Likewise.
19810         * lib/unictype/categ_P.h: Likewise.
19811         * lib/unictype/categ_Po.h: Likewise.
19812         * lib/unictype/categ_S.h: Likewise.
19813         * lib/unictype/categ_Sc.h: Likewise.
19814         * lib/unictype/categ_Sk.h: Likewise.
19815         * lib/unictype/categ_Sm.h: Likewise.
19816         * lib/unictype/categ_So.h: Likewise.
19817         * lib/unictype/categ_of.h: Likewise.
19818         * lib/unictype/combining.h: Likewise.
19819         * lib/unictype/ctype_alnum.h: Likewise.
19820         * lib/unictype/ctype_alpha.h: Likewise.
19821         * lib/unictype/ctype_graph.h: Likewise.
19822         * lib/unictype/ctype_lower.h: Likewise.
19823         * lib/unictype/ctype_print.h: Likewise.
19824         * lib/unictype/ctype_punct.h: Likewise.
19825         * lib/unictype/ctype_upper.h: Likewise.
19826         * lib/unictype/decdigit.h: Likewise.
19827         * lib/unictype/digit.h: Likewise.
19828         * lib/unictype/numeric.h: Likewise.
19829         * lib/unictype/pr_alphabetic.h: Likewise.
19830         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19831         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19832         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19833         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19834         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19835         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19836         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19837         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19838         * lib/unictype/pr_case_ignorable.h: Likewise.
19839         * lib/unictype/pr_cased.h: Likewise.
19840         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19841         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19842         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19843         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19844         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19845         * lib/unictype/pr_combining.h: Likewise.
19846         * lib/unictype/pr_composite.h: Likewise.
19847         * lib/unictype/pr_currency_symbol.h: Likewise.
19848         * lib/unictype/pr_decimal_digit.h: Likewise.
19849         * lib/unictype/pr_deprecated.h: Likewise.
19850         * lib/unictype/pr_format_control.h: Likewise.
19851         * lib/unictype/pr_grapheme_base.h: Likewise.
19852         * lib/unictype/pr_grapheme_extend.h: Likewise.
19853         * lib/unictype/pr_grapheme_link.h: Likewise.
19854         * lib/unictype/pr_id_continue.h: Likewise.
19855         * lib/unictype/pr_id_start.h: Likewise.
19856         * lib/unictype/pr_ideographic.h: Likewise.
19857         * lib/unictype/pr_lowercase.h: Likewise.
19858         * lib/unictype/pr_math.h: Likewise.
19859         * lib/unictype/pr_numeric.h: Likewise.
19860         * lib/unictype/pr_other_alphabetic.h: Likewise.
19861         * lib/unictype/pr_other_id_continue.h: Likewise.
19862         * lib/unictype/pr_other_math.h: Likewise.
19863         * lib/unictype/pr_punctuation.h: Likewise.
19864         * lib/unictype/pr_sentence_terminal.h: Likewise.
19865         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19866         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19867         * lib/unictype/pr_unified_ideograph.h: Likewise.
19868         * lib/unictype/pr_uppercase.h: Likewise.
19869         * lib/unictype/pr_xid_continue.h: Likewise.
19870         * lib/unictype/pr_xid_start.h: Likewise.
19871         * lib/unictype/scripts.h: Likewise.
19872         * lib/unictype/scripts_byname.gperf: Likewise.
19873         * lib/unictype/sy_java_ident.h: Likewise.
19874         * lib/unigbrk/gbrkprop.h: Likewise.
19875         * lib/unilbrk/lbrkprop1.h: Likewise.
19876         * lib/unilbrk/lbrkprop2.h: Likewise.
19877         * lib/uninorm/decomposition-table2.h: Likewise.
19878         * lib/uniwbrk/wbrkprop.h: Likewise.
19879         * tests/unicase/test-cased.c: Likewise.
19880         * tests/unicase/test-ignorable.c: Likewise.
19881         * tests/unicase/test-uc_tolower.c: Likewise.
19882         * tests/unicase/test-uc_totitle.c: Likewise.
19883         * tests/unicase/test-uc_toupper.c: Likewise.
19884         * tests/unictype/test-categ_C.c: Likewise.
19885         * tests/unictype/test-categ_Cn.c: Likewise.
19886         * tests/unictype/test-categ_L.c: Likewise.
19887         * tests/unictype/test-categ_Ll.c: Likewise.
19888         * tests/unictype/test-categ_Lm.c: Likewise.
19889         * tests/unictype/test-categ_Lo.c: Likewise.
19890         * tests/unictype/test-categ_Lu.c: Likewise.
19891         * tests/unictype/test-categ_M.c: Likewise.
19892         * tests/unictype/test-categ_Mc.c: Likewise.
19893         * tests/unictype/test-categ_Me.c: Likewise.
19894         * tests/unictype/test-categ_Mn.c: Likewise.
19895         * tests/unictype/test-categ_N.c: Likewise.
19896         * tests/unictype/test-categ_Nd.c: Likewise.
19897         * tests/unictype/test-categ_No.c: Likewise.
19898         * tests/unictype/test-categ_P.c: Likewise.
19899         * tests/unictype/test-categ_Po.c: Likewise.
19900         * tests/unictype/test-categ_S.c: Likewise.
19901         * tests/unictype/test-categ_Sc.c: Likewise.
19902         * tests/unictype/test-categ_Sk.c: Likewise.
19903         * tests/unictype/test-categ_Sm.c: Likewise.
19904         * tests/unictype/test-categ_So.c: Likewise.
19905         * tests/unictype/test-ctype_alnum.c: Likewise.
19906         * tests/unictype/test-ctype_alpha.c: Likewise.
19907         * tests/unictype/test-ctype_graph.c: Likewise.
19908         * tests/unictype/test-ctype_lower.c: Likewise.
19909         * tests/unictype/test-ctype_print.c: Likewise.
19910         * tests/unictype/test-ctype_punct.c: Likewise.
19911         * tests/unictype/test-ctype_upper.c: Likewise.
19912         * tests/unictype/test-decdigit.h: Likewise.
19913         * tests/unictype/test-digit.h: Likewise.
19914         * tests/unictype/test-numeric.h: Likewise.
19915         * tests/unictype/test-pr_alphabetic.c: Likewise.
19916         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19917         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19918         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19919         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19920         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19921         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19922         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19923         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19924         * tests/unictype/test-pr_case_ignorable.c: Likewise.
19925         * tests/unictype/test-pr_cased.c: Likewise.
19926         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
19927         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
19928         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
19929         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
19930         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
19931         * tests/unictype/test-pr_combining.c: Likewise.
19932         * tests/unictype/test-pr_composite.c: Likewise.
19933         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19934         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19935         * tests/unictype/test-pr_deprecated.c: Likewise.
19936         * tests/unictype/test-pr_format_control.c: Likewise.
19937         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19938         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19939         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19940         * tests/unictype/test-pr_id_continue.c: Likewise.
19941         * tests/unictype/test-pr_id_start.c: Likewise.
19942         * tests/unictype/test-pr_ideographic.c: Likewise.
19943         * tests/unictype/test-pr_lowercase.c: Likewise.
19944         * tests/unictype/test-pr_math.c: Likewise.
19945         * tests/unictype/test-pr_numeric.c: Likewise.
19946         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19947         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19948         * tests/unictype/test-pr_other_math.c: Likewise.
19949         * tests/unictype/test-pr_punctuation.c: Likewise.
19950         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19951         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19952         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19953         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19954         * tests/unictype/test-pr_uppercase.c: Likewise.
19955         * tests/unictype/test-pr_xid_continue.c: Likewise.
19956         * tests/unictype/test-pr_xid_start.c: Likewise.
19957         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19958         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19959         changes.
19960         * lib/unictype/categ_Cc.h: Likewise.
19961         * lib/unictype/categ_Cf.h: Likewise.
19962         * lib/unictype/categ_Co.h: Likewise.
19963         * lib/unictype/categ_Cs.h: Likewise.
19964         * lib/unictype/categ_Lt.h: Likewise.
19965         * lib/unictype/categ_Nl.h: Likewise.
19966         * lib/unictype/categ_Pc.h: Likewise.
19967         * lib/unictype/categ_Pd.h: Likewise.
19968         * lib/unictype/categ_Pe.h: Likewise.
19969         * lib/unictype/categ_Pf.h: Likewise.
19970         * lib/unictype/categ_Pi.h: Likewise.
19971         * lib/unictype/categ_Ps.h: Likewise.
19972         * lib/unictype/categ_Z.h: Likewise.
19973         * lib/unictype/categ_Zl.h: Likewise.
19974         * lib/unictype/categ_Zp.h: Likewise.
19975         * lib/unictype/categ_Zs.h: Likewise.
19976         * lib/unictype/ctype_blank.h: Likewise.
19977         * lib/unictype/ctype_cntrl.h: Likewise.
19978         * lib/unictype/ctype_digit.h: Likewise.
19979         * lib/unictype/ctype_space.h: Likewise.
19980         * lib/unictype/ctype_xdigit.h: Likewise.
19981         * lib/unictype/mirror.h: Likewise.
19982         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19983         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19984         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19985         * lib/unictype/pr_bidi_control.h: Likewise.
19986         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19987         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19988         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19989         * lib/unictype/pr_bidi_pdf.h: Likewise.
19990         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19991         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19992         * lib/unictype/pr_dash.h: Likewise.
19993         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19994         * lib/unictype/pr_diacritic.h: Likewise.
19995         * lib/unictype/pr_extender.h: Likewise.
19996         * lib/unictype/pr_hex_digit.h: Likewise.
19997         * lib/unictype/pr_hyphen.h: Likewise.
19998         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19999         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20000         * lib/unictype/pr_ignorable_control.h: Likewise.
20001         * lib/unictype/pr_iso_control.h: Likewise.
20002         * lib/unictype/pr_join_control.h: Likewise.
20003         * lib/unictype/pr_left_of_pair.h: Likewise.
20004         * lib/unictype/pr_line_separator.h: Likewise.
20005         * lib/unictype/pr_logical_order_exception.h: Likewise.
20006         * lib/unictype/pr_non_break.h: Likewise.
20007         * lib/unictype/pr_not_a_character.h: Likewise.
20008         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20009         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20010         * lib/unictype/pr_other_id_start.h: Likewise.
20011         * lib/unictype/pr_other_lowercase.h: Likewise.
20012         * lib/unictype/pr_other_uppercase.h: Likewise.
20013         * lib/unictype/pr_paired_punctuation.h: Likewise.
20014         * lib/unictype/pr_paragraph_separator.h: Likewise.
20015         * lib/unictype/pr_pattern_syntax.h: Likewise.
20016         * lib/unictype/pr_pattern_white_space.h: Likewise.
20017         * lib/unictype/pr_private_use.h: Likewise.
20018         * lib/unictype/pr_quotation_mark.h: Likewise.
20019         * lib/unictype/pr_radical.h: Likewise.
20020         * lib/unictype/pr_soft_dotted.h: Likewise.
20021         * lib/unictype/pr_space.h: Likewise.
20022         * lib/unictype/pr_titlecase.h: Likewise.
20023         * lib/unictype/pr_variation_selector.h: Likewise.
20024         * lib/unictype/pr_white_space.h: Likewise.
20025         * lib/unictype/pr_zero_width.h: Likewise.
20026         * lib/unictype/sy_c_ident.h: Likewise.
20027         * lib/unictype/sy_c_whitespace.h: Likewise.
20028         * lib/unictype/sy_java_whitespace.h: Likewise.
20029         * lib/uninorm/composition-table.gperf: Likewise.
20030         * lib/uninorm/decomposition-table1.h: Likewise.
20031         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20032         LB8.
20033         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20034         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20035         * modules/unictype/*: Bump version number of expected libunistring
20036         version.
20037
20038 2011-01-09  Bruno Haible  <bruno@clisp.org>
20039
20040         Update to Unicode 5.2.0.
20041         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20042         trailing whitespace removed.
20043
20044 2011-01-09  Bruno Haible  <bruno@clisp.org>
20045
20046         New Unicode character properties, from Unicode 5.2.0.
20047         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20048         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20049         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20050         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20051         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20052         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20053         uc_is_property_cased, uc_is_property_case_ignorable,
20054         uc_is_property_changes_when_lowercased,
20055         uc_is_property_changes_when_uppercased,
20056         uc_is_property_changes_when_titlecased,
20057         uc_is_property_changes_when_casefolded,
20058         uc_is_property_changes_when_casemapped): New declarations.
20059         * lib/unictype/pr_byname.gperf: Add the new properties.
20060         * modules/unictype/property-byname (Depends-on): Depend on the new
20061         properties modules.
20062         * modules/unictype/property-all (Depends-on): Likewise.
20063         * MODULES.html.sh (Unicode string functions): Add
20064         unictype/property-case-ignorable, unictype/property-cased,
20065         unictype/property-changes-when-casefolded,
20066         unictype/property-changes-when-casemapped,
20067         unictype/property-changes-when-lowercased,
20068         unictype/property-changes-when-titlecased,
20069         unictype/property-changes-when-uppercased.
20070
20071         New module 'unictype/property-changes-when-casemapped'.
20072         * modules/unictype/property-changes-when-casemapped: New file.
20073         * lib/unictype/pr_changes_when_casemapped.c: New file.
20074         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20075         generated by gen-uni-tables.
20076         * modules/unictype/property-changes-when-casemapped-tests: New file.
20077         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20078         automatically generated by gen-uni-tables.
20079
20080         New module 'unictype/property-changes-when-casefolded'.
20081         * modules/unictype/property-changes-when-casefolded: New file.
20082         * lib/unictype/pr_changes_when_casefolded.c: New file.
20083         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20084         generated by gen-uni-tables.
20085         * modules/unictype/property-changes-when-casefolded-tests: New file.
20086         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20087         automatically generated by gen-uni-tables.
20088
20089         New module 'unictype/property-changes-when-titlecased'.
20090         * modules/unictype/property-changes-when-titlecased: New file.
20091         * lib/unictype/pr_changes_when_titlecased.c: New file.
20092         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20093         generated by gen-uni-tables.
20094         * modules/unictype/property-changes-when-titlecased-tests: New file.
20095         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20096         automatically generated by gen-uni-tables.
20097
20098         New module 'unictype/property-changes-when-uppercased'.
20099         * modules/unictype/property-changes-when-uppercased: New file.
20100         * lib/unictype/pr_changes_when_uppercased.c: New file.
20101         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20102         generated by gen-uni-tables.
20103         * modules/unictype/property-changes-when-uppercased-tests: New file.
20104         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20105         automatically generated by gen-uni-tables.
20106
20107         New module 'unictype/property-changes-when-lowercased'.
20108         * modules/unictype/property-changes-when-lowercased: New file.
20109         * lib/unictype/pr_changes_when_lowercased.c: New file.
20110         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20111         generated by gen-uni-tables.
20112         * modules/unictype/property-changes-when-lowercased-tests: New file.
20113         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20114         automatically generated by gen-uni-tables.
20115
20116         New module 'unictype/property-case-ignorable'.
20117         * modules/unictype/property-case-ignorable: New file.
20118         * lib/unictype/pr_case_ignorable.c: New file.
20119         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20120         by gen-uni-tables.
20121         * modules/unictype/property-case-ignorable-tests: New file.
20122         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20123         generated by gen-uni-tables.
20124
20125         New module 'unictype/property-cased'.
20126         * modules/unictype/property-cased: New file.
20127         * lib/unictype/pr_cased.c: New file.
20128         * lib/unictype/pr_cased.h: New file, automatically generated by
20129         gen-uni-tables.
20130         * modules/unictype/property-cased-tests: New file.
20131         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20132         gen-uni-tables.
20133
20134 2011-01-09  Bruno Haible  <bruno@clisp.org>
20135
20136         Update to Unicode 5.2.0.
20137         * lib/gen-uni-tables.c (output_predicate, output_category,
20138         output_combclass, output_bidi_category, output_decimal_digit_test,
20139         output_decimal_digit, output_digit_test, output_digit,
20140         output_numeric_test, output_numeric, output_mirror, output_scripts,
20141         output_scripts_byname, output_blocks, output_ident_category): Fix
20142         comment header.
20143         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20144         get_wbp.
20145         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20146         items.
20147         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20148         Changes_When_Lowercased, Changes_When_Uppercased,
20149         Changes_When_Titlecased, Changes_When_Casefolded,
20150         Changes_When_Casemapped.
20151         (is_property_alphabetic, is_property_default_ignorable_code_point):
20152         Update for Unicode 5.2.0.
20153         (is_property_cased, is_property_case_ignorable,
20154         is_property_changes_when_lowercased,
20155         is_property_changes_when_uppercased,
20156         is_property_changes_when_titlecased,
20157         is_property_changes_when_casefolded,
20158         is_property_changes_when_casemapped): New functions.
20159         (output_properties): Output also the properties cased, case_ignorable,
20160         changes_when_lowercased, changes_when_uppercased,
20161         changes_when_titlecased, changes_when_casefolded,
20162         changes_when_casemapped.
20163         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20164         Unicode TR#11 revision 17 -> 19.
20165         (LBP_CP): New enumeration value.
20166         (LBP_*): Adjust values accordingly.
20167         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20168         TR#14 revision 22 -> 24.
20169         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20170         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20171         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20172         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20173         is_WBP_MIDLETTER.
20174         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20175         the code1 and code2 of each composition rule.
20176         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20177         * lib/unicase/ignorable.h: Likewise.
20178         * lib/unicase/tocasefold.h: Likewise.
20179         * lib/unicase/tolower.h: Likewise.
20180         * lib/unicase/totitle.h: Likewise.
20181         * lib/unicase/toupper.h: Likewise.
20182         * lib/unictype/bidi_of.h: Likewise.
20183         * lib/unictype/blocks.h: Likewise.
20184         * lib/unictype/categ_C.h: Likewise.
20185         * lib/unictype/categ_Cf.h: Likewise.
20186         * lib/unictype/categ_Cn.h: Likewise.
20187         * lib/unictype/categ_L.h: Likewise.
20188         * lib/unictype/categ_Ll.h: Likewise.
20189         * lib/unictype/categ_Lm.h: Likewise.
20190         * lib/unictype/categ_Lo.h: Likewise.
20191         * lib/unictype/categ_Lu.h: Likewise.
20192         * lib/unictype/categ_M.h: Likewise.
20193         * lib/unictype/categ_Mc.h: Likewise.
20194         * lib/unictype/categ_Mn.h: Likewise.
20195         * lib/unictype/categ_N.h: Likewise.
20196         * lib/unictype/categ_Nd.h: Likewise.
20197         * lib/unictype/categ_Nl.h: Likewise.
20198         * lib/unictype/categ_No.h: Likewise.
20199         * lib/unictype/categ_P.h: Likewise.
20200         * lib/unictype/categ_Pd.h: Likewise.
20201         * lib/unictype/categ_Po.h: Likewise.
20202         * lib/unictype/categ_S.h: Likewise.
20203         * lib/unictype/categ_Sc.h: Likewise.
20204         * lib/unictype/categ_So.h: Likewise.
20205         * lib/unictype/categ_of.h: Likewise.
20206         * lib/unictype/combining.h: Likewise.
20207         * lib/unictype/ctype_alnum.h: Likewise.
20208         * lib/unictype/ctype_alpha.h: Likewise.
20209         * lib/unictype/ctype_graph.h: Likewise.
20210         * lib/unictype/ctype_lower.h: Likewise.
20211         * lib/unictype/ctype_print.h: Likewise.
20212         * lib/unictype/ctype_punct.h: Likewise.
20213         * lib/unictype/ctype_upper.h: Likewise.
20214         * lib/unictype/decdigit.h: Likewise.
20215         * lib/unictype/digit.h: Likewise.
20216         * lib/unictype/numeric.h: Likewise.
20217         * lib/unictype/pr_alphabetic.h: Likewise.
20218         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20219         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20220         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20221         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20222         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20223         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20224         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20225         * lib/unictype/pr_combining.h: Likewise.
20226         * lib/unictype/pr_composite.h: Likewise.
20227         * lib/unictype/pr_currency_symbol.h: Likewise.
20228         * lib/unictype/pr_dash.h: Likewise.
20229         * lib/unictype/pr_decimal_digit.h: Likewise.
20230         * lib/unictype/pr_deprecated.h: Likewise.
20231         * lib/unictype/pr_diacritic.h: Likewise.
20232         * lib/unictype/pr_extender.h: Likewise.
20233         * lib/unictype/pr_grapheme_base.h: Likewise.
20234         * lib/unictype/pr_grapheme_extend.h: Likewise.
20235         * lib/unictype/pr_grapheme_link.h: Likewise.
20236         * lib/unictype/pr_id_continue.h: Likewise.
20237         * lib/unictype/pr_id_start.h: Likewise.
20238         * lib/unictype/pr_ideographic.h: Likewise.
20239         * lib/unictype/pr_ignorable_control.h: Likewise.
20240         * lib/unictype/pr_logical_order_exception.h: Likewise.
20241         * lib/unictype/pr_lowercase.h: Likewise.
20242         * lib/unictype/pr_numeric.h: Likewise.
20243         * lib/unictype/pr_other_alphabetic.h: Likewise.
20244         * lib/unictype/pr_punctuation.h: Likewise.
20245         * lib/unictype/pr_sentence_terminal.h: Likewise.
20246         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20247         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20248         * lib/unictype/pr_unified_ideograph.h: Likewise.
20249         * lib/unictype/pr_uppercase.h: Likewise.
20250         * lib/unictype/pr_xid_continue.h: Likewise.
20251         * lib/unictype/pr_xid_start.h: Likewise.
20252         * lib/unictype/pr_zero_width.h: Likewise.
20253         * lib/unictype/scripts.h: Likewise.
20254         * lib/unictype/scripts_byname.gperf: Likewise.
20255         * lib/unictype/sy_java_ident.h: Likewise.
20256         * lib/unigbrk/gbrkprop.h: Likewise.
20257         * lib/unilbrk/lbrkprop1.h: Likewise.
20258         * lib/unilbrk/lbrkprop2.h: Likewise.
20259         * lib/unilbrk/lbrktables.h: Likewise.
20260         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20261         LBP_CP. Implement rule LB30.
20262         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20263         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20264         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20265         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20266         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20267         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20268         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20269         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20270         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20271         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20272         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20273         bits instead of 16 bits in the code1 and code2 of each composition
20274         rule.
20275         (uc_composition): Update for Unicode 5.2.0.
20276         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20277         * lib/uninorm/decomposition-table2.h: Likewise.
20278         * lib/uniwbrk/wbrkprop.h: Likewise.
20279         * tests/unicase/test-cased.c: Likewise.
20280         * tests/unicase/test-ignorable.c: Likewise.
20281         * tests/unicase/test-uc_tolower.c: Likewise.
20282         * tests/unicase/test-uc_totitle.c: Likewise.
20283         * tests/unicase/test-uc_toupper.c: Likewise.
20284         * tests/unictype/test-categ_C.c: Likewise.
20285         * tests/unictype/test-categ_Cf.c: Likewise.
20286         * tests/unictype/test-categ_Cn.c: Likewise.
20287         * tests/unictype/test-categ_L.c: Likewise.
20288         * tests/unictype/test-categ_Ll.c: Likewise.
20289         * tests/unictype/test-categ_Lm.c: Likewise.
20290         * tests/unictype/test-categ_Lo.c: Likewise.
20291         * tests/unictype/test-categ_Lu.c: Likewise.
20292         * tests/unictype/test-categ_M.c: Likewise.
20293         * tests/unictype/test-categ_Mc.c: Likewise.
20294         * tests/unictype/test-categ_Mn.c: Likewise.
20295         * tests/unictype/test-categ_N.c: Likewise.
20296         * tests/unictype/test-categ_Nd.c: Likewise.
20297         * tests/unictype/test-categ_Nl.c: Likewise.
20298         * tests/unictype/test-categ_No.c: Likewise.
20299         * tests/unictype/test-categ_P.c: Likewise.
20300         * tests/unictype/test-categ_Pd.c: Likewise.
20301         * tests/unictype/test-categ_Po.c: Likewise.
20302         * tests/unictype/test-categ_S.c: Likewise.
20303         * tests/unictype/test-categ_Sc.c: Likewise.
20304         * tests/unictype/test-categ_So.c: Likewise.
20305         * tests/unictype/test-ctype_alnum.c: Likewise.
20306         * tests/unictype/test-ctype_alpha.c: Likewise.
20307         * tests/unictype/test-ctype_graph.c: Likewise.
20308         * tests/unictype/test-ctype_lower.c: Likewise.
20309         * tests/unictype/test-ctype_print.c: Likewise.
20310         * tests/unictype/test-ctype_punct.c: Likewise.
20311         * tests/unictype/test-ctype_upper.c: Likewise.
20312         * tests/unictype/test-decdigit.h: Likewise.
20313         * tests/unictype/test-digit.h: Likewise.
20314         * tests/unictype/test-numeric.h: Likewise.
20315         * tests/unictype/test-pr_alphabetic.c: Likewise.
20316         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20317         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20318         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20319         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20320         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20321         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20322         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20323         * tests/unictype/test-pr_combining.c: Likewise.
20324         * tests/unictype/test-pr_composite.c: Likewise.
20325         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20326         * tests/unictype/test-pr_dash.c: Likewise.
20327         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20328         * tests/unictype/test-pr_deprecated.c: Likewise.
20329         * tests/unictype/test-pr_diacritic.c: Likewise.
20330         * tests/unictype/test-pr_extender.c: Likewise.
20331         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20332         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20333         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20334         * tests/unictype/test-pr_id_continue.c: Likewise.
20335         * tests/unictype/test-pr_id_start.c: Likewise.
20336         * tests/unictype/test-pr_ideographic.c: Likewise.
20337         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20338         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20339         * tests/unictype/test-pr_lowercase.c: Likewise.
20340         * tests/unictype/test-pr_numeric.c: Likewise.
20341         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20342         * tests/unictype/test-pr_punctuation.c: Likewise.
20343         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20344         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20345         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20346         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20347         * tests/unictype/test-pr_uppercase.c: Likewise.
20348         * tests/unictype/test-pr_xid_continue.c: Likewise.
20349         * tests/unictype/test-pr_xid_start.c: Likewise.
20350         * tests/unictype/test-pr_zero_width.c: Likewise.
20351         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20352         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20353         changed behaviour: line breaking is now disallowed between a letter
20354         or '=' and '('.
20355         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20356         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20357         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20358         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20359         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20360         lib/uniwidth/width.c.
20361         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20362         without comments, but with the original copyright notice.
20363         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20364         changes.
20365         * lib/unictype/categ_Cc.h: Likewise.
20366         * lib/unictype/categ_Co.h: Likewise.
20367         * lib/unictype/categ_Cs.h: Likewise.
20368         * lib/unictype/categ_Lt.h: Likewise.
20369         * lib/unictype/categ_Me.h: Likewise.
20370         * lib/unictype/categ_Pc.h: Likewise.
20371         * lib/unictype/categ_Pe.h: Likewise.
20372         * lib/unictype/categ_Pf.h: Likewise.
20373         * lib/unictype/categ_Pi.h: Likewise.
20374         * lib/unictype/categ_Ps.h: Likewise.
20375         * lib/unictype/categ_Sk.h: Likewise.
20376         * lib/unictype/categ_Sm.h: Likewise.
20377         * lib/unictype/categ_Z.h: Likewise.
20378         * lib/unictype/categ_Zl.h: Likewise.
20379         * lib/unictype/categ_Zp.h: Likewise.
20380         * lib/unictype/categ_Zs.h: Likewise.
20381         * lib/unictype/ctype_blank.h: Likewise.
20382         * lib/unictype/ctype_cntrl.h: Likewise.
20383         * lib/unictype/ctype_digit.h: Likewise.
20384         * lib/unictype/ctype_space.h: Likewise.
20385         * lib/unictype/ctype_xdigit.h: Likewise.
20386         * lib/unictype/mirror.h: Likewise.
20387         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20388         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20389         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20390         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20391         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20392         * lib/unictype/pr_bidi_control.h: Likewise.
20393         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20394         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20395         * lib/unictype/pr_bidi_pdf.h: Likewise.
20396         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20397         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20398         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20399         * lib/unictype/pr_format_control.h: Likewise.
20400         * lib/unictype/pr_hex_digit.h: Likewise.
20401         * lib/unictype/pr_hyphen.h: Likewise.
20402         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20403         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20404         * lib/unictype/pr_iso_control.h: Likewise.
20405         * lib/unictype/pr_join_control.h: Likewise.
20406         * lib/unictype/pr_left_of_pair.h: Likewise.
20407         * lib/unictype/pr_line_separator.h: Likewise.
20408         * lib/unictype/pr_math.h: Likewise.
20409         * lib/unictype/pr_non_break.h: Likewise.
20410         * lib/unictype/pr_not_a_character.h: Likewise.
20411         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20412         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20413         * lib/unictype/pr_other_id_continue.h: Likewise.
20414         * lib/unictype/pr_other_id_start.h: Likewise.
20415         * lib/unictype/pr_other_lowercase.h: Likewise.
20416         * lib/unictype/pr_other_math.h: Likewise.
20417         * lib/unictype/pr_other_uppercase.h: Likewise.
20418         * lib/unictype/pr_paired_punctuation.h: Likewise.
20419         * lib/unictype/pr_paragraph_separator.h: Likewise.
20420         * lib/unictype/pr_pattern_syntax.h: Likewise.
20421         * lib/unictype/pr_pattern_white_space.h: Likewise.
20422         * lib/unictype/pr_private_use.h: Likewise.
20423         * lib/unictype/pr_quotation_mark.h: Likewise.
20424         * lib/unictype/pr_radical.h: Likewise.
20425         * lib/unictype/pr_soft_dotted.h: Likewise.
20426         * lib/unictype/pr_space.h: Likewise.
20427         * lib/unictype/pr_titlecase.h: Likewise.
20428         * lib/unictype/pr_variation_selector.h: Likewise.
20429         * lib/unictype/pr_white_space.h: Likewise.
20430         * lib/unictype/sy_c_ident.h: Likewise.
20431         * lib/unictype/sy_c_whitespace.h: Likewise.
20432         * lib/unictype/sy_java_whitespace.h: Likewise.
20433         * modules/uni*/*: Bump version number of expected libunistring version.
20434         Reported by Simon Josefsson.
20435
20436 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20437
20438         useless-if-before-free: fix typo in --help and make the internal,
20439         automatic version date update process work once again.
20440         --help output contained a NUL character instead of the
20441         backslash-zero that was intended.  Also, the "must lie within
20442         the first 8 lines" line is on line 9, and hence not getting
20443         automatically updated.
20444         * build-aux/useless-if-before-free: Fix the former by adding a
20445         backslash, and the latter by condensing the three lines of what-it-does
20446         to a single line, leaving one line of slack for the future.
20447
20448 2011-01-09  Bruno Haible  <bruno@clisp.org>
20449
20450         uniwidth/width: Fix width of U+1D173..U+1D17A.
20451         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20452         symbolic_width, output_width_property_test): New functions.
20453         (main): Invoke output_nonspacing_property, output_width_property_test.
20454         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20455         U+1D173..U+1D17A.
20456         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20457         1.
20458         * modules/uniwidth/*: Bump version number of expected libunistring
20459         version.
20460         * modules/unilbrk/*: Likewise.
20461
20462 2011-01-08  Bruno Haible  <bruno@clisp.org>
20463
20464         uninorm tests: Preserve copyright of Unicode data file.
20465         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20466         Mention modifications.
20467
20468 2011-01-08  Bruno Haible  <bruno@clisp.org>
20469
20470         gen-uni-tables: Prepare for Unicode 5.2.0.
20471         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20472         (debug_output_lbp, output_lbp): Update.
20473
20474 2011-01-08  Bruno Haible  <bruno@clisp.org>
20475
20476         unilbrk: Clarify gen-uni-tables.c code.
20477         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20478         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20479         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20480
20481 2011-01-07  Bruno Haible  <bruno@clisp.org>
20482
20483         strtod: Restore errno when successfully parsing Infinity or NaN.
20484         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20485         restore the original errno.
20486
20487 2011-01-07  Bruno Haible  <bruno@clisp.org>
20488
20489         remove test: Avoid failure on HP-UX 11.
20490         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20491
20492 2011-01-07  Bruno Haible  <bruno@clisp.org>
20493
20494         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20495         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20496         error code.
20497
20498 2011-01-07  Pádraig Brady <P@draigBrady.com>
20499
20500         ignore-value: fixup comments, and add Eric Blake
20501         as an author since he rewrote the macros.
20502         * lib/ignore-value.h (ignore_value):  State that
20503         we now support aggregates.  Also specify exactly
20504         when the GCC warn_unused_result feature was added.
20505
20506 2011-01-06  Eric Blake  <eblake@redhat.com>
20507
20508         ignore-value: support aggregate types
20509         * lib/ignore-value.h (ignore_value): Provide separate gcc
20510         definition.
20511         * modules/ignore-value-tests: New test module.
20512         * tests/test-ignore-value.c: New test.
20513
20514         maint.mk: improve sc_prohibit_strcmp regex
20515         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20516         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20517         definition of STRNEQ.
20518
20519         signal: work around Haiku issue with SIGBUS
20520         * lib/siglist.h: Add comment.
20521         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20522         strsignal's favoring of SIGSEGV.
20523         * tests/test-signal.c (main): Avoid test failure.
20524         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20525         Reported by Scott McCreary.
20526
20527         maint.mk: add pre-release check to ensure submodule commits are public
20528         * top/maint.mk (public-submodule-commit): New rule.
20529         (submodule-checks): New variable.
20530         (alpha beta stable): Depend on the variable.
20531
20532 2011-01-05  Pádraig Brady <P@draigBrady.com>
20533         and Jim Meyering  <meyering@redhat.com>
20534
20535         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20536         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20537         (ATTRIBUTE_DEPRECATED): Define.
20538         (_ignore_case): New function.
20539         (ignore_value): New macro, to replace the old function.
20540         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20541         * modules/ignore-value (Depends-on): Add stdint.
20542
20543 2011-01-04  Eric Blake  <eblake@redhat.com>
20544
20545         doc: regenerate INSTALL
20546         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20547         @firstparagraphindent support, now that autoconf dropped it.
20548         (INSTALL_PRELUDE): Reinstate old macro.
20549         * doc/install.texi: Resync from autoconf.
20550         * doc/INSTALL: Reflect recent autoconf update.
20551         * doc/INSTALL.ISO: Likewise.
20552         * doc/INSTALL.UTF-8: Likewise.
20553         Reported by Karl Berry.
20554
20555 2011-01-04  Bruce Korb  <address@hidden>
20556
20557         git-version-gen: avoid a sub-shell
20558         * build-aux/git-version-gen: Redirect stderr in `...` via
20559         "exec 2>...", rather than via an added sub-shell.
20560
20561 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20562
20563         git-version-gen: use (...) rather than sh -c '...'
20564         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20565         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20566
20567 2011-01-03  Jim Meyering  <meyering@redhat.com>
20568
20569         git-version-gen: convert leading TABs to spaces
20570         * build-aux/git-version-gen: Expand leading TABs.
20571
20572         git-version-gen: handle failed "git rev-list"
20573         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20574         from git and proceeding as if it had succeeded but printed no SHA1
20575         checksums, suppress the diagnostic and handle the failure.
20576         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20577
20578         git-version-gen: include command name in one more diagnostic
20579         * build-aux/git-version-gen: When the required .tarball-version file
20580         was missing or unreadable, you might see the diagnostic from "cat",
20581         but no trace of the name of the invoking script.  Now, you still see
20582         the diagnostic from cat, but also get one from "git-version-gen: ".
20583         Inspired by a patch from Bruce Korb.
20584
20585         update-copyright: adjust test to match changed code
20586         * tests/test-update-copyright.sh: Change test's expected output
20587         to match new actual output.
20588
20589 2011-01-02  Bruno Haible  <bruno@clisp.org>
20590
20591         getlogin_r: Avoid test failure on HP-UX 11.
20592         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20593         ERANGE when the second argument is zero.
20594         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20595         portability problem.
20596
20597 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20598
20599         * build-aux/update-copyright: doc Simon's changes
20600
20601 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20602
20603         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20604         environment variable.
20605
20606 2011-01-02  Bruno Haible  <bruno@clisp.org>
20607
20608         unigbrk: Avoid gcc warnings.
20609         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20610         unused variable.
20611         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20612         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20613         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20614         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20615         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20616         Change type of first argument to 'const char *'.
20617         (main): Remove unused variable.
20618         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20619         type of first argument to 'const char *'.
20620         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20621         Likewise.
20622         (main): Change type of variable 's'.
20623         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20624         to 'int'.
20625
20626 2011-01-02  Bruno Haible  <bruno@clisp.org>
20627
20628         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20629         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20630         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20631         bug.
20632         * lib/pwrite.c: Undo 2010-12-31 patch.
20633         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20634
20635 2011-01-02  Bruno Haible  <bruno@clisp.org>
20636
20637         pread: Fix test whether it works.
20638         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20639
20640 2011-01-02  Bruno Haible  <bruno@clisp.org>
20641
20642         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20643         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20644         ends in "6". Don't require a specific month name. Try also the locale
20645         names found on HP-UX 11 and Solaris 7.
20646
20647 2011-01-02  Bruno Haible  <bruno@clisp.org>
20648
20649         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20650         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20651         C linkage.
20652         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20653
20654 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20655
20656         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20657         for consistency, since the "cluster" term is not used elsewhere.
20658         * lib/unigbrk.in.h: Update name.
20659         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20660         * lib/unigbrk/u16-grapheme-next.c: Update name.
20661         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20662         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20663         * lib/unigbrk/u32-grapheme-next.c: Update name.
20664         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20665         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20666         * lib/unigbrk/u8-grapheme-next.c: Update name.
20667         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20668         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20669         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20670         Suggested by Bruno Haible.
20671
20672 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20673
20674         Remove module 'u8-grapheme-len' as too redundant with
20675         'u8-grapheme-next'.
20676         * modules/unigbrk/u8-grapheme-len: Delete file.
20677         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20678         * lib/unigbrk.in.h: Remove prototype for deleted function.
20679         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20680         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20681
20682         Remove module 'u16-grapheme-len' as too redundant with
20683         'u16-grapheme-next'.
20684         * modules/unigbrk/u16-grapheme-len: Delete file.
20685         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20686         * lib/unigbrk.in.h: Remove prototype for deleted function.
20687         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20688         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20689
20690         Remove module 'u32-grapheme-len' as too redundant with
20691         'u32-grapheme-next'.
20692         * modules/unigbrk/u32-grapheme-len: Delete file.
20693         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20694         * lib/unigbrk.in.h: Remove prototype for deleted function.
20695         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20696         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20697
20698         Suggested by Bruno Haible.
20699
20700 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20701
20702         * unigbrk.in.h: Fix typo: "ben" => "been".
20703         Reported by Bruno Haible.
20704
20705 2011-01-01  Jim Meyering  <meyering@redhat.com>
20706
20707         maint: update almost all copyright ranges to include 2011
20708         Run the new "make update-copyright" rule.
20709
20710 2011-01-01  Jim Meyering  <meyering@redhat.com>
20711
20712         maint: update-copyright: exempt doc/INSTALL*
20713         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20714         since they are generated.  Suggested by Bruno Haible.
20715
20716 2011-01-01  Jim Meyering  <meyering@redhat.com>
20717
20718         maint: refine the update-copyright rule
20719         * Makefile (update-copyright): Also exclude any file that includes
20720         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20721         code that merely generates the comment.
20722
20723 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20724
20725         New module 'u8-grapheme-len'.
20726         * modules/unigbrk/u8-grapheme-len: New file.
20727         * modules/unigbrk/u8-grapheme-len-tests: New file.
20728         * lib/unigbrk.in.h: Add prototype for new function.
20729         * lib/unigbrk/u8-grapheme-len.c: New file.
20730         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20731
20732         New module 'u16-grapheme-len'.
20733         * modules/unigbrk/u16-grapheme-len: New file.
20734         * modules/unigbrk/u16-grapheme-len-tests: New file.
20735         * lib/unigbrk.in.h: Add prototype for new function.
20736         * lib/unigbrk/u16-grapheme-len.c: New file.
20737         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20738
20739         New module 'u32-grapheme-len'.
20740         * modules/unigbrk/u32-grapheme-len: New file.
20741         * modules/unigbrk/u32-grapheme-len-tests: New file.
20742         * lib/unigbrk.in.h: Add prototype for new function.
20743         * lib/unigbrk/u32-grapheme-len.c: New file.
20744         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20745
20746         New module 'u8-grapheme-next'.
20747         * modules/unigbrk/u8-grapheme-next: New file.
20748         * modules/unigbrk/u8-grapheme-next-tests: New file.
20749         * lib/unigbrk.in.h: Add prototype for new function.
20750         * lib/unigbrk/u8-grapheme-next.c: New file.
20751         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20752
20753         New module 'u16-grapheme-next'.
20754         * modules/unigbrk/u16-grapheme-next: New file.
20755         * modules/unigbrk/u16-grapheme-next-tests: New file.
20756         * lib/unigbrk.in.h: Add prototype for new function.
20757         * lib/unigbrk/u16-grapheme-next.c: New file.
20758         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20759
20760         New module 'u32-grapheme-next'.
20761         * modules/unigbrk/u32-grapheme-next: New file.
20762         * modules/unigbrk/u32-grapheme-next-tests: New file.
20763         * lib/unigbrk.in.h: Add prototype for new function.
20764         * lib/unigbrk/u32-grapheme-next.c: New file.
20765         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20766
20767         New module 'u8-grapheme-prev'.
20768         * modules/unigbrk/u8-grapheme-prev: New file.
20769         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20770         * lib/unigbrk.in.h: Add prototype for new function.
20771         * lib/unigbrk/u8-grapheme-prev.c: New file.
20772         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20773
20774         New module 'u16-grapheme-prev'.
20775         * modules/unigbrk/u16-grapheme-prev: New file.
20776         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20777         * lib/unigbrk.in.h: Add prototype for new function.
20778         * lib/unigbrk/u16-grapheme-prev.c: New file.
20779         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20780
20781         New module 'u32-grapheme-prev'.
20782         * modules/unigbrk/u32-grapheme-prev: New file.
20783         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20784         * lib/unigbrk.in.h: Add prototype for new function.
20785         * lib/unigbrk/u32-grapheme-prev.c: New file.
20786         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20787
20788         New module 'u8-grapheme-breaks'.
20789         * modules/unigbrk/u8-grapheme-breaks: New file.
20790         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20791         * lib/unigbrk.in.h: Add prototype for new function.
20792         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20793         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20794
20795         New module 'u16-grapheme-breaks'.
20796         * modules/unigbrk/u16-grapheme-breaks: New file.
20797         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
20798         * lib/unigbrk.in.h: Add prototype for new function.
20799         * lib/unigbrk/u16-grapheme-breaks.c: New file.
20800         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
20801
20802         New module 'u32-grapheme-breaks'.
20803         * modules/unigbrk/u32-grapheme-breaks: New file.
20804         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
20805         * lib/unigbrk.in.h: Add prototype for new function.
20806         * lib/unigbrk/u32-grapheme-breaks.c: New file.
20807         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
20808
20809         New module 'ulc-grapheme-breaks'.
20810         * modules/unigbrk/ulc-grapheme-breaks: New file.
20811         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20812         * m4/locale-ar.m4: New file.
20813         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20814         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20815         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20816
20817 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20818
20819         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20820         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20821         modified how this file was generated before I initially submitted
20822         the module, but failed to regenerate it.  This meant that several
20823         of the level2 entries were wrong.
20824         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20825         Remove the division-by-2 that is folded into the table now that
20826         gbrkprop.h has been regenerated properly.  Now -1 entries are
20827         handled correctly.
20828
20829         New module 'unigbrk/uc-gbrk-prop-tests'.
20830         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20831         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20832         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20833         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20834
20835 2011-01-01  Bruno Haible  <bruno@clisp.org>
20836
20837         Avoid use of hexadecimal escapes.
20838         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20839         instead of hexadecimal escapes.
20840
20841 2011-01-01  Jim Meyering  <meyering@redhat.com>
20842
20843         maint: new rule to update copyright year ranges
20844         * Makefile (update-copyright): New rule.
20845
20846         maint: indent with TABs in Makefile
20847         * Makefile: Expand leading sequences of spaces to TABs
20848
20849         version-etc: update the copyright year it reports
20850         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20851
20852 2010-12-31  Bruno Haible  <bruno@clisp.org>
20853
20854         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20855         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20856         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20857         zero.
20858
20859 2010-12-31  Bruno Haible  <bruno@clisp.org>
20860
20861         pwrite: Work around HP-UX 11.11 bug.
20862         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20863         works and set REPLACE_PWRITE if not.
20864         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20865         function.
20866         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20867
20868 2010-12-31  Bruno Haible  <bruno@clisp.org>
20869
20870         pread: Work around HP-UX 11 bugs.
20871         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20872         and set REPLACE_PREAD if not.
20873         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20874
20875 2010-12-31  Eric Blake  <eblake@redhat.com>
20876
20877         nl_langinfo: fix YESEXPR on Irix 6.5
20878         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20879         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20880         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20881         it.
20882
20883 2010-12-31  Bruno Haible  <bruno@clisp.org>
20884
20885         iconv: Document HP-UX 11 bug.
20886         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20887
20888 2010-12-31  Bruno Haible  <bruno@clisp.org>
20889
20890         ldexpl: Fix link error on HP-UX 11.
20891         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20892         LDEXPL_LIBM, using $ISNANL_LIBM.
20893
20894 2010-12-31  Eric Blake  <eblake@redhat.com>
20895
20896         ftello: avoid compilation failure with SunStudio c89
20897         * lib/ftello.c (ftello): Use lseek, not llseek.
20898
20899         tests: avoid failing coreutils tests on cygwin
20900         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20901         (create_exe_shims_): Return 0 when skipping.
20902
20903 2010-12-31  Bruno Haible  <bruno@clisp.org>
20904
20905         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20906         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20907
20908 2010-12-31  Bruno Haible  <bruno@clisp.org>
20909
20910         waitpid: Fix link error in C++ mode.
20911         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20912
20913 2010-12-31  Bruno Haible  <bruno@clisp.org>
20914
20915         isnan: Use GCC built-ins when possible.
20916         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
20917         __builtin_isnan.
20918         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
20919         (isnan): Define using GCC built-ins for GCC >= 4.0.
20920
20921 2010-12-31  Bruno Haible  <bruno@clisp.org>
20922
20923         isnand: Fix mistake.
20924         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
20925         __builtin_isnand.
20926
20927 2010-12-31  Bruno Haible  <bruno@clisp.org>
20928
20929         open: Avoid C++ error on HP-UX 11.
20930         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
20931
20932 2010-12-31  Bruno Haible  <bruno@clisp.org>
20933
20934         time_r: Add missing declarations on HP-UX 11.
20935         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
20936         instead of HAVE_LOCALTIME_R.
20937         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
20938         HAVE_LOCALTIME_R always.
20939         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
20940         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
20941         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
20942         HAVE_LOCALTIME_R.
20943         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
20944         * doc/posix-functions/localtime_r.texi: Likewise.
20945
20946 2010-12-29  Eric Blake  <eblake@redhat.com>
20947
20948         mountlist: tweak previous commit
20949         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
20950         Reported by Paul Eggert.
20951
20952         mountlist: fix local drive detection on cygwin
20953         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
20954         that works for cygwin.
20955
20956 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20957
20958         ftoastr, snprintf: ftoastr + snprintf module
20959         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
20960         since the snprintf module now should be good enough here.
20961         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
20962         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
20963         and gl_MODULE_INDICATOR([snprintf]), but the former enables
20964         GNULIB_SNPRINTF only for the test directory, and the latter
20965         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
20966         seems to suffice by itself.
20967
20968 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20969
20970         alloca: one step towards thread-safety
20971         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
20972         need for a static variable.  All callers changed.  This does not
20973         make the alloca replacement thread-safe, but it's one step.
20974
20975         tests: minor indenting change
20976         * tests/init.sh: Sync from coreutils housekeeping patch
20977         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
20978         to keep lines within 80 columns.
20979
20980 2010-12-28  Jim Meyering  <meyering@redhat.com>
20981
20982         regex: don't infloop on persistent failing calloc
20983         * lib/regexec.c (build_trtable): Return failure indication upon
20984         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
20985         In glibc, this was fixed for version 2.13:
20986         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
20987
20988 2010-12-28  Bruno Haible  <bruno@clisp.org>
20989             Paul Eggert <eggert@cs.ucla.edu>
20990
20991         linkat: Make implementation robust against system behaviour variations.
20992         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
20993         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
20994         way, and to -2 if it needs a generic runtime test.
20995         * lib/linkat.c (solaris_optimized_link_immediate,
20996         solaris_optimized_link_follow): New functions.
20997         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
20998         (check_same_link): Use it.
20999
21000 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21001
21002         New module 'unigbrk/base'.
21003         * modules/unigbrk/base: New file.
21004         * lib/unigbrk.in.h: New file.
21005
21006         New module 'unigbrk/uc-gbrk-prop'.
21007         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21008         * modules/unigbrk/uc-gbrk-prop: New file.
21009         * lib/unigbrk/gbrkprop.h: New file.
21010         * lib/unigbrk/uc-gbrk-prop.c: New file.
21011
21012         New module 'unigbrk/uc-is-grapheme-break'.
21013         * modules/unigbrk/uc-is-grapheme-break: New file.
21014         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21015         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21016         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21017         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21018         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21019
21020         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21021
21022 2010-12-27  Bruno Haible  <bruno@clisp.org>
21023
21024         linkat test: Avoid failure on Solaris 11 2010-11.
21025         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21026
21027 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21028
21029         utimens: work around glibc rounding bug on more platforms
21030         * lib/utimens.c (fdutimens): Work around rounding bug even if
21031         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21032         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21033
21034 2010-12-27  Bruno Haible  <bruno@clisp.org>
21035
21036         select tests: Improve comments.
21037         * tests/test-select.c (do_select): Add comments.
21038
21039 2010-12-27  Bruno Haible  <bruno@clisp.org>
21040
21041         select tests: Safer way of handling timeout.
21042         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21043         at every invocation.
21044
21045 2010-12-27  Bruno Haible  <bruno@clisp.org>
21046
21047         select tests: Use 'bool' where appropriate.
21048         * tests/test-select.c (connect_to_socket): Change argument type to
21049         'bool'.
21050
21051 2010-12-27  Bruno Haible  <bruno@clisp.org>
21052
21053         select tests: Use existing modules.
21054         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21055         (configure.ac): Don't test for unistd.h.
21056         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21057         declared in <unistd.h>.
21058
21059 2010-12-27  Bruno Haible  <bruno@clisp.org>
21060
21061         mbrtowc: Work around a Solaris 7 bug.
21062         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21063         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21064         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21065         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21066         MBRTOWC_NULL_ARG1_BUG.
21067         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21068         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21069         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21070         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21071
21072 2010-12-27  Jim Meyering  <meyering@redhat.com>
21073
21074         read-file.c: tweak syntax
21075         * lib/read-file.c (fread_file): Remove space after "*" in function
21076         definitions.
21077
21078 2010-12-27  Bruno Haible  <bruno@clisp.org>
21079
21080         times test: Avoid gcc warnings on OSF/1.
21081         * tests/test-times.c (main): Cast printf arguments from clock_t to
21082         'long int'.
21083
21084 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21085
21086         utimens: work around glibc rounding bug on older Linux kernels
21087         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21088         on Linux with a glibc whose utimes might not work, then work
21089         around a longstanding glibc bug involving rounding rather than
21090         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21091         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21092
21093 2010-12-26  Bruno Haible  <bruno@clisp.org>
21094
21095         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21096         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21097         _GL_CXXALIAS_SYS.
21098         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21099
21100 2010-12-26  Bruno Haible  <bruno@clisp.org>
21101
21102         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21103         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21104         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21105         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21106         looking for the declaration.
21107         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21108         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21109         problem.
21110         * doc/posix-functions/inet_pton.texi: Likewise.
21111
21112 2010-12-26  Bruno Haible  <bruno@clisp.org>
21113
21114         arpa_inet: Use the common idioms with C++ support.
21115         * lib/arpa_inet.in.h: Include c++defs.h.
21116         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21117         support.
21118         * modules/arpa_inet (Depends-on): Add c++defs.
21119         (Makefile.am): Substitute the contents of c++defs.h.
21120         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21121         * modules/arpa_inet-c++-tests: New file.
21122         * tests/test-arpa_inet-c++.cc: New file.
21123
21124 2010-12-25  Bruno Haible  <bruno@clisp.org>
21125
21126         Fix more C++ link errors on Solaris 8.
21127         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21128         $(LIB_EACCESS).
21129         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21130         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21131         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21132         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21133         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21134
21135 2010-12-25  Bruno Haible  <bruno@clisp.org>
21136
21137         printf-posix: Fix link error when a non-GCC compiler is used.
21138         * lib/stdio.in.h (printf): When not using GCC, override printf
21139         correctly.
21140         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21141
21142 2010-12-25  Bruno Haible  <bruno@clisp.org>
21143
21144         strerror_r-posix: Update doc.
21145         * doc/posix-functions/strerror_r.texi: Update doc about the return
21146         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21147
21148 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21149
21150         utimens: simplify the logic of the previous change
21151         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21152         This should not affect whether the test succeeds or fails.
21153
21154         utimens: configure better on hosts with NFS clock skew
21155         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21156         uses the clock of the local host.  It might use the clock of the
21157         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21158         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21159
21160 2010-12-25  Bruno Haible  <bruno@clisp.org>
21161
21162         ptsname test: Avoid failure on Solaris.
21163         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21164         open a pseudo-terminal; don't use BSD-style ptys.
21165         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21166
21167 2010-12-25  Bruno Haible  <bruno@clisp.org>
21168
21169         ptsname: Avoid ERANGE failure on some systems.
21170         * lib/ptsname.c (buffer): Increase size.
21171
21172 2010-12-25  Bruno Haible  <bruno@clisp.org>
21173
21174         rename, renameat: Avoid test failures at NFS mounted locations.
21175         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21176         so that subsequent mkdir calls succeed.
21177
21178 2010-12-25  Bruno Haible  <bruno@clisp.org>
21179
21180         iswblank: Fix C++ link error on Solaris 8.
21181         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21182         _GL_FUNCDECL_SYS.
21183
21184 2010-12-25  Bruno Haible  <bruno@clisp.org>
21185
21186         unistd: Fix C++ link error on Solaris 8.
21187         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21188
21189 2010-12-25  Bruno Haible  <bruno@clisp.org>
21190
21191         readlink doc: Mention an old glibc bug.
21192         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21193
21194 2010-12-25  Bruno Haible  <bruno@clisp.org>
21195
21196         fcntl-h: Fix for use of C++ on glibc systems.
21197         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21198         also on glibc systems in C++ mode.
21199         Reported by Gary V. Vaughan <gary@gnu.org>.
21200
21201 2010-12-25  Bruno Haible  <bruno@clisp.org>
21202
21203         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21204         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21205
21206 2010-12-25  Bruno Haible  <bruno@clisp.org>
21207
21208         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21209         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21210         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21211         test whether truncl works according to ISO C 99 with IEC 60559.
21212         * m4/truncl-ieee.m4: New file.
21213         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21214         m4/signbit.m4.
21215         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21216
21217 2010-12-25  Bruno Haible  <bruno@clisp.org>
21218
21219         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21220         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21221         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21222         test whether ceill works according to ISO C 99 with IEC 60559.
21223         * m4/ceill-ieee.m4: New file.
21224         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21225         m4/signbit.m4.
21226         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21227
21228 2010-12-25  Bruno Haible  <bruno@clisp.org>
21229
21230         Ensure all prerequisites of <wchar.h> are included.
21231         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21232         before <wchar.h>.
21233         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21234         gl_MBRLEN_NUL_RETVAL): Likewise.
21235         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21236         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21237         AC_FUNC_MBRTOWC): Likewise.
21238         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21239         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21240         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21241         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21242         Likewise.
21243         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21244         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21245         (gl_WCHAR_H): Improve comments.
21246         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21247
21248 2010-12-25  Bruno Haible  <bruno@clisp.org>
21249
21250         strtok_r: Fix C syntax error in autoconf macro.
21251         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21252         characters in test program.
21253
21254 2010-12-24  Bruno Haible  <bruno@clisp.org>
21255
21256         ceil, trunc, round: Fix gcc warnings.
21257         * lib/ceil.c (MIN): Undefine before redefining.
21258         * lib/trunc.c (MIN): Likewise.
21259         * lib/round.c (MIN): Likewise.
21260         Include <math.h> first.
21261
21262 2010-12-24  Bruno Haible  <bruno@clisp.org>
21263
21264         select tests: Avoid failures on OSF/1 5.1.
21265         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21266         failure of closing the last socket; it may fail with ECONNRESET.
21267
21268 2010-12-24  Eric Blake  <eblake@redhat.com>
21269
21270         stdint: avoid HP-UX 10.20 preprocessor bug
21271         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21272         than #if.
21273         * tests/test-floor2.c (main): Likewise.
21274         Reported by Peter O'Gorman.
21275
21276         pipe: make obsoletion transition easier
21277         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21278         * modules/pipe (Files): Include revived file.
21279         (Include): Drop reference, to mirror getdate's behavior.
21280
21281 2010-12-24  Bruno Haible  <bruno@clisp.org>
21282
21283         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21284         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21285         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21286         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21287
21288 2010-12-24  Bruno Haible  <bruno@clisp.org>
21289
21290         gethostname: Ensure declaration on NonStop Kernel.
21291         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21292         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21293
21294 2010-12-24  Bruno Haible  <bruno@clisp.org>
21295
21296         sys_select: Ensure all necessary types on NonStop Kernel.
21297         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21298         include <sys/time.h>.
21299         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21300         NonStop Kernel.
21301         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21302
21303 2010-12-24  Bruno Haible  <bruno@clisp.org>
21304
21305         sys_select: Remove unneeded include.
21306         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21307         have <sys/select.h>.
21308
21309 2010-12-24  Bruno Haible  <bruno@clisp.org>
21310
21311         gethostname: Provide a fallback for HOST_NAME_MAX.
21312         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21313         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21314         instead.
21315         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21316
21317 2010-12-24  Bruno Haible  <bruno@clisp.org>
21318
21319         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21320         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21321         (SA_RESTART): Likewise.
21322         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21323
21324 2010-12-24  Bruno Haible  <bruno@clisp.org>
21325
21326         signal: Define NSIG.
21327         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21328         * tests/test-signal.c (nsig): New variable.
21329         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21330
21331 2010-12-24  Bruno Haible  <bruno@clisp.org>
21332
21333         rename, renameat: Avoid test failures on OSF/1 5.1.
21334         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21335         alternative error codes.
21336         * tests/test-renameat.c (main): Likewise.
21337
21338 2010-12-24  Bruno Haible  <bruno@clisp.org>
21339
21340         *printf: Detect large precisions bug on Solaris 10/SPARC.
21341         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21342         by Paul Eggert.
21343         * tests/test-snprintf-posix.h (test_function): Add this test code here
21344         too.
21345         * tests/test-sprintf-posix.h (test_function): Likewise.
21346         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21347         * tests/test-vasprintf-posix.c (test_function): Likewise.
21348         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21349         around by gnulib.
21350         * doc/posix-functions/printf.texi: Likewise.
21351         * doc/posix-functions/snprintf.texi: Likewise.
21352         * doc/posix-functions/sprintf.texi: Likewise.
21353         * doc/posix-functions/vfprintf.texi: Likewise.
21354         * doc/posix-functions/vprintf.texi: Likewise.
21355         * doc/posix-functions/vsnprintf.texi: Likewise.
21356         * doc/posix-functions/vsprintf.texi: Likewise.
21357         * doc/posix-functions/dprintf.texi: Undo last commit.
21358         * doc/posix-functions/vdprintf.texi: Likewise.
21359
21360 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21361
21362         tests: port test-fdutimensat.c to Solaris 8
21363         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21364         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21365         On Solaris 8, it fails with errno == ENOSYS, because there is no
21366         futimens (so it can't use the fd), and there is no lutimens (so it
21367         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21368
21369         vsnprintf: make more consistent with snprintf; doc fixes
21370
21371         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21372         the byte count return problem was promoted from the snprintf-posix
21373         to the snprintf module.
21374         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21375         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21376         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21377         * tests/test-snprintf.c (main): Check the byte count returned.
21378         * tests/test-vsnprintf.c (main): Likewise.
21379
21380 2010-12-23  Eric Blake  <eblake@redhat.com>
21381
21382         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21383         * modules/sigpipe (License): Relax license.
21384
21385 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21386
21387         doc: document Solaris printf bug with large float precisions
21388         * doc/posix-functions/dprintf.texi (dprintf):
21389         * doc/posix-functions/fprintf.texi (fprintf):
21390         * doc/posix-functions/printf.texi (printf):
21391         * doc/posix-functions/snprintf.texi (snprintf):
21392         * doc/posix-functions/sprintf.texi (sprintf):
21393         * doc/posix-functions/vdprintf.texi (vdprintf):
21394         * doc/posix-functions/vfprintf.texi (vfprintf):
21395         * doc/posix-functions/vprintf.texi (vprintf):
21396         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21397         * doc/posix-functions/vsprintf.texi (vsprintf):
21398         Mention that these functions mishandle large floating point
21399         precisions on Solaris 10.  The same bug is also present in Solaris
21400         8, and I assume earlier.  This causes "cd gnulib-tests; make
21401         check" to fail on Solaris 8 (and I assume, later) when building
21402         the latest coreutils, in test-vasprintf-posix's call to
21403         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21404         the wide flavors (e.g., wprintf) so this patch just updates the
21405         documentation for the narrow ones.
21406
21407         test-posixtm.c: add two tests
21408         * tests/test-posixtm.c: Add two tests, to highlight the
21409         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21410         around this bug; this is merely to document it.
21411
21412 2010-12-22  Bruno Haible  <bruno@clisp.org>
21413
21414         getlogin_r: Work around portability problem on OSF/1.
21415         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21416         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21417         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21418         test for a truncated result.
21419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21420         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21421         * modules/getlogin_r (Depends-on): Add memchr.
21422         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21423
21424 2010-12-22  Bruno Haible  <bruno@clisp.org>
21425
21426         ptsname: Avoid test failure on OSF/1 5.1.
21427         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21428         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21429         (same_slave): New function.
21430         (main): Use it to compare ptsname's result with the expected file name.
21431
21432 2010-12-22  Bruno Haible  <bruno@clisp.org>
21433
21434         Port extended stdio modules to HP NonStop Kernel.
21435         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21436         macros.
21437         * lib/fbufmode.c: Update comments.
21438         * lib/fflush.c: Likewise.
21439         * lib/fpurge.c: Likewise.
21440         * lib/freadable.c: Likewise.
21441         * lib/freadahead.c: Likewise.
21442         * lib/freading.c: Likewise.
21443         * lib/freadptr.c: Likewise.
21444         * lib/freadseek.c: Likewise.
21445         * lib/fseeko.c: Likewise.
21446         * lib/fseterr.c: Likewise.
21447         * lib/fwritable.c: Likewise.
21448         * lib/fwriting.c: Likewise.
21449         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21450
21451 2010-12-22  Bruno Haible  <bruno@clisp.org>
21452
21453         ttyname_r: Work around bug on OSF/1 5.1.
21454         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21455         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21456         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21457         present.
21458         * lib/ttyname_r.c (ttyname_r): Update comments.
21459
21460 2010-12-22  Bruno Haible  <bruno@clisp.org>
21461
21462         round: Implement result sign according to IEEE 754.
21463         * lib/round.c (MIN, MINUS_ZERO): New macros.
21464         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21465         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21466         * tests/test-round-ieee.c (main): Likewise.
21467         * tests/test-roundl-ieee.c (main): Likewise.
21468
21469         trunc: Implement result sign according to IEEE 754.
21470         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21471         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21472         * tests/test-trunc2.c: Include minus-zero.h.
21473         (MINUS_ZERO): New macro.
21474         (trunc_reference): Keep in sync with lib/trunc.c.
21475         * tests/test-truncf2.c: Include minus-zero.h.
21476         (MINUS_ZERO): New macro.
21477         (truncf_reference): Keep in sync with lib/trunc.c.
21478         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21479         * tests/test-trunc-ieee.c (main): Likewise.
21480         * tests/test-truncl-ieee.c (main): Likewise.
21481
21482         ceil: Implement result sign according to IEEE 754.
21483         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21484         (FUNC): Return -0.0 for -1 < x < 0.
21485         * tests/test-ceil2.c: Include minus-zero.h.
21486         (MINUS_ZERO): New macro.
21487         (ceil_reference): Keep in sync with lib/ceil.c.
21488         * tests/test-ceilf2.c: Include minus-zero.h.
21489         (MINUS_ZERO): New macro.
21490         (ceilf_reference): Keep in sync with lib/ceil.c.
21491         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21492         * tests/test-ceil-ieee.c (main): Likewise.
21493         * tests/test-ceill-ieee.c (main): Likewise.
21494
21495         floor: Implement result sign according to IEEE 754.
21496         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21497         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21498         * tests/test-floorf2.c (floorf_reference): Likewise.
21499         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21500         * tests/test-floor-ieee.c (main): Likewise.
21501         * tests/test-floorl-ieee.c (main): Likewise.
21502
21503 2010-12-22  Bruno Haible  <bruno@clisp.org>
21504
21505         getaddrinfo: Update doc.
21506         * doc/posix-functions/gai_strerror.texi: Return type is also different
21507         on AIX and HP-UX.
21508
21509 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21510
21511         getaddrinfo, inet_ntop: Update doc for Solaris.
21512         * doc/posix-functions/gai_strerror.texi: Return type is also an
21513         issue on Solaris 9 and earlier.
21514         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21515         on Solaris 10 and earlier.
21516
21517 2010-12-21  Bruno Haible  <bruno@clisp.org>
21518
21519         New module 'roundl-ieee'.
21520         * modules/roundl-ieee: New file.
21521         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21522         test whether roundl works according to ISO C 99 with IEC 60559.
21523         * m4/roundl-ieee.m4: New file.
21524         * modules/roundl-ieee-tests: New file.
21525         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21526         * tests/test-roundl.c (main): Remove signbit tests.
21527         * modules/roundl-tests (Depends-on): Remove signbit.
21528         * doc/posix-functions/roundl.texi: Mention the new module.
21529
21530 2010-12-21  Bruno Haible  <bruno@clisp.org>
21531
21532         New module 'truncl-ieee'.
21533         * modules/truncl-ieee: New file.
21534         * modules/truncl-ieee-tests: New file.
21535         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21536         * tests/test-truncl.c (main): Remove signbit tests.
21537         * modules/truncl-tests (Depends-on): Remove signbit.
21538         * doc/posix-functions/truncl.texi: Mention the new module.
21539
21540 2010-12-21  Bruno Haible  <bruno@clisp.org>
21541
21542         New module 'ceill-ieee'.
21543         * modules/ceill-ieee: New file.
21544         * modules/ceill-ieee-tests: New file.
21545         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21546         * tests/test-ceill.c (main): Remove signbit tests.
21547         * modules/ceill-tests (Depends-on): Remove signbit.
21548         * doc/posix-functions/ceill.texi: Mention the new module.
21549
21550 2010-12-21  Bruno Haible  <bruno@clisp.org>
21551
21552         New module 'floorl-ieee'.
21553         * modules/floorl-ieee: New file.
21554         * modules/floorl-ieee-tests: New file.
21555         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21556         * tests/test-floorl.c (main): Remove signbit tests.
21557         * modules/floorl-tests (Depends-on): Remove signbit.
21558         * doc/posix-functions/floorl.texi: Mention the new module.
21559
21560 2010-12-21  Bruno Haible  <bruno@clisp.org>
21561
21562         New module 'round-ieee'.
21563         * modules/round-ieee: New file.
21564         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21565         whether round works according to ISO C 99 with IEC 60559.
21566         * m4/round-ieee.m4: New file.
21567         * modules/round-ieee-tests: New file.
21568         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21569         * tests/test-round1.c (main): Remove signbit tests.
21570         * modules/round-tests (Depends-on): Remove 'signbit'.
21571         * doc/posix-functions/round.texi: Mention the new module.
21572
21573 2010-12-21  Bruno Haible  <bruno@clisp.org>
21574
21575         New module 'trunc-ieee'.
21576         * modules/trunc-ieee: New file.
21577         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21578         whether trunc works according to ISO C 99 with IEC 60559.
21579         * m4/trunc-ieee.m4: New file.
21580         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21581         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21582         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21583         * modules/trunc-ieee-tests: New file.
21584         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21585         * tests/test-trunc1.c (main): Remove signbit tests.
21586         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21587         * doc/posix-functions/trunc.texi: Mention the new module.
21588
21589 2010-12-21  Bruno Haible  <bruno@clisp.org>
21590
21591         New module 'ceil-ieee'.
21592         * modules/ceil-ieee: New file.
21593         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21594         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21595         ISO C 99 with IEC 60559.
21596         * m4/ceil-ieee.m4: New file.
21597         * modules/ceil (Files): Add lib/ceil.c.
21598         (Depends-on): Add 'float'.
21599         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21600         * lib/math.in.h (ceil): New declaration.
21601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21602         REPLACE_CEIL.
21603         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21604         * modules/ceil-ieee-tests: New file.
21605         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21606         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21607         * doc/posix-functions/ceil.texi: Mention the new module.
21608
21609 2010-12-21  Bruno Haible  <bruno@clisp.org>
21610
21611         New module 'floor-ieee'.
21612         * modules/floor-ieee: New file.
21613         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21614         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21615         ISO C 99 with IEC 60559.
21616         * m4/floor-ieee.m4: New file.
21617         * modules/floor (Files): Add lib/floor.c.
21618         (Depends-on): Add 'float'.
21619         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21620         * lib/math.in.h (floor): New declaration.
21621         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21622         REPLACE_FLOOR.
21623         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21624         * modules/floor-ieee-tests: New file.
21625         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21626         * tests/test-math-c++.cc: Check the signature of 'floor'.
21627         * doc/posix-functions/floor.texi: Mention the new module.
21628
21629 2010-12-21  Bruno Haible  <bruno@clisp.org>
21630
21631         New module 'roundf-ieee'.
21632         * modules/roundf-ieee: New file.
21633         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21634         test whether roundf works according to ISO C 99 with IEC 60559.
21635         * m4/roundf-ieee.m4: New file.
21636         * modules/roundf-ieee-tests: New file.
21637         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21638         * tests/test-roundf1.c (main): Remove signbit tests.
21639         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21640         * doc/posix-functions/roundf.texi: Mention the new module.
21641
21642 2010-12-21  Bruno Haible  <bruno@clisp.org>
21643
21644         New module 'truncf-ieee'.
21645         * modules/truncf-ieee: New file.
21646         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21647         test whether truncf works according to ISO C 99 with IEC 60559.
21648         * m4/truncf-ieee.m4: New file.
21649         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21650         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21651         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21652         * modules/truncf-ieee-tests: New file.
21653         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21654         * tests/test-truncf1.c (main): Remove signbit tests.
21655         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21656         * doc/posix-functions/truncf.texi: Mention the new module.
21657
21658 2010-12-21  Bruno Haible  <bruno@clisp.org>
21659
21660         New module 'ceilf-ieee'.
21661         * modules/ceilf-ieee: New file.
21662         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21663         test whether ceilf works according to ISO C 99 with IEC 60559.
21664         * m4/ceilf-ieee.m4: New file.
21665         * modules/ceilf-ieee-tests: New file.
21666         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21667         * tests/test-ceilf1.c (main): Remove signbit tests.
21668         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21669         * doc/posix-functions/ceilf.texi: Mention the new module.
21670
21671 2010-12-21  Bruno Haible  <bruno@clisp.org>
21672
21673         New module 'floorf-ieee'.
21674         * modules/floorf-ieee: New file.
21675         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21676         test whether floorf works according to ISO C 99 with IEC 60559.
21677         * m4/floorf-ieee.m4: New file.
21678         * modules/floorf-ieee-tests: New file.
21679         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21680         * tests/test-floorf1.c (main): Remove signbit tests.
21681         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21682         * doc/posix-functions/floorf.texi: Mention the new module.
21683
21684 2010-12-21  Bruno Haible  <bruno@clisp.org>
21685
21686         Support for minus zero in autoconf macros.
21687         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21688         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21689         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21690         * tests/minus-zero.h: Update comments.
21691
21692 2010-12-21  Bruno Haible  <bruno@clisp.org>
21693
21694         Tests for module 'ceil'.
21695         * modules/ceil-tests: New file.
21696         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21697         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21698
21699 2010-12-21  Bruno Haible  <bruno@clisp.org>
21700
21701         Tests for module 'floor'.
21702         * modules/floor-tests: New file.
21703         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21704         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21705
21706 2010-12-21  Bruno Haible  <bruno@clisp.org>
21707
21708         math: Fix indentation.
21709         * lib/math.in.h (floorf): Fix indentation.
21710
21711 2010-12-21  Bruno Haible  <bruno@clisp.org>
21712
21713         Fix cross-compilation guesses on Solaris.
21714         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21715         not match "solaris2.10".
21716         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21717         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21718         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21719
21720 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21721
21722         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21723         This fixes a problem observed with the latest coreutils snapshot
21724         that caused a test to fail on Solaris 8.  src/csplit.c's call
21725         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21726         earlier, instead of returning the number of bytes that would have
21727         been generated; this causes csplit to incorrectly report memory
21728         exhaustion.
21729         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21730         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21731         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21732         comments to match.
21733         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21734         Fix typo in matching older versions of Solaris: "solaris2.10"
21735         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21736         only for guessing while cross-compiling.
21737         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21738
21739 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21740
21741         ftoastr: fix comment again
21742         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21743         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21744         Also, simplify example a bit by using flags = 0.
21745
21746 2010-12-20  Bruno Haible  <bruno@clisp.org>
21747
21748         round*, trunc*: Update documentation regarding glibc.
21749         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21750         * doc/posix-functions/round.texi: Likewise.
21751         * doc/posix-functions/roundl.texi: Likewise.
21752         * doc/posix-functions/truncf.texi: Likewise.
21753         * doc/posix-functions/trunc.texi: Likewise.
21754         * doc/posix-functions/truncl.texi: Likewise.
21755
21756 2010-12-20  Bruno Haible  <bruno@clisp.org>
21757
21758         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21759         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21760         * doc/posix-functions/round.texi: Likewise.
21761         * doc/posix-functions/roundl.texi: Likewise.
21762
21763 2010-12-20  Bruno Haible  <bruno@clisp.org>
21764
21765         ttyname_r: Add missing declaration on HP-UX 11.
21766         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21767         HAVE_TTYNAME_R.
21768         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21769         declared. Set HAVE_TTYNAME_R always.
21770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21771         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21772         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21773         HAVE_TTYNAME_R.
21774         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21775
21776 2010-12-20  Bruno Haible  <bruno@clisp.org>
21777
21778         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21779         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21780         * doc/posix-functions/getlogin_r.texi: Likewise.
21781         * tests/test-getlogin.c: Include <errno.h>.
21782         (main): Avoid test failure on HP-UX 11.11.
21783         * tests/test-getlogin_r.c (main): Likewise.
21784
21785 2010-12-20  Bruno Haible  <bruno@clisp.org>
21786
21787         getlogin_r: Add missing declaration on HP-UX 11.
21788         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21789         declared also when it exists as a function.
21790         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21791
21792 2010-12-20  Bruno Haible  <bruno@clisp.org>
21793
21794         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21795         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21796         through wcrtomb.
21797
21798 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21799
21800         ftoastr: fix comment
21801         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21802         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
21803
21804 2010-12-19  Bruno Haible  <bruno@clisp.org>
21805
21806         isnan: Ensure it is a macro.
21807         * lib/math.in.h (isnan): Define as a macro if not already a macro.
21808         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
21809         Solaris.
21810
21811 2010-12-19  Bruno Haible  <bruno@clisp.org>
21812
21813         ldexpl test: Fix link error on OSF/1 5.1.
21814         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21815
21816 2010-12-19  Bruno Haible  <bruno@clisp.org>
21817
21818         wctype: Make it work in C++ mode on OSF/1 5.1.
21819         * lib/wctype.in.h (iswblank): Declare but not define here.
21820         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21821         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21822         * modules/wctype (Files): Add lib/iswblank.c.
21823
21824 2010-12-19  Bruno Haible  <bruno@clisp.org>
21825
21826         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21827         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21828         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21829
21830 2010-12-19  Bruno Haible  <bruno@clisp.org>
21831
21832         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21833         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21834         _POSIX_PII_SOCKET.
21835         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21836         * doc/posix-functions/recvfrom.texi: Likewise.
21837         * doc/posix-functions/send.texi: Likewise.
21838         * doc/posix-functions/sendto.texi: Likewise.
21839
21840 2010-12-19  Bruno Haible  <bruno@clisp.org>
21841
21842         tcgetsid: Add missing declaration on OSF/1 5.1.
21843         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21844         HAVE_TCGETSID.
21845         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21846         Don't set HAVE_TCGETSID.
21847         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21848         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21849         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21850         HAVE_TCGETSID.
21851         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21852
21853 2010-12-19  Bruno Haible  <bruno@clisp.org>
21854
21855         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21856         * lib/stdio.in.h: During the include_next statement, let recursive
21857         includes of this file include only the system header file.
21858
21859 2010-12-19  Bruno Haible  <bruno@clisp.org>
21860
21861         iconv_open: Fix regression from 2010-12-04.
21862         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21863         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21864
21865 2010-12-19  Bruno Haible  <bruno@clisp.org>
21866
21867         stdbool test: Avoid a gcc warning.
21868         * tests/test-stdbool.c (main): Fail if e1 is false.
21869         Reported by Jim Meyering.
21870
21871 2010-12-19  Jim Meyering  <meyering@redhat.com>
21872
21873         setenv: restore to working order
21874         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21875         mistakenly removed.
21876         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21877         HAVE_SETENV.
21878         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21879         HAVE_SETENV.
21880
21881 2010-12-19  Bruno Haible  <bruno@clisp.org>
21882
21883         Document some different function declarations on OSF/1 5.1.
21884         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21885         * doc/posix-functions/inet_ntop.texi: Likewise.
21886         * doc/posix-functions/gethostname.texi: Likewise.
21887         * lib/unistd.in.h (gethostname): Update comment.
21888
21889 2010-12-19  Bruno Haible  <bruno@clisp.org>
21890
21891         doc: Mention vasprintf-posix module.
21892         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21893         the 'vasprintf-posix' module.
21894         * doc/glibc-functions/vasprintf.texi: Likewise.
21895
21896 2010-12-19  Bruno Haible  <bruno@clisp.org>
21897
21898         unsetenv: Add missing declaration on OSF/1 5.1.
21899         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21900         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21901         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21903         not HAVE_UNSETENV.
21904         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21905         HAVE_UNSETENV.
21906         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21907
21908 2010-12-19  Bruno Haible  <bruno@clisp.org>
21909
21910         setenv: Add missing declaration on OSF/1 5.1.
21911         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21912         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21913         declared. Don't set HAVE_SETENV.
21914         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21915         not HAVE_SETENV.
21916         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
21917         HAVE_SETENV.
21918         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
21919
21920 2010-12-19  Bruno Haible  <bruno@clisp.org>
21921
21922         nl_langinfo tests: Avoid gcc warning.
21923         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
21924
21925 2010-12-19  Bruno Haible  <bruno@clisp.org>
21926
21927         mknod: Avoid error in C++ mode on OSF/1 with GCC.
21928         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
21929         _GL_CXXALIAS_SYS.
21930
21931 2010-12-19  Bruno Haible  <bruno@clisp.org>
21932
21933         stdbool: Relax test.
21934         * tests/test-stdbool.c (e): Don't require that casts from a variable's
21935         address to 'bool' work in static initializer, for compilers other than
21936         GCC.
21937
21938 2010-12-19  Bruno Haible  <bruno@clisp.org>
21939
21940         ftello: Add missing declaration on OSF/1 5.1.
21941         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
21942         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
21943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
21944         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
21945         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
21946
21947 2010-12-19  Bruno Haible  <bruno@clisp.org>
21948
21949         fseeko: Add missing declaration on OSF/1 5.1.
21950         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
21951         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
21952         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
21953         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
21954         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
21955
21956 2010-12-19  Bruno Haible  <bruno@clisp.org>
21957
21958         fchdir: Add missing declaration on OSF/1 5.1.
21959         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
21960         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
21961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
21962         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
21963         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
21964
21965 2010-12-19  Bruno Haible  <bruno@clisp.org>
21966
21967         relocatable-prog-wrapper: Separate from relocatable-prog.
21968         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
21969         uninstall-relocwrapper rule here.
21970         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
21971         Reported by Ian Beckwith <ianb@erislabs.net>.
21972
21973 2010-12-19  Bruno Haible  <bruno@clisp.org>
21974
21975         unistr/u8-mbsnlen: Add missing dependency.
21976         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
21977         Reported by Ian Beckwith <ianb@erislabs.net>.
21978
21979 2010-12-19  Bruno Haible  <bruno@clisp.org>
21980
21981         iconv: Make it possible again to use this module without 'iconv-h'.
21982         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
21983         if it is not defined.
21984         Reported by Ian Beckwith <ianb@erislabs.net>.
21985
21986 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
21987
21988         acl: port to Solaris 8 when copying from tmpfs to ufs
21989         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
21990         error number.  Problem observed on Solaris 8 with latest
21991         coreutils, with "mv A B", where A is on a tmpfs file system and B
21992         is on a ufs file system.  This caused coreutils' mv/part-symlink
21993         test to fail.
21994
21995         tests: set fail=0 at start
21996         * tests/init.sh (setup_): Move fail=0 initialization here ...
21997         (mktempd_): ... from here, so that tests can rely on fail being
21998         set to 0 initially.  This fixes a problem in coreutils; see:
21999         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22000
22001 2010-12-18  Bruno Haible  <bruno@clisp.org>
22002
22003         memmem-simple: Stylistic changes.
22004         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22005         Fix preprocessor directive indentation.
22006
22007 2010-12-15  Pádraig Brady <P@draigBrady.com>
22008
22009         memmem, memmem-simple: reorganize and expand empty needle check
22010         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22011         functional checks to memmem-simple so that one has a fully functional
22012         memmem by using just this module.
22013         Restrict the performance only check to the memmem module.
22014         Also expand the empty needle check to ensure the correct
22015         pointer is returned, not just a non NULL pointer.
22016         * doc/glibc-functions/memmem.texi: Rearrange the portability
22017         documentation to correlate with the rearranged checks.
22018         Clarify exactly how the memmem and memmem-simple modules
22019         relate to each other.
22020
22021 2010-12-15  Pádraig Brady <P@draigBrady.com>
22022             Bruno Haible  <bruno@clisp.org>
22023
22024         Improve cross-compilation guesses for uClibc.
22025         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22026         that uClibc does not have the glibc bug.
22027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22028         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22029
22030 2010-12-14  Eric Blake  <eblake@redhat.com>
22031
22032         configmake: provide fallbacks for oldest supported autotools
22033         * m4/configmake.m4: New file.
22034         * modules/configmake (Files): Ship it.
22035         (configure.ac): Use it to guarantee fallbacks.
22036
22037 2010-12-13  Pádraig Brady <P@draigBrady.com>
22038
22039         read-file: Improve handling of large files
22040         * lib/read-file.c (fread_file): Minimize realloc()s
22041         for regular files, and better manage sizes around SIZE_MAX.
22042
22043 2010-12-13  Eric Blake  <eblake@redhat.com>
22044
22045         cloexec, fcntl: relax license
22046         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22047         consent from all contributors.
22048         * modules/fcntl (License): Likewise.
22049
22050 2010-12-10  Bruno Haible  <bruno@clisp.org>
22051
22052         Tests for module 'pipe-posix'.
22053         * modules/pipe-posix-tests: New file.
22054         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22055
22056 2010-12-10  Bruno Haible  <bruno@clisp.org>
22057
22058         pipe-posix: Make it work in C++ mode.
22059         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22060         (pipe): Use common idiom, not a macro definition.
22061         * lib/pipe.c: New file.
22062         * m4/pipe.m4: New file.
22063         * modules/pipe-posix (Description): Enhance.
22064         (Files): Add lib/pipe.c, m4/pipe.m4.
22065         (configure.ac): Invoke gl_FUNC_PIPE.
22066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22067         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22068         * tests/test-unistd-c++.cc: Check the signature of pipe.
22069
22070 2010-12-10  Bruno Haible  <bruno@clisp.org>
22071
22072         Rename module 'pipe' to 'spawn-pipe'.
22073         * modules/spawn-pipe: New file, renamed from modules/pipe.
22074         (Files, configure.ac, Makefile.am): Update.
22075         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22076         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22077         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22078         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22079         "spawn-pipe.h" instead of "pipe.h".
22080         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22081         to gl_SPAWN_PIPE.
22082         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22083         (Files, Makefile.am): Update.
22084         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22085         Update.
22086         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22087         Include "spawn-pipe.h" instead of "pipe.h".
22088         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22089         * lib/javacomp.c: Likewise.
22090         * lib/javaversion.c: Likewise.
22091         * lib/pipe-filter-gi.c: Likewise.
22092         * lib/pipe-filter-ii.c: Likewise.
22093         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22094         * modules/javacomp (Depends-on): Likewise.
22095         * modules/javaversion (Depends-on): Likewise.
22096         * modules/pipe-filter-gi (Depends-on): Likewise.
22097         * modules/pipe-filter-ii (Depends-on): Likewise.
22098         * MODULES.html.sh (Executing programs): Update.
22099         * NEWS: Mention the change.
22100
22101 2010-12-10  Eric Blake  <eblake@redhat.com>
22102
22103         pipe-posix: new module
22104         * modules/pipe-posix: New file.
22105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22106         (gl_UNISTD_H): Check for declaration.
22107         * modules/unistd (Makefile.am): Substitute it.
22108         * lib/unistd.in.h (pipe): Provide it for mingw.
22109         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22110         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22111
22112 2010-12-07  Bruno Haible  <bruno@clisp.org>
22113
22114         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22115         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22116         u8_strcmp_gnu.
22117         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22118
22119 2010-12-06  Bruno Haible  <bruno@clisp.org>
22120
22121         Update internal documentation.
22122         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22123
22124 2010-12-04  Bruno Haible  <bruno@clisp.org>
22125
22126         Put more information about failed tests into the test return codes.
22127         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22128         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22129         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22130         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22131         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22132         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22133         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22134         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22135         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22136         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22137         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22138         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22139         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22140         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22141         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22142         returns a bit mask.
22143         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22144         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22145         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22146         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22147         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22148         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22149         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22150         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22151         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22152         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22153         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22154         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22155         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22156         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22157         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22158         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22159         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22160         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22161         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22162         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22163         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22164         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22165         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22166         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22167         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22168         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22169         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22170         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22171         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22172         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22173         gl_PRINTF_PRECISION): Likewise.
22174         * m4/regex.m4 (gl_REGEX): Likewise.
22175         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22176         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22177         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22178         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22179         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22180         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22181         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22182         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22183         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22184         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22185         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22186         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22187         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22188         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22189         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22190         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22191         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22192         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22193         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22194         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22195         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22196         enumerated value.
22197         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22198
22199 2010-12-04  Bruno Haible  <bruno@clisp.org>
22200
22201         Update for Solaris 11 2010-11.
22202         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22203         Express, released in November 2010.
22204
22205 2010-12-04  Bruno Haible  <bruno@clisp.org>
22206
22207         nproc: Relax license.
22208         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22209         and Paul Eggert.
22210         Requested by Ludovic Courtès <ludo@gnu.org>.
22211
22212 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22213
22214         utimecmp: fine-grained src to nearby coarse-grained dest
22215
22216         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22217         and the source is on a file system with higher-resolution time
22218         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22219         not work, and the time stamps are close together, the algorithm to
22220         determine the exact resolution from the read-back mtime was buggy:
22221         it had a "!=" where it should have had an "==".  This bug has been
22222         in the code ever since it was introduced to gnulib.
22223         Problem reported by Dan Jacobson in
22224         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22225
22226 2010-11-30  Bruno Haible  <bruno@clisp.org>
22227
22228         strerror_r-posix: Fix autoconf test.
22229         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22230
22231 2010-11-28  Bruno Haible  <bruno@clisp.org>
22232             Paul Eggert  <eggert@cs.ucla.edu>
22233
22234         Tests for module 'getdomainname'.
22235         * modules/getdomainname-tests: New file.
22236         * tests/test-getdomainname.c: New file, based on
22237         tests/test-gethostname.c.
22238
22239 2010-11-28  Bruno Haible  <bruno@clisp.org>
22240             Paul Eggert  <eggert@cs.ucla.edu>
22241
22242         getdomainname: Use the system function when possible.
22243         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22244         (getdomainname): Replace if needed. Provide the declaration if it is
22245         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22246         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22247         (getdomainname): When the system has getdomainname, call the system
22248         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22249         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22250         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22251         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22252         the function if its second argument is of type 'int' or if it is found
22253         in libnsl.
22254         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22255         <sys/systeminfo.h> and sysinfo().
22256         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22258         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22259         HAVE_GETDOMAINNAME.
22260         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22261         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22262         * doc/glibc-functions/getdomainname.texi: Document the problems with
22263         the getdomainname declaration.
22264
22265 2010-11-28  Bruno Haible  <bruno@clisp.org>
22266
22267         sys_socket: Ensure ss_family field on AIX.
22268         * lib/sys_socket.in.h (ss_family): New macro definition.
22269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22270         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22271         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22272         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22273         * modules/sys_socket (Makefile.am): Substitute
22274         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22275         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22276
22277 2010-11-27  Bruno Haible  <bruno@clisp.org>
22278
22279         readline: Improve configure output.
22280         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22281         "checking for readline..." result understandable.
22282
22283 2010-11-27  Bruno Haible  <bruno@clisp.org>
22284
22285         *printf-posix: Detect a bug on Solaris 10/x86.
22286         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22287         for floating-point output.
22288         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22289         directive.
22290         * tests/test-snprintf-posix.h (test_function): Likewise.
22291         * tests/test-sprintf-posix.h (test_function): Likewise.
22292         * tests/test-vasprintf-posix.c (test_function): Likewise.
22293         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22294         * doc/posix-functions/printf.texi: Likewise.
22295         * doc/posix-functions/snprintf.texi: Likewise.
22296         * doc/posix-functions/sprintf.texi: Likewise.
22297         * doc/posix-functions/vfprintf.texi: Likewise.
22298         * doc/posix-functions/vprintf.texi: Likewise.
22299         * doc/posix-functions/vsnprintf.texi: Likewise.
22300         * doc/posix-functions/vsprintf.texi: Likewise.
22301         * doc/glibc-functions/obstack_printf.texi: Likewise.
22302         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22303
22304 2010-11-27  Bruno Haible  <bruno@clisp.org>
22305
22306         Fix link error when module libunistring-optional is in use.
22307         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22308         * modules/striconveha-tests (Makefile.am): Likewise.
22309
22310 2010-11-27  Bruno Haible  <bruno@clisp.org>
22311
22312         regex: Mention link dependencies.
22313         * modules/regex (Link): New section.
22314         * modules/rpmatch (Link): Likewise.
22315         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22316
22317 2010-11-27  Bruno Haible  <bruno@clisp.org>
22318
22319         ftoastr: Fix compilation error on Solaris.
22320         * lib/ftoastr.c: Include <config.h>.
22321
22322 2010-11-27  Bruno Haible  <bruno@clisp.org>
22323
22324         getloadavg: Update documentation.
22325         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22326
22327 2010-11-27  Bruno Haible  <bruno@clisp.org>
22328
22329         sys_socket: Fix test whether the functions are declared.
22330         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22331         not <sys/select.h>.
22332
22333 2010-11-27  Bruno Haible  <bruno@clisp.org>
22334
22335         getpass: Make sure to get system declaration on some platforms.
22336         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22337         gl_USE_SYSTEM_EXTENSIONS.
22338         * modules/getpass (Depends-on): Add extensions.
22339
22340 2010-11-26  Bruno Haible  <bruno@clisp.org>
22341
22342         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22343         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22344         'iconv' module is present.
22345         (ICONV_CONST): New macro.
22346         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22347         ICONV_CONST.
22348         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22349         set ICONV_CONST.
22350         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22351         here.
22352         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22353         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22354         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22355         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22356         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22357         present.
22358
22359 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22360
22361         ftoastr: comment fix
22362         * lib/ftoastr.c: "little" -> "little or no" in comment
22363
22364 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22365
22366         stdint: port to GCC 4.3 + OSX + Octave
22367         On this platform, stdint.h is buggy and defines int64_t to long
22368         long int.  The replacement defined it to long int, causing
22369         problems with C++ style name mangling.  Instead, trust the system
22370         definition if INT64_MAX is defined, and likewise for the unsigned
22371         variant.   Problem reported by Jarno Rajahalme in
22372         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22373         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22374         and don't mess with int64_t and INT64_MAX in this case.
22375         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22376
22377 2010-11-24  Bruno Haible  <bruno@clisp.org>
22378
22379         doc: Corrections regarding MacOS X 10.4 and 10.5.
22380         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22381         MacOS X.
22382         Reported by Simon Josefsson.
22383
22384 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22385
22386         Uninstall ".bin" files installed by relocwrapper.
22387         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22388         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22389         unless it is already there.
22390
22391 2010-11-21  Bruno Haible  <bruno@clisp.org>
22392
22393         Update for NetBSD 5.0.
22394         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22395         NetBSD; the test fails on NetBSD 5.0.
22396         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22397         about NetBSD.
22398
22399 2010-11-21  Bruno Haible  <bruno@clisp.org>
22400
22401         Update for HP-UX 11.23 and HP-UX 11.31.
22402         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22403         HP-UX.
22404
22405 2010-11-21  Bruno Haible  <bruno@clisp.org>
22406
22407         Update for MacOS X 10.5.
22408         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22409         MacOS X; the test fails on MacOS X 10.5.8.
22410         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22411         about MacOS X.
22412
22413 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22414
22415         bootstrap: add bootstrap_sync option.
22416         See discussion at
22417         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22418         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22419         * build-aux/bootstrap: Accept --bootstrap-sync to update
22420         bootstrap if it is not identical to the local gnulib's
22421         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22422         enable this by default.  Accept --no-bootstrap-sync to disable
22423         it.
22424
22425 2010-11-20  Bruno Haible  <bruno@clisp.org>
22426
22427         Ensure that <features.h> is included before __GLIBC__ is tested.
22428         * lib/printf-parse.h: Include <features.h>.
22429         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22430         Reported by Mike Frysinger <vapier@gentoo.org>.
22431
22432         Ensure that <features.h> is included before __GLIBC__ is tested.
22433         * lib/wchar.in.h: Include <features.h>.
22434         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22435         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22436         Reported by Mike Frysinger <vapier@gentoo.org>.
22437
22438         Ensure that <features.h> is included before __GLIBC__ is tested.
22439         * lib/arpa_inet.in.h: Include <features.h>.
22440         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22441         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22442         Reported by Mike Frysinger <vapier@gentoo.org>.
22443
22444         Ensure that <features.h> is included before __GLIBC__ is tested.
22445         * build-aux/link-warning.h: Include <features.h>.
22446         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22447         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22448         Reported by Mike Frysinger <vapier@gentoo.org>.
22449
22450         Ensure that <features.h> is included before __GLIBC__ is tested.
22451         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22452         Reported by Mike Frysinger <vapier@gentoo.org>.
22453
22454 2010-11-20  Bruno Haible  <bruno@clisp.org>
22455
22456         memmem: Fix autoconf test.
22457         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22458
22459 2010-11-20  Bruno Haible  <bruno@clisp.org>
22460
22461         Port to uClibc.
22462         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22463         * lib/fcntl.in.h: Likewise.
22464         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22465         * lib/mbrtowc.c (mbrtowc): Likewise.
22466         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22467         * lib/strerror_r.c: Likewise.
22468         * lib/unistr/u8-strnlen.c: Likewise.
22469         * lib/vasnprintf.c (decimal_point_char): Likewise.
22470         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22471         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22472         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22473         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22474         * tests/test-sigaction.c (handler, main): Likewise.
22475         * lib/freading.h: Treat uClibc like a non-glibc platform.
22476         * lib/freading.c: Likewise.
22477         * lib/gettext.h: Likewise.
22478         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22479         Likewise.
22480         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22481         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22482         * lib/propername.c (proper_name_utf8): Likewise.
22483         * lib/spawn.in.h: Likewise.
22484         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22485         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22486         mem_cd_iconveh_internal): Likewise.
22487         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22488         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22489         strstr, strcasestr): Likewise.
22490         * lib/unicodeio.c (unicode_to_mb): Likewise.
22491         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22492         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22493         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22494         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22495         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22496         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22497         * lib/unistr/u8-stpncpy.c: Likewise.
22498         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22499         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22500         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22501         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22502         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22503         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22504         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22505         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22506         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22507         Likewise.
22508         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22509         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22510         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22511         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22512         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22513         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22514         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22515         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22516         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22517         * tests/test-striconveha.c (main): Likewise.
22518         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22519         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22520         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22521         * doc/posix-functions/getline.texi: Likewise.
22522         Reported by Mike Frysinger <vapier@gentoo.org>.
22523
22524 2010-11-20  Bruno Haible  <bruno@clisp.org>
22525
22526         nproc: Fix condition.
22527         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22528         HAVE_PTHREAD_AFFINITY_NP.
22529
22530 2010-11-20  Bruno Haible  <bruno@clisp.org>
22531
22532         Fix a comment.
22533         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22534
22535 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22536
22537         ftoastr: don't assume snprintf
22538         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22539         Implement a subset of snprintf here, by using sprintf safely.
22540         * modules/ftoastr (Depends-on): Remove snprintf.
22541
22542 2010-11-19  Jim Meyering  <meyering@redhat.com>
22543
22544         test-rename.h: fix compilation failure
22545         * tests/test-rename.h (test_rename): Add omitted "}".
22546
22547 2010-11-17  Jim Meyering  <meyering@redhat.com>
22548
22549         maint.mk: add a URL discussing the no-@acronym policy
22550         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22551
22552 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22553
22554         ftoastr: depend on snprintf, improve comments
22555         * lib/ftoastr.c: Also mention Loitsch's draft.
22556         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22557         needed in the current implementation, but it might simplify
22558         speeding up the code later.
22559         * modules/ftoastr: Depend on snprintf; this improves portability.
22560         Suggested by Bruno Haible in the same email.
22561
22562         ftoastr: port to hosts lacking strtof and strtold
22563         Problem reported by Bruno Haible in
22564         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22565         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22566         environment and strtold (and presumably strtof) are not available.
22567         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22568         (configure.ac): Require gl_C99_STRTOLD.
22569
22570 2010-11-18  Bruno Haible  <bruno@clisp.org>
22571
22572         c-strtold: Avoid link error on AIX 7.
22573         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22574         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22575         (gl_C_STRTOLD): Test whether strtold_l exists.
22576         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22577
22578 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22579
22580         intprops: new macro INT_BITS_STRLEN_BOUND
22581         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22582         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22583         not exposed.  Also, it uses a slightly tighter bound than before;
22584         though this makes no practical difference, we might as well be as
22585         tight as we easily can.
22586
22587         ftoastr: new module, for lossless conversion of floats to short strings
22588         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22589         * modules/ftoastr: New files.
22590
22591 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22592
22593         bootstrap: port to Solaris sed
22594         * build-aux/bootstrap (get_version): Port to Solaris sed.
22595         See Ralf Wildenhues's note in
22596         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22597
22598 2010-11-14  Jim Meyering  <meyering@redhat.com>
22599
22600         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22601         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22602         and move definition closer to sole use.
22603
22604 2010-11-13  Jim Meyering  <meyering@redhat.com>
22605
22606         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22607         Now we require at least autoconf-2.59, which means the work-around
22608         is no longer needed.
22609         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22610         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22611         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22612         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22613         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22614
22615 2010-11-13  Bruno Haible  <bruno@clisp.org>
22616
22617         rename, renameat: Avoid test failures at NFS mounted locations.
22618         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22619         functions.
22620         (test_rename): Use assert_nonexistent.
22621         * tests/test-rename.c: Include <dirent.h>.
22622         * tests/test-renameat.c: Likewise.
22623         Reported by Gary V. Vaughan <gary@gnu.org>.
22624
22625         rename, renameat: Document Linux bug with NFS
22626         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22627         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22628         * doc/posix-functions/renameat.texi: Likewise.
22629         Suggested by Eric Blake.
22630
22631 2010-11-13  Bruno Haible  <bruno@clisp.org>
22632
22633         rename test: Add comments.
22634         * tests/test-rename.h (test_rename): Add structure and comments.
22635
22636 2010-11-13  Eric Blake  <eblake@redhat.com>
22637
22638         maintainer-makefile: cover a few more files
22639         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22640         scripts generated within C files, for libvirt.
22641
22642 2010-11-13  Bruno Haible  <bruno@clisp.org>
22643
22644         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22645         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22646         character, return the number of bytes that belong together, not always
22647         1.
22648         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22649         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22650         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22651         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22652         number of bytes of an invalid character.
22653         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22654         (main): Invoke it.
22655         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22656         results.
22657         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22658         malformed byte sequences.
22659         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22660         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22661         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22662         Reported by Ben Pfaff and Paolo Bonzini.
22663
22664 2010-11-13  Bruno Haible  <bruno@clisp.org>
22665
22666         openat: Work around glibc bug with fchownat() and empty file names.
22667         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22668         (gl_FUNC_FCHOWNAT): Invoke it.
22669         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22670         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22671         Reported by Gary V. Vaughan <gary@gnu.org>.
22672
22673 2010-11-13  Bruno Haible  <bruno@clisp.org>
22674
22675         openat: Ensure autoconf macro ordering.
22676         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22677         gl_USE_SYSTEM_EXTENSIONS.
22678         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22679
22680 2010-11-13  Bruno Haible  <bruno@clisp.org>
22681
22682         Update comments.
22683         * lib/unistr/u8-check.c: Update file name in comments.
22684         * lib/unistr/u8-mblen.c: Likewise.
22685         * lib/unistr/u8-prev.c: Likewise.
22686         * lib/unistr/u8-strmblen.c: Likewise.
22687         * lib/unistr/u8-strmbtouc.c: Likewise.
22688
22689 2010-11-13  Jim Meyering  <meyering@redhat.com>
22690
22691         tests: avoid test failure on Solaris 10 due to lack of PATH export
22692         * tests/test-update-copyright.sh: Don't forget to export PATH.
22693
22694         init.sh: ensure that IFS is defined, just in case...
22695         * tests/init.sh (setup_): Ensure that IFS is defined,
22696         so that saving and restoring it works as expected.  This
22697         appears to be useful at least for an old version of dash
22698         from a long time ago (RH 6).  See here for details:
22699         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22700
22701         maint.mk: tighten "test a == b" check
22702         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22703         test to files that contain something like #!/bin/sh.
22704         Without this, coreutils would get two false positives in
22705         the comments of C source files.
22706
22707 2010-11-12  Eric Blake  <eblake@redhat.com>
22708
22709         bootstrap: fix typo in previous attempt
22710         * build-aux/bootstrap (buildreq): Correct the grouping.
22711         Reported by Paul Eggert.
22712
22713         maintainer-makefile: prohibit test x == x
22714         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22715         Based on a report by Matthias Bolte.
22716
22717         bootstrap: allow FreeBSD gzip
22718         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22719         which has no '.' and goes to stderr.
22720         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22721         Reported by Matthias Bolte.
22722
22723         maintainer-makefile: check for i18n setup
22724         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22725         will likely work.
22726
22727 2010-11-12  Bruno Haible  <bruno@clisp.org>
22728
22729         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22730         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22731         * lib/nanosleep.c (nanosleep): Likewise.
22732
22733 2010-11-11  Bruno Haible  <bruno@clisp.org>
22734
22735         fcntl-h: Fix for use of C++ on glibc systems.
22736         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22737         also on glibc systems in C++ mode.
22738         Reported by Gary V. Vaughan <gary@gnu.org>.
22739
22740 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22741
22742         mknod: avoid false failure with dash
22743         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22744
22745 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22746
22747         unlink: Fix "is it should" typo in diagnostic.
22748         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22749         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22750
22751 2010-11-11  Bruno Haible  <bruno@clisp.org>
22752
22753         Tests for module 'strerror_r-posix'.
22754         * modules/strerror_r-posix-tests: New file.
22755         * tests/test-strerror_r.c: New file.
22756         * tests/test-string-c++.cc: Check the signature of strerror_r.
22757
22758         New module 'strerror_r-posix'.
22759         * lib/string.in.h (strerror_r): New declaration.
22760         * lib/strerror_r.c: New file.
22761         * m4/strerror_r.m4: New file.
22762         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22763         of strerror_r.
22764         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22765         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22766         * modules/strerror_r-posix: New file.
22767         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22768         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22769         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22770         portability problems.
22771
22772 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22773
22774         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22775         line is also considered for output. Quoted function name in shell
22776         command, so temporary files for functions like MyClass::operator()
22777         are removed correctly without errors.
22778
22779 2010-11-09  Bruno Haible  <bruno@clisp.org>
22780
22781         * doc/posix-functions/strerror.texi: List more failing platforms.
22782
22783         * doc/posix-functions/strerror.texi: Add a comment.
22784
22785 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22786
22787         fdopendir: fix bug on MacOS X when low on file descriptors
22788
22789         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22790         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22791         All callers changed.
22792         (fdopendir): Invoke save_cwd at the top level, not after using
22793         multiple dup() calls to use up file descriptors.  Then retry
22794         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22795         less than the maximum number of open file descriptors, because
22796         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22797         on Mac OS X 10.6.4 for tar 1.24
22798         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
22799         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
22800         and for tar 1.25
22801         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
22802
22803 2010-11-07  Bruno Haible  <bruno@clisp.org>
22804
22805         vasnprintf: Support I flag on glibc systems.
22806         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
22807         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
22808         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
22809         snprintf function.
22810         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
22811         glibc systems.
22812         * tests/test-vasnprintf-posix3.c: New file.
22813         * modules/vasnprintf-posix-tests (Files): Add it.
22814         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22815
22816 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22817
22818         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22819         * MODULES.html.sh: For compiler warnings, use name
22820         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22821
22822 2010-11-05  Eric Blake  <eblake@redhat.com>
22823
22824         ceil, floor: avoid spurious failure with icc
22825         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22826         [denormals-as-zero] when optimizing without -mieee-fp option.
22827         * tests/test-floorf2.c (floorf_reference): Likewise.
22828         * tests/test-ceilf1.c (dummy): New function.
22829         (main): Use it to outsmart icc's optimization.
22830         * tests/test-floorf1.c (dummy, main): Likewise.
22831
22832         tests: require working signbit
22833         * modules/ceilf-tests (Depends-on): Add signbit.
22834         * modules/ceill-tests (Depends-on): Likewise.
22835         * modules/floorf-tests (Depends-on): Likewise.
22836         * modules/floorl-tests (Depends-on): Likewise.
22837         * modules/round-tests (Depends-on): Likewise.
22838         * modules/roundf-tests (Depends-on): Likewise.
22839         * modules/roundl-tests (Depends-on): Likewise.
22840         * modules/trunc-tests (Depends-on): Likewise.
22841         * modules/truncf-tests (Depends-on): Likewise.
22842         * modules/truncl-tests (Depends-on): Likewise.
22843
22844         strtod: work around icc bug
22845         * lib/strtod.c (minus_zero): Define to working value.
22846         (strtod): Use it to avoid icc bug.
22847
22848         copysign: enhance tests
22849         * modules/copysign-tests (Files): Add minus-zero.h.
22850         * tests/test-copysign.c (main): Also test zeros.
22851
22852 2010-11-04  Eric Blake  <eblake@redhat.com>
22853
22854         ceil, floor, round, trunc: enhance tests of -0
22855         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22856         * tests/test-ceill.c (main): Likewise.
22857         * tests/test-floorf1.c (main): Likewise.
22858         * tests/test-floorl.c (main): Likewise.
22859         * tests/test-round1.c (main): Likewise.
22860         * tests/test-roundf1.c (main): Likewise.
22861         * tests/test-roundl.c (main): Likewise.
22862         * tests/test-trunc1.c (main): Likewise.
22863         * tests/test-truncf1.c (main): Likewise.
22864         * tests/test-truncl.c (main): Likewise.
22865
22866 2010-11-04  Eric Blake  <eblake@redhat.com>
22867
22868         frexp, tests: work around ICC bug with -zero
22869         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22870         works with more compilers.
22871         * tests/minus-zero.h: New file.
22872         * modules/ceilf-tests (Files): Include it.
22873         * modules/ceill-tests (Files): Likewise.
22874         * modules/floorf-tests (Files): Likewise.
22875         * modules/floorl-tests (Files): Likewise.
22876         * modules/frexp-nolibm-tests (Files): Likewise.
22877         * modules/frexp-tests (Files): Likewise.
22878         * modules/frexpl-nolibm-tests (Files): Likewise.
22879         * modules/frexpl-tests (Files): Likewise.
22880         * modules/isnan-tests (Files): Likewise.
22881         * modules/isnand-nolibm-tests (Files): Likewise.
22882         * modules/isnand-tests (Files): Likewise.
22883         * modules/isnanf-nolibm-tests (Files): Likewise.
22884         * modules/isnanf-tests (Files): Likewise.
22885         * modules/isnanl-nolibm-tests (Files): Likewise.
22886         * modules/isnanl-tests (Files): Likewise.
22887         * modules/round-tests (Files): Likewise.
22888         * modules/roundf-tests (Files): Likewise.
22889         * modules/roundl-tests (Files): Likewise.
22890         * modules/ldexpl-tests (Files): Likewise.
22891         * modules/signbit-tests (Files): Likewise.
22892         * modules/snprintf-posix-tests (Files): Likewise.
22893         * modules/sprintf-posix-tests (Files): Likewise.
22894         * modules/strtod-tests (Files): Likewise.
22895         * modules/trunc-tests (Files): Likewise.
22896         * modules/truncf-tests (Files): Likewise.
22897         * modules/truncl-tests (Files): Likewise.
22898         * modules/vsnprintf-posix-tests (Files): Likewise.
22899         * modules/vsprintf-posix-tests (Files): Likewise.
22900         * modules/vasnprintf-posix-tests (Files): Likewise.
22901         * modules/vasprintf-posix-tests (Files): Likewise.
22902         * tests/test-ceilf1.c (main): Use it.
22903         * tests/test-ceill.c (main): Likewise.
22904         * tests/test-floorf1.c (main): Likewise.
22905         * tests/test-floorl.c (main): Likewise.
22906         * tests/test-frexp.c (main): Likewise.
22907         * tests/test-frexpl.c (main): Likewise.
22908         * tests/test-isnan.c (main): Likewise.
22909         * tests/test-isnand.h (main): Likewise.
22910         * tests/test-isnanf.h (main): Likewise.
22911         * tests/test-isnanl.h (main): Likewise.
22912         * tests/test-ldexpl.c (main): Likewise.
22913         * tests/test-round.c (main): Likewise.
22914         * tests/test-roundf.c (main): Likewise.
22915         * tests/test-roundl.c (main): Likewise.
22916         * tests/test-signbit.c (test_signbitf, test_signbitd)
22917         (test_signbitl): Likewise.
22918         * tests/test-snprintf-posix.h (test_function): Likewise.
22919         * tests/test-sprintf-posix.h (test_function): Likewise.
22920         * tests/test-strtod.c (main): Likewise.
22921         * tests/test-trunc1.c (main): Likewise.
22922         * tests/test-truncf1.c (main): Likewise.
22923         * tests/test-truncl.c (main): Likewise.
22924
22925         isnanl: work around icc bug
22926         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
22927
22928 2010-11-03  Eric Blake  <eblake@redhat.com>
22929
22930         tests: fix compiler warnings
22931         * tests/test-getopt.h (test_getopt): Fix condition.
22932         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22933         * tests/test-pipe2.c (main): Likewise.
22934         * tests/test-quotearg-simple.c (main): Avoid icc warning.
22935
22936         utimens: fix broken m4 test
22937         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
22938
22939 2010-10-28  Bruno Haible  <bruno@clisp.org>
22940
22941         posix_spawn*, getdtablesize: Relax license.
22942         * modules/posix_spawn (License): Change to LGPLv2+.
22943         * modules/posix_spawnp (License): Likewise.
22944         * modules/posix_spawn-internal (License): Likewise.
22945         * modules/posix_spawnattr_init (License): Likewise.
22946         * modules/posix_spawnattr_getflags (License): Likewise.
22947         * modules/posix_spawnattr_setflags (License): Likewise.
22948         * modules/posix_spawnattr_getpgroup (License): Likewise.
22949         * modules/posix_spawnattr_setpgroup (License): Likewise.
22950         * modules/posix_spawnattr_getschedparam (License): Likewise.
22951         * modules/posix_spawnattr_setschedparam (License): Likewise.
22952         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
22953         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
22954         * modules/posix_spawnattr_getsigdefault (License): Likewise.
22955         * modules/posix_spawnattr_setsigdefault (License): Likewise.
22956         * modules/posix_spawnattr_getsigmask (License): Likewise.
22957         * modules/posix_spawnattr_setsigmask (License): Likewise.
22958         * modules/posix_spawnattr_destroy (License): Likewise.
22959         * modules/posix_spawn_file_actions_init (License): Likewise.
22960         * modules/posix_spawn_file_actions_addclose (License): Likewise.
22961         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
22962         * modules/posix_spawn_file_actions_addopen (License): Likewise.
22963         * modules/posix_spawn_file_actions_destroy (License): Likewise.
22964         * modules/getdtablesize (License): Likewise.
22965         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
22966
22967 2010-10-26  Bruno Haible  <bruno@clisp.org>
22968
22969         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
22970         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
22971         Cygwin and mingw.
22972         Suggested by Eric Blake.
22973
22974 2010-10-26  Bruno Haible  <bruno@clisp.org>
22975
22976         stdio: Work around compilation error due to renameat() on Solaris 10.
22977         * lib/stdio.in.h: Include <unistd.h> on Solaris.
22978         * lib/renameat.c: Don't include <unistd.h> here.
22979         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
22980         Reported by Paul Eggert and Eric Blake.
22981
22982 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
22983
22984         renameat: port to Solaris 10, which declares renameat in unistd.h
22985
22986         * lib/renameat.c: Include unistd.h before stdio.h, because
22987         Solaris 10 declares renameat in unistd.h.  Problem encountered
22988         when building GNU tar 1.24 on Solaris 10.
22989
22990 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22991
22992         fdopendir: fix C89 compilation
22993         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
22994         compilers.
22995
22996 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
22997
22998         inttostr: simplify by removing unnecessary redundancy
22999         * lib/anytostr.c: Don't include verify.h.
23000         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23001         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23002         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23003         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23004         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23005         Likewise.
23006         * modules/inttostr (Depends-on): Remove 'verify'.
23007
23008 2010-10-23  Bruno Haible  <bruno@clisp.org>
23009
23010         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23011         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23012         Reported by Eric Blake.
23013
23014 2010-10-23  Bruno Haible  <bruno@clisp.org>
23015
23016         Tests: Fix LOCALE_JA on MirBSD 10.
23017         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23018         to an UTF-8 locale.
23019         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23020         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23021         Reported by Eric Blake.
23022
23023 2010-10-21  Bruno Haible  <bruno@clisp.org>
23024
23025         nl_langinfo test: Avoid test failure on NetBSD 5.
23026         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23027         Reported by Eric Blake.
23028
23029 2010-10-21  Eric Blake  <eblake@redhat.com>
23030
23031         c-stack: work around libsigsegv 2.8 bug
23032         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23033         overflow on at least PowerPC64.
23034
23035 2010-10-17  Bruno Haible  <bruno@clisp.org>
23036
23037         userspec: Drop redundant file.
23038         * modules/userspec (Files): Remove lib/inttostr.h.
23039
23040 2010-10-17  Bruno Haible  <bruno@clisp.org>
23041
23042         nl_langinfo tests: Silence some warnings.
23043         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23044         Reported by Jim Meyering.
23045
23046 2010-10-17  Bruno Haible  <bruno@clisp.org>
23047
23048         Make use of GCC's attribute __alloc_size__.
23049         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23050         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23051         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23052         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23053         __alloc_size__.
23054         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23055         Suggested by Jim Meyering.
23056
23057 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23058
23059         bootstrap: anchor .gitignore entries.
23060         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23061         with...
23062         (insert_vc_ignore): ... this new function, which prepends `/' to
23063         all .gitignore entries before passing them to
23064         insert_sorted_if_absent.
23065
23066 2010-10-16  Bruno Haible  <bruno@clisp.org>
23067
23068         nextafter: Fix configure check.
23069         * modules/nextafter (configure.ac): Correct expected prototype.
23070
23071 2010-10-16  Bruno Haible  <bruno@clisp.org>
23072
23073         termios: Update documentation.
23074         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23075
23076 2010-10-16  Bruno Haible  <bruno@clisp.org>
23077
23078         tests: Make them compile with TinyCC.
23079         * tests/test-strstr.c (main): Remove parentheses around array
23080         initializer.
23081
23082 2010-10-15  Eric Blake  <eblake@redhat.com>
23083
23084         ignore-value: make header idempotent
23085         * lib/ignore-value.h: Add double-inclusion guards.
23086         Reported by Stefan Berger.
23087
23088 2010-10-15  Jim Meyering  <meyering@redhat.com>
23089
23090         GNUmakefile: handle "stable" target, not "major"
23091         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23092         lists in maint.mk and announce-gen.  Without this, "make stable"
23093         would fail to ensure that $(VERSION) is up to date.
23094
23095 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23096
23097         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23098         & co.
23099
23100 2010-10-14  Bruno Haible  <bruno@clisp.org>
23101
23102         vasnprintf: Don't set errno to 0.
23103         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23104         block that sets it to 0.
23105         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23106
23107 2010-10-14  Bruno Haible  <bruno@clisp.org>
23108
23109         socketlib: Fix.
23110         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23111         gl_PREREQ_SYS_H_WINSOCK2.
23112         Reported by Ian Beckwith <ianb@erislabs.net>.
23113
23114 2010-10-13  Jim Meyering  <meyering@redhat.com>
23115
23116         test-select-stdin.c: avoid warn_unused_result warnings
23117         * tests/test-select-stdin.c: Include "macros.h".
23118         ASSERT that read and fflush succeed.
23119
23120 2010-10-13  Jim Meyering  <meyering@redhat.com>
23121
23122         git-version-gen: do require git-VC'd files in cwd
23123         * build-aux/git-version-gen: Reject a git version string
23124         if there are no commits associated with the current directory.
23125         This avoids an unlikely false-positive (unrelated dir whose parent
23126         repository also contains a tag matching v*), as pointed out
23127         by Giuseppe Scrivano in
23128         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23129
23130 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23131
23132         argv-iter: omit nonconforming declaration
23133         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23134         enum arg_iter_err declaration, which doesn't conform to C99.
23135         Solaris 10 cc warns about this.
23136
23137 2010-10-13  Eric Blake  <eblake@redhat.com>
23138
23139         termios: fix compilation on mingw
23140         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23141         (gl_TERMIOS_H): Adjust it on mingw.
23142         * modules/termios (Makefile.am): Substitute new key.
23143         * lib/termios.in.h (includes): Make include_next conditional.
23144         * doc/posix-headers/termios.texi (termios.h): Update
23145         documentation.
23146         Reported by Daniel P. Berrange.
23147
23148 2010-10-13  Jim Meyering  <meyering@redhat.com>
23149
23150         git-version-gen: don't require that .git/ be in the current dir
23151         * build-aux/git-version-gen: Adjust this script so that it works
23152         when run from any working directory beneath the top-level .git/-
23153         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23154         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23155
23156         test-select: avoid warn_unused_result warnings
23157         * tests/test-select.c: Include "macros.h".
23158         ASSERT that each call to read, write, and pipe succeeds.
23159         While not technically required, also check each "close".
23160         * modules/select-tests (Files): Add tests/macros.h.
23161
23162         test-symlinkat: remove declaration of unused local
23163         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23164
23165         test-inttostr: avoid shadowing warnings
23166         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23167         and use malloc rather than the stack for the same reason as
23168         mentioned in the comment justifying the other allocation.
23169
23170 2010-10-11  Bruno Haible  <bruno@clisp.org>
23171
23172         stdlib: Allow multiple gnulib generated replacements to coexist.
23173         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23174         Reported by Sam Steingold <sds@gnu.org>.
23175
23176 2010-10-11  Jim Meyering  <meyering@redhat.com>
23177
23178         fix a documentation typo
23179         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23180
23181 2010-10-11  Eric Blake  <eblake@redhat.com>
23182
23183         futimens: work around Solaris 11 bug
23184         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23185         * tests/test-futimens.h (test_futimens): Enhance, rather than
23186         weaken test.
23187         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23188
23189 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23190
23191         Indentation.
23192         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23193         higher-level operators more to the left.
23194
23195 2010-10-11  Jim Meyering  <meyering@redhat.com>
23196
23197         test-futimens: avoid unwarranted test failure on Solaris 5.11
23198         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23199         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23200         because it tries to dereference the NULL name argument.
23201
23202 2010-10-11  Bruno Haible  <bruno@clisp.org>
23203
23204         Indentation.
23205         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23206         indentation.
23207
23208 2010-10-11  Jim Meyering  <meyering@redhat.com>
23209
23210         spawn.in.h: make indentation consistent with parentheses
23211         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23212         Make indentation consistent with parentheses.
23213
23214 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23215
23216         Fix mismatched parens in previous commit
23217         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23218         parens.
23219
23220 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23221
23222         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23223
23224         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23225         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23226         * lib/malloca.c: Include "verify.h".
23227         (verify1): Remove, replacing with a verify call.
23228         * lib/relocwrapper.c (verify1): Likewise.
23229         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23230         Likewise.
23231         * modules/malloca (Depends-on): Add 'verify'.
23232         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23233         * modules/vasnprintf (Depends-on): Add 'verify'.
23234         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23235         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23236         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23237         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23238         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23239         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23240         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23241
23242         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23243
23244         Formerly the style was sometimes 2*X - 1, because the C standard
23245         was wrongly thought to disallow ?: in integral constant expressions.
23246         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23247         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23248         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23249         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23250         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23251         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23252         verify that time_t cannot be floating.
23253
23254 2010-10-08  Eric Blake  <eblake@redhat.com>
23255
23256         time: enforce recent POSIX ruling that time_t is integral
23257         * lib/time.in.h (__time_t_must_be_integral): Detect any
23258         problematic systems, allowing the rest of gnulib to assume POSIX.
23259
23260 2010-10-08  Jim Meyering  <meyering@redhat.com>
23261
23262         fdopendir: fix a bug on systems lacking openat and /proc support
23263         OpenBSD 4.7 is one such system.  The most noticeable effect was
23264         failure of any application making nontrivial use of fts: rm, du,
23265         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23266           ./rm: traversal failed: `a': Bad file descriptor
23267         Debugging that, you see that even though FD 6 was closed just
23268         prior to the opendir call in fd_clone_opendir, its resulting
23269         dir->dd_fd was 8, rather than the expected value of 6:
23270
23271         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23272         93                close (fd);
23273         (gdb) n
23274         94                dir = fd_clone_opendir (dupfd);
23275         (gdb) n
23276         95                saved_errno = errno;
23277         (gdb) p dir->dd_fd
23278         $11 = 8
23279
23280         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23281         The problem is that on OpenBSD, fd_clone_opendir has to resort
23282         to using the old-style save/restore CWD mechanism, due to its
23283         lack of openat/proc support, and *that* would steal the FD (6)
23284         that opendir was supposed to use.
23285
23286         The fix is to squirrel away the desired FD so that save_cwd uses a
23287         different one, and then free the dest FD right before calling opendir.
23288         That guarantees opendir will use the required file descriptor.
23289
23290         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23291
23292 2010-10-08  Bruno Haible  <bruno@clisp.org>
23293
23294         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23295         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23296
23297 2010-10-08  Bruno Haible  <bruno@clisp.org>
23298
23299         nanosleep: Make replacement POSIX compliant.
23300         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23301         is out of range.
23302         Reported by Jim Meyering.
23303
23304 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23305
23306         bootstrap: add hook for altering gnulib.mk, for Bison
23307         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23308         the Bison bootstrapping process can rewrite file names and variables
23309         in this file before later parts of 'bootstrap' use the file.
23310         Bison wants to include lib/gnulib.mk from the top-level makefile,
23311         so it needs the file names in this file to be relative to the top
23312         level, not relative to lib; plus it needs variable names to be
23313         rewritten.
23314         (slurp): Use the new function.
23315
23316         bootstrap: reformat for readability
23317         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23318
23319 2010-10-08  Eric Blake  <eblake@redhat.com>
23320
23321         docs: update cygwin progress
23322         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23323         1.7.7.
23324         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23325         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23326         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23327         * doc/posix-functions/carg.texi (carg): Likewise.
23328         * doc/posix-functions/cargf.texi (cargf): Likewise.
23329         * doc/posix-functions/casin.texi (casin): Likewise.
23330         * doc/posix-functions/casinf.texi (casinf): Likewise.
23331         * doc/posix-functions/casinh.texi (casinh): Likewise.
23332         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23333         * doc/posix-functions/catan.texi (catan): Likewise.
23334         * doc/posix-functions/catanf.texi (catanf): Likewise.
23335         * doc/posix-functions/catanh.texi (catanh): Likewise.
23336         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23337         * doc/posix-functions/ccos.texi (ccos): Likewise.
23338         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23339         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23340         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23341         * doc/posix-functions/cexp.texi (cexp): Likewise.
23342         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23343         * doc/posix-functions/cimag.texi (cimag): Likewise.
23344         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23345         * doc/posix-functions/clog.texi (clog): Likewise.
23346         * doc/posix-functions/clogf.texi (clogf): Likewise.
23347         * doc/posix-functions/conj.texi (conj): Likewise.
23348         * doc/posix-functions/conjf.texi (conjf): Likewise.
23349         * doc/posix-functions/cpow.texi (cpow): Likewise.
23350         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23351         * doc/posix-functions/cproj.texi (cproj): Likewise.
23352         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23353         * doc/posix-functions/creal.texi (creal): Likewise.
23354         * doc/posix-functions/crealf.texi (crealf): Likewise.
23355         * doc/posix-functions/csin.texi (csin): Likewise.
23356         * doc/posix-functions/csinf.texi (csinf): Likewise.
23357         * doc/posix-functions/csinh.texi (csinh): Likewise.
23358         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23359         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23360         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23361         * doc/posix-functions/ctan.texi (ctan): Likewise.
23362         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23363         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23364         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23365         * doc/posix-headers/complex.texi (complex.h): Likewise.
23366
23367 2010-10-07  Jim Meyering  <meyering@redhat.com>
23368
23369         parse-datetime: avoid compilation failure on OpenBSD 4.7
23370         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23371         This works around a compilation failure on OpenBSD 4.7:
23372         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23373
23374 2010-10-07  Eric Blake  <eblake@redhat.com>
23375
23376         docs: update cygwin progress
23377         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23378         1.7.6.
23379         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23380         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23381         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23382         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23383         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23384         Likewise.
23385         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23386         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23387         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23388         Likewise.
23389         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23390         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23391         Likewise.
23392         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23393         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23394         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23395         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23396         Likewise.
23397         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23398         Likewise.
23399         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23400
23401         docs: update parse-datetime history
23402         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23403         documentation of this function's history and alternatives.
23404
23405         cygwin: use more robust version check
23406         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23407         exclude an eventual cygwin 1.9.1.
23408         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23409         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23410         (gl_FUNC_STRCASESTR): Likewise.
23411         Reported by Bruno Haible.
23412
23413 2010-10-06  Bruno Haible  <bruno@clisp.org>
23414
23415         string, sys_select: Avoid #including large headers unless necessary.
23416         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23417         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23418         OSF/1, BeOS, Haiku.
23419         Reported by Jim Meyering.
23420
23421 2010-10-05  Eric Blake  <eblake@redhat.com>
23422
23423         memmem, strstr, strcasestr: fix bug with long periodic needle
23424         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23425         periodic needle having false positive.
23426         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23427         and cygwin 1.7.7.
23428         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23429         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23430         (gl_FUNC_STRCASESTR): Likewise.
23431         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23432         * tests/test-memmem.c (main): Expose the bug.
23433         * tests/test-strcasestr.c (main): Likewise.
23434         * tests/test-strstr.c (main): Likewise.
23435         * tests/test-c-strcasestr.c (main): Likewise.
23436         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23437         * doc/posix-functions/strstr.texi (strstr): Likewise.
23438         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23439         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23440
23441 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23442
23443         parse-datetime: do some more renaming
23444         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23445         parse_datetime, not get_date.  Mention the renaming.
23446         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23447         in comments.
23448         * m4/bison.m4: Likewise.
23449
23450 2010-10-05  Eric Blake  <eblake@redhat.com>
23451
23452         parse-datetime: better name than get_date
23453         * NEWS: Reword the deprecation notice.
23454         * modules/get_date: Rename to modules/parse-datetime.
23455         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23456         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23457         * lib/get_date.y: Rename to lib/parse-datetime.y.
23458         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23459         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23460         * doc/getdate.texi: Provide fallback wrapper.
23461         * lib/getdate.h: Move guts, and wrap...
23462         * lib/parse-datetime.h: ...new file.
23463         * lib/parse-datetime.y (get_date): Rename...
23464         (parse_datetime): ...to this.
23465         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23466         (gl_PARSE_DATETIME): ...to this.
23467         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23468         documentation.
23469         * modules/getdate (Files): Provide fallback docs and header.
23470         (Notice, Depends-on): Update references.
23471         * tests/test-parse-datetime.c: Likewise.
23472         * DEPENDENCIES: Likewise.
23473         * MODULES.html.sh (Date and time <time.h>): Likewise.
23474         * doc/parse-datetime.texi (Date input formats)
23475         (Authors of parse_datetime): Likewise.
23476         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23477         (Include): Likewise.
23478         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23479         * gnulib-tool: Likewise.
23480         * m4/bison.m4 (gl_BISON): Likewise.
23481         Suggested by Bruno Haible.
23482
23483 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23484
23485         more ports to Solaris tr, which needs [] around ranges
23486         * gnulib-tool: Solaris tr needs [] around ranges.
23487         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23488         * tests/test-pipe-filter-gi1.c (main): Likewise.
23489         * tests/test-pipe-filter-ii1.c (main): Likewise.
23490
23491 2010-10-05  Eric Blake  <eblake@redhat.com>
23492
23493         bootstrap: fix Solaris regression
23494         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23495         around ranges.
23496         Reported by Pádraig Brady.
23497
23498         bootstrap: work with pkg-config
23499         * build-aux/bootstrap (check_versions): Also transliterate - in
23500         prerequisite name.
23501         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23502         prerequisites that were already found, to avoid confusion.
23503         Reported by Justin Clift.
23504
23505         faccessat: remove unused wrappers
23506         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23507         presence of these wrappers dragged in -lgen on Solaris.
23508         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23509
23510 2010-10-05  Jim Meyering  <meyering@redhat.com>
23511
23512         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23513         * Makefile (sc_pragma_columns): New syntax-check rule.
23514
23515 2010-10-04  Bruno Haible  <bruno@clisp.org>
23516
23517         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23518         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23519         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23520         Reported by Bruce Korb and Eric Blake.
23521
23522 2010-10-04  Bruno Haible  <bruno@clisp.org>
23523
23524         threadlib: Make option --with-libpth-prefix work.
23525         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23526         use $LIBPTH, not just -lpth.
23527
23528 2010-10-04  Bruno Haible  <bruno@clisp.org>
23529
23530         Avoid line length limitation from HP NonStop system header files.
23531         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23532         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23533         * lib/ctype.in.h: Likewise.
23534         * lib/dirent.in.h: Likewise.
23535         * lib/errno.in.h: Likewise.
23536         * lib/fcntl.in.h: Likewise.
23537         * lib/float.in.h: Likewise.
23538         * lib/getopt.in.h: Likewise.
23539         * lib/iconv.in.h: Likewise.
23540         * lib/inttypes.in.h: Likewise.
23541         * lib/langinfo.in.h: Likewise.
23542         * lib/locale.in.h: Likewise.
23543         * lib/math.in.h: Likewise.
23544         * lib/netdb.in.h: Likewise.
23545         * lib/netinet_in.in.h: Likewise.
23546         * lib/poll.in.h: Likewise.
23547         * lib/pthread.in.h: Likewise.
23548         * lib/pty.in.h: Likewise.
23549         * lib/sched.in.h: Likewise.
23550         * lib/se-selinux.in.h: Likewise.
23551         * lib/search.in.h: Likewise.
23552         * lib/signal.in.h: Likewise.
23553         * lib/spawn.in.h: Likewise.
23554         * lib/stdarg.in.h: Likewise.
23555         * lib/stddef.in.h: Likewise.
23556         * lib/stdint.in.h: Likewise.
23557         * lib/stdio.in.h: Likewise.
23558         * lib/stdlib.in.h: Likewise.
23559         * lib/string.in.h: Likewise.
23560         * lib/strings.in.h: Likewise.
23561         * lib/sys_file.in.h: Likewise.
23562         * lib/sys_ioctl.in.h: Likewise.
23563         * lib/sys_select.in.h: Likewise.
23564         * lib/sys_socket.in.h: Likewise.
23565         * lib/sys_stat.in.h: Likewise.
23566         * lib/sys_time.in.h: Likewise.
23567         * lib/sys_times.in.h: Likewise.
23568         * lib/sys_utsname.in.h: Likewise.
23569         * lib/sys_wait.in.h: Likewise.
23570         * lib/sysexits.in.h: Likewise.
23571         * lib/termios.in.h: Likewise.
23572         * lib/time.in.h: Likewise.
23573         * lib/unistd.in.h: Likewise.
23574         * lib/wchar.in.h: Likewise.
23575         * lib/wctype.in.h: Likewise.
23576         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23577         * modules/ctype (Makefile.am): Likewise.
23578         * modules/dirent (Makefile.am): Likewise.
23579         * modules/errno (Makefile.am): Likewise.
23580         * modules/fcntl-h (Makefile.am): Likewise.
23581         * modules/float (Makefile.am): Likewise.
23582         * modules/getopt-posix (Makefile.am): Likewise.
23583         * modules/iconv-h (Makefile.am): Likewise.
23584         * modules/inttypes (Makefile.am): Likewise.
23585         * modules/langinfo (Makefile.am): Likewise.
23586         * modules/locale (Makefile.am): Likewise.
23587         * modules/math (Makefile.am): Likewise.
23588         * modules/netdb (Makefile.am): Likewise.
23589         * modules/netinet_in (Makefile.am): Likewise.
23590         * modules/poll-h (Makefile.am): Likewise.
23591         * modules/pthread (Makefile.am): Likewise.
23592         * modules/pty (Makefile.am): Likewise.
23593         * modules/sched (Makefile.am): Likewise.
23594         * modules/search (Makefile.am): Likewise.
23595         * modules/selinux-h (Makefile.am): Likewise.
23596         * modules/signal (Makefile.am): Likewise.
23597         * modules/spawn (Makefile.am): Likewise.
23598         * modules/stdarg (Makefile.am): Likewise.
23599         * modules/stddef (Makefile.am): Likewise.
23600         * modules/stdint (Makefile.am): Likewise.
23601         * modules/stdio (Makefile.am): Likewise.
23602         * modules/stdlib (Makefile.am): Likewise.
23603         * modules/string (Makefile.am): Likewise.
23604         * modules/strings (Makefile.am): Likewise.
23605         * modules/sys_file (Makefile.am): Likewise.
23606         * modules/sys_ioctl (Makefile.am): Likewise.
23607         * modules/sys_select (Makefile.am): Likewise.
23608         * modules/sys_socket (Makefile.am): Likewise.
23609         * modules/sys_stat (Makefile.am): Likewise.
23610         * modules/sys_time (Makefile.am): Likewise.
23611         * modules/sys_times (Makefile.am): Likewise.
23612         * modules/sys_utsname (Makefile.am): Likewise.
23613         * modules/sys_wait (Makefile.am): Likewise.
23614         * modules/sysexits (Makefile.am): Likewise.
23615         * modules/termios (Makefile.am): Likewise.
23616         * modules/time (Makefile.am): Likewise.
23617         * modules/unistd (Makefile.am): Likewise.
23618         * modules/wchar (Makefile.am): Likewise.
23619         * modules/wctype (Makefile.am): Likewise.
23620
23621 2010-10-04  Bruno Haible  <bruno@clisp.org>
23622
23623         read-file tests: Avoid a test failure on NonStop Kernel.
23624         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23625         a regular file.
23626         Reported by Joachim Schmitz <schmitz@hp.com>.
23627
23628 2010-10-03  Bruno Haible  <bruno@clisp.org>
23629
23630         gnulib-tool: Fixes for --create-testdir with --libtool.
23631         * gnulib-tool (func_get_automake_snippet): Don't augment
23632         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23633         an executable.
23634         (func_create_testdir): Handle module 'alloca' like func_import.
23635         Reported by Bruce Korb <bruce.korb@gmail.com>.
23636
23637 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23638
23639         Avoid some lines longer than 80 characters.
23640         * lib/stdint.in.h: Break long comment lines.
23641         * lib/math.in.h: Likewise.
23642         (_GL_NUM_UINT_WORDS): New macro, for readability.
23643         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23644         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23645         * lib/stdlib.in.h: Likewise.
23646         * lib/spawn.in.h: Likewise.
23647         * lib/sys_socket.in.h: Update an URL.
23648         * lib/sys_stat.in.h: Break long line.
23649
23650 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23651
23652         Improve pmccabe2html.
23653         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23654         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23655         when the sources change. Remove the line in the HTML about "Used
23656         ranges" (which implied that there might be other unused ranges),
23657         rename "Resume" to "Summary" (easier to understand for more users).
23658         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23659         styles, and some unnecessary blank lines.
23660
23661 2010-10-03  Bruno Haible  <bruno@clisp.org>
23662             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23663
23664         acl: Add support for ACLs on NonStop Kernel.
23665         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23666         Check whether the function aclsort() exists.
23667         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23668         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23669         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23670         (acl_nontrivial [HAVE_ACLSORT]: New function.
23671         (file_has_acl): Implement for NonStop Kernel.
23672         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23673         (qset_acl): Implement for NonStop Kernel.
23674         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23675         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23676         (main): Implement for NonStop Kernel.
23677         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23678         Kernel. Handle this flavor.
23679         * tests/test-set-mode-acl.sh: Likewise.
23680         * tests/test-copy-acl.sh: Likewise.
23681         * tests/test-copy-file.sh: Likewise.
23682
23683 2010-10-03  Bruno Haible  <bruno@clisp.org>
23684
23685         Info about ACLs on NonStop Kernel.
23686         * doc/acl-resources.txt: Add info about NonStop Kernel.
23687         References by Joachim Schmitz <schmitz@hp.com>.
23688
23689 2010-10-02  Bruno Haible  <bruno@clisp.org>
23690
23691         Define missing EDQUOT on NonStop Kernel.
23692         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23693         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23694         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23695         missing.
23696         * doc/posix-headers/errno.texi: Mention the NSK bug.
23697         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23698         Reported by Joachim Schmitz <schmitz@hp.com>.
23699
23700 2010-10-02  Bruno Haible  <bruno@clisp.org>
23701
23702         Update doc for POSIX:2008.
23703         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23704         Update URL of POSIX specification.
23705
23706 2010-10-02  Bruno Haible  <bruno@clisp.org>
23707
23708         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23709         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23710         from gnulib, not from Automake.
23711
23712 2010-10-02  Bruno Haible  <bruno@clisp.org>
23713
23714         New module 'system-posix'.
23715         * modules/system-posix: New file.
23716         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23717         module is present.
23718         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23719         GNULIB_SYSTEM_POSIX.
23720         * modules/stdlib (Depends-on): Remove sys_wait.
23721         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23722         * doc/posix-functions/system.texi: Mention the new module.
23723         * doc/posix-headers/stdlib.texi: Likewise.
23724         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23725         define test_sys_wait_macros to a no-op.
23726         Reported by Sam Steingold <sds@gnu.org>.
23727
23728 2010-09-30  Bruno Haible  <bruno@clisp.org>
23729
23730         More renaming from 'getdate' to 'get_date'.
23731         * doc/get_date.texi: Renamed from doc/getdate.texi.
23732         * modules/get_date (Files): Update.
23733         * MODULES.html.sh (Date and time <time.h>): Update.
23734         * DEPENDENCIES: Update.
23735         * gnulib-tool: Update comment.
23736         * m4/bison.m4 (gl_BISON): Likewise.
23737         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23738
23739 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23740
23741         bootstrap: support ACLOCAL_FLAGS during aclocal
23742         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23743         can add additional -I dir for third-party .m4 files.
23744
23745 2010-09-30  Eric Blake  <eblake@redhat.com>
23746
23747         bootstrap: use glibtoolize on MacOS
23748         * build-aux/bootstrap (check_versions): Convert libtool into
23749         libtoolize.
23750         (tool search): Move libtool check earlier, and look for
23751         glibtoolize for MacOS.
23752         (gnulib_tool_options): Auto-add --libtool when appropriate.
23753         Reported by Justin Clift.
23754
23755         poll: fix typo that broke test on MacOS
23756         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23757         Reported by Justin Clift.
23758
23759         getdate: rename to get_date
23760         Note: getdate.h is not renamed, to minimize client impact.
23761         * modules/getdate: Mark obsolete.  Move old contents...
23762         * modules/get_date: ...to new module name.
23763         * modules/getdate-tests: Move...
23764         * modules/get_date-tests: ...here.
23765         * m4/getdate.m4: Move...
23766         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23767         * lib/getdate.y: Move...
23768         * lib/get_date.y: ...here.
23769         * tests/test-getdate.c: Move...
23770         * tests/test-get_date.c: ...here.
23771         * doc/posix-functions/getdate.texi (getdate): Update name.
23772         * NEWS: Mention the change.
23773
23774 2010-09-29  Bruno Haible  <bruno@clisp.org>
23775
23776         Separate the module 'waitpid' from the module 'sys_wait'.
23777         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23778         present.
23779         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23780         gl_MODULE_INDICATOR_FOR_TESTS.
23781         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23782         * modules/sys_wait (Depends-on): Remove waitpid.
23783         (Makefile.am): Substitute GNULIB_WAITPID.
23784         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23785         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23786         signature only if the 'waitpid' module is present.
23787         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23788         * NEWS: Mention the change.
23789         * modules/grantpt (Depends-on): Add waitpid.
23790         * modules/wait-process (Depends-on): Likewise.
23791
23792 2010-09-29  Bruno Haible  <bruno@clisp.org>
23793
23794         More tests for module 'sys_wait'.
23795         * modules/sys_wait-c++-tests: New file.
23796         * tests/test-sys_wait-c++.cc: New file.
23797         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
23798         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23799
23800 2010-09-29  Bruno Haible  <bruno@clisp.org>
23801
23802         New module 'waitpid'.
23803         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
23804         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
23805         Don't include <process.h>.
23806         (waitpid): Declare only, using modern idiom.
23807         * m4/waitpid.m4: New file.
23808         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
23809         * modules/waitpid: New file.
23810         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
23811         (Makefile.am): Update.
23812         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23813
23814 2010-09-28  Bruno Haible  <bruno@clisp.org>
23815
23816         poll: Assume ANSI C.
23817         * lib/poll.c (poll): Use an ANSI C declaration.
23818
23819 2010-09-28  Bruno Haible  <bruno@clisp.org>
23820
23821         poll-h: Create poll.h on all platforms.
23822         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23823         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23824         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23825         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23826         (gl_REPLACE_POLL_H): Don't set POLL_H.
23827         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23828         * modules/poll-h (Depends-on): Add include_next.
23829         (Makefile.am): Create poll.h unconditionally. Substitute also
23830         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23831
23832 2010-09-28  Bruno Haible  <bruno@clisp.org>
23833
23834         Tests for module 'poll-h'.
23835         * modules/poll-h-c++-tests: New file.
23836         * tests/test-poll-h-c++.cc: New file.
23837
23838         Tests for module 'poll-h'.
23839         * modules/poll-h-tests: New file.
23840         * tests/test-poll-h.c: New file.
23841
23842 2010-09-28  Bruno Haible  <bruno@clisp.org>
23843
23844         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23845         * modules/poll-h (Depends-on): Add 'extensions'.
23846
23847 2010-09-28  Bruno Haible  <bruno@clisp.org>
23848
23849         New module 'poll-h'.
23850         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23851         (poll): Use modern idiom.
23852         * modules/poll-h: New file.
23853         * modules/poll (Files): Remove lib/poll.in.h.
23854         (Depends-on): Add poll-h.
23855         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23856         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23857         * m4/poll_h.m4: New file.
23858         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23859         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23860         and invoke gl_REPLACE_POLL_H.
23861         * lib/poll.c: Use common idiom.
23862         * tests/test-poll.c: Likewise.
23863         * doc/posix-headers/poll.texi: Mention the poll-h module.
23864         Suggested by Eric Blake.
23865
23866 2010-09-26  Bruno Haible  <bruno@clisp.org>
23867
23868         sys_wait: Implement WSTOPSIG.
23869         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23870         Reported by Simon Josefsson.
23871
23872 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23873
23874         stdlib, sys_wait: Avoid compilation error on mingw.
23875         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23876
23877 2010-09-26  Bruno Haible  <bruno@clisp.org>
23878
23879         stdlib tests: Avoid code duplication.
23880         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23881         * modules/sys_wait-tests (Files): Likewise.
23882         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23883         * tests/test-stdlib.c: Include test-sys_wait.h.
23884         (main): Invoke test_sys_wait_macros.
23885         * tests/test-sys_wait.c: Include test-sys_wait.h.
23886         (main): Invoke test_sys_wait_macros.
23887
23888 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23889
23890         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23891         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23892         sure Windows sockets are working before calling getaddrinfo.
23893         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23894         * doc/gnulib.texi (Windows sockets): Fix typo.
23895
23896 2010-09-25  Bruno Haible  <bruno@clisp.org>
23897
23898         Tests for module 'regex-quote'.
23899         * modules/regex-quote-tests: New file.
23900         * tests/test-regex-quote.c: New file.
23901
23902         New module 'regex-quote'.
23903         * lib/regex-quote.h: New file.
23904         * lib/regex-quote.c: New file.
23905         * modules/regex-quote: New file.
23906         Suggested by Reuben Thomas <rrt@sc3d.org>.
23907
23908 2010-09-24  Bruno Haible  <bruno@clisp.org>
23909
23910         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23911         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23912
23913 2010-09-23  Bruno Haible  <bruno@clisp.org>
23914
23915         setenv: Relax license.
23916         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
23917         Blake.
23918         Requested by Eric Blake.
23919
23920 2010-09-22  Bruno Haible  <bruno@clisp.org>
23921
23922         termios: Relax license.
23923         * modules/termios (License): Change to LGPLv2+.
23924         Requested by Eric Blake.
23925
23926 2010-09-22  Bruno Haible  <bruno@clisp.org>
23927
23928         threadlib: Allow the package to change the default to 'no'.
23929         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
23930         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
23931         Reported by Paul Eggert.
23932
23933 2010-09-22  Pádraig Brady  <P@draigbrady.com>
23934             Bruno Haible  <bruno@clisp.org>
23935
23936         Fix endless loop in mbmemcasecoll.
23937         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
23938         byte.
23939         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
23940
23941 2010-09-22  Bruno Haible  <bruno@clisp.org>
23942
23943         Tests for module 'memcoll'.
23944         * modules/memcoll-tests: New file.
23945         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
23946
23947         memcoll, xmemcoll: Clarify size vs. length.
23948         * modules/memcoll.c (memcoll0): Clarify specification.
23949         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
23950         passed to collate_error.
23951
23952 2010-09-22  Bruno Haible  <bruno@clisp.org>
23953
23954         Tests for module 'memcasecmp'.
23955         * modules/memcasecmp-tests: New file.
23956         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
23957
23958 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23959
23960         * lib/pthread.in.h: Add split double-inclusion guard, and include
23961         system <pthread.h> if there is one.  Use @@-style as in other
23962         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
23963         pthread.h doesn't.
23964         (pthread_mutexattr_destroy, pthread_mutexattr_init):
23965         (pthread_mutexattr_settype, pthread_mutex_trylock):
23966         New static inline functions, if there's no system <pthread.h>.
23967         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
23968         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
23969         Approximate with mutexes if the system lacks spinlocks, as in
23970         MacOS.
23971         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
23972         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
23973         @@-style.  Check for spinlocks separately.
23974         (gl_PTHREAD_DEFAULTS): New macro.
23975         * modules/pthread: Redo to use a more typical style for in.h files.
23976
23977 2010-09-21  Eric Blake  <eblake@redhat.com>
23978
23979         net_if: enhance tests
23980         * tests/test-net_if.c (main): Move signature checks earlier.
23981         Print failures to stderr.
23982         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
23983         Document the bug that we do not yet fix.
23984
23985 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23986
23987         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
23988         about gnulib, not GSS.
23989
23990 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23991
23992         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
23993         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
23994         for Emacs.
23995         * build-aux/pmccabe2html: Make Makefile.am example code more
23996         cut-and-paste friendly.
23997
23998 2010-09-21  Simon Josefsson  <simon@josefsson.org>
23999
24000         * tests/test-net_if.c: New file.
24001         * modules/net_if-tests: New file.
24002
24003 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24004
24005         pthread: add pthread_spin_destroy
24006         * lib/pthread.in.h (pthread_spin_destroy): New function.
24007
24008 2010-09-19  Bruno Haible  <bruno@clisp.org>
24009
24010         gnulib-tool: Fix --help output.
24011         * gnulib-tool (func_usage): Fix help message.
24012         Reported by Reuben Thomas <rrt@sc3d.org>.
24013
24014 2010-09-18  Jim Meyering  <meyering@redhat.com>
24015
24016         maint.mk: avoid unexpanded \n in two diagnostics
24017         * top/maint.mk (sc_prohibit_always_true_header_tests):
24018         Don't use a literal \n in a halt=... assignment.  It would not be
24019         expanded, and the two \n bytes would appear in the diagnostic output
24020         rather than the desired newline.  Use halt=$$(printf ... instead.
24021         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24022
24023 2010-09-18  Bruno Haible  <bruno@clisp.org>
24024
24025         netinet_in: Doc tweak.
24026         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24027         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24028
24029 2010-09-18  Jim Meyering  <meyering@redhat.com>
24030
24031         init.sh: correct an outdated comment
24032         * tests/init.sh (create_exe_shims_):  s/function/alias/
24033
24034         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24035         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24036         a file named "*.exe" is removed between the glob expansion and the
24037         processing of that oddly named file.
24038
24039 2010-09-17  Eric Blake  <eblake@redhat.com>
24040
24041         mirbsd: add some more support
24042         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24043         in BSD family.
24044         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24045         devices as OpenBSD.
24046         * m4/host-os.m4 (mirbsd): Add MirBSD.
24047
24048         tests: fix unportable assumption on sys/wait.h
24049         * tests/test-sys_wait.c (main): Relax test.
24050         * tests/test-stdlib.c (main): Likewise.
24051
24052         init.sh: accomodate directory with no .exes
24053         * tests/init.sh: Accomodate directory containing only scripts.
24054
24055         tests: avoid compiler warning
24056         * tests/test-stdlib.c (main): Use the variable.
24057
24058         fdutimens, fdutimensat: update signature, again
24059         * lib/utimens.h (gl_futimens): Delete, and move signature...
24060         (fdutimens): ...here.
24061         (fdutimensat): Rearrange signature.
24062         (lutimensat): Rename variable for clarity.
24063         * lib/fdutimensat.c (fdutimensat): Update signature.
24064         * lib/utimens.c (fdutimens): Likewise.
24065         (gl_futimens): Delete.
24066         (utimens, lutimens): Update callers.
24067         * lib/futimens.c (futimens): Likewise.
24068         * tests/test-fdutimensat.c: Likewise.
24069         * tests/test-utimens.c: Likewise.
24070         * tests/test-futimens.h: Update comment.
24071         * NEWS: Mention this.
24072         Suggested by Paul Eggert.
24073
24074 2010-09-17  Bruno Haible  <bruno@clisp.org>
24075
24076         Take over the maintenance of some older macros from Autoconf.
24077         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24078         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24079         GNU Autoconf.
24080         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24081         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24082
24083 2010-09-17  Eric Blake  <eblake@redhat.com>
24084
24085         fdutimensat: drop atflag validation
24086         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24087         with valid fd, to close a race scenario where futimens is
24088         unsupported and FILE was replaced by a symlink.
24089         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24090         accordingly.
24091         Suggested by Paul Eggert.
24092
24093 2010-09-16  Bruno Haible  <bruno@clisp.org>
24094
24095         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24096         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24097
24098 2010-09-16  Bruno Haible  <bruno@clisp.org>
24099
24100         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24101         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24102         login_tty exists.
24103         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24104
24105 2010-09-16  Bruno Haible  <bruno@clisp.org>
24106
24107         login_tty: Make the replacement code work on BSD systems.
24108         * lib/login_tty.c: Include <sys/ioctl.h>.
24109         (login_tty): Use ioctl TIOCSCTTY when available.
24110         * modules/login_tty (Depends-on): Add sys_ioctl.
24111         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24112
24113 2010-09-16  Bruno Haible  <bruno@clisp.org>
24114
24115         login_tty: Stricter unit test.
24116         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24117         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24118         and tcgetsid() after login_tty.
24119         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24120
24121 2010-09-16  Bruno Haible  <bruno@clisp.org>
24122
24123         New module 'tcgetsid'.
24124         * lib/tcgetsid.c: New file.
24125         * m4/tcgetsid.m4: New file.
24126         * modules/tcgetsid: New file.
24127         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24128         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24129         GNULIB_TCGETSID, HAVE_TCGETSID.
24130         * lib/termios.in.h: Include <sys/types.h>.
24131         (tcgetsid): New declaration.
24132         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24133         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24134         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24135         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24136
24137 2010-09-16  Bruno Haible  <bruno@clisp.org>
24138
24139         Tests for module 'termios'.
24140         * modules/termios-c++-tests: New file.
24141         * modules/termios-tests: New file.
24142         * tests/test-termios-c++.cc: New file.
24143         * tests/test-termios.c: New file.
24144
24145         New module 'termios'.
24146         * modules/termios: New file.
24147         * lib/termios.in.h: New file.
24148         * m4/termios_h.m4: New file.
24149         * doc/posix-headers/termios.texi: Mention the new module.
24150
24151 2010-09-16  Eric Blake  <eblake@redhat.com>
24152
24153         fdutimensat: add an atflag parameter
24154         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24155         * lib/utimens.h (fdutimensat): Update prototype.
24156         * tests/test-fdutimensat.c: Adjust test to match.
24157         * NEWS: Document the change.
24158         Suggested by Paul Eggert.
24159
24160 2010-09-16  Bruno Haible  <bruno@clisp.org>
24161
24162         Fix typos in comments.
24163         * lib/striconveh.h: Fix typo in comment.
24164         * lib/login_tty.c (login_tty): Likewise.
24165
24166 2010-09-15  Bruno Haible  <bruno@clisp.org>
24167
24168         stdlib: clarify MirBSD WEXITSTATUS bug
24169         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24170         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24171
24172 2010-09-15  Eric Blake  <eblake@redhat.com>
24173
24174         stdlib: work around MirBSD WEXITSTATUS bug
24175         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24176         * modules/stdlib (Depends-on): Add sys_wait.
24177         * tests/test-sys_wait.c (main): Enhance test.
24178         * tests/test-stdlib.c (main): Likewise.
24179         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24180
24181         docs: mention MacOS issue with WEXITSTATUS(constant)
24182         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24183         issue.
24184         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24185
24186         strnlen: add tests
24187         * modules/strnlen-tests: New file.
24188         * tests/test-strnlen.c: Likewise.
24189
24190 2010-09-14  Bruno Haible  <bruno@clisp.org>
24191
24192         unistr/base: Avoid link errors when module 'libunistring' is also used.
24193         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24194         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24195         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24196         Declare also when HAVE_LIBUNISTRING is set.
24197         Reported by Pádraig Brady <P@draigbrady.com>.
24198
24199 2010-09-14  Eric Blake  <eblake@redhat.com>
24200
24201         test-rawmemchr: make more robust
24202         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24203         (Depends-on, configure.ac): Add needed prerequisites to use it.
24204         * modules/memchr-tests (Files, Depends-on, configure.ac):
24205         Likewise, to avoid implicit reliance on memchr module prereqs.
24206         * tests/test-memchr.c (main): Ensure proper masking.
24207         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24208         reads.
24209
24210         memchr: detect glibc Alpha bug
24211         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24212         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24213         Alpha.
24214         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24215         * tests/test-memchr.c (main): Enhance test.
24216         Reported by Nelson H. F. Beebe.
24217
24218 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24219
24220         fts, getcwd, glob: audit for dirfd returning -1
24221         * lib/fts.c (opendir): Remove #define; no longer used.
24222         (opendirat): New arg PDIR_FD.  All callers changed.
24223         (fts_build, _opendir2): Use new opendirat to avoid the need for
24224         dirfd, or for checking whether dirfd returns a negative value.
24225         Don't use opendir; always use openat followed by fdopendir.
24226         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24227         it.
24228         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24229         returns -1 here.
24230         * modules/fts (Depends-on): Remove dirfd.
24231         * modules/getcwd (Depends-on): Likewise.
24232
24233 2010-09-13  Eric Blake  <eblake@redhat.com>
24234
24235         float: fix broken MirBSD header
24236         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24237         * doc/posix-headers/float.texi (float.h): Document it.
24238
24239 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24240
24241         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24242         * lib/fts.c (opendirat): New arg extra_flags.
24243         (__opendir2): Use it to avoid following symlinks when opening
24244         a directory, if symlinks are not supposed to be followed.  See
24245         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24246
24247         fdopendir: preserve argument fd before returning
24248         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24249         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24250         (fdopendir): Use them, arranging for FD to be open to the same
24251         directory that it was when it started.  (It might be temporarily
24252         closed while fdopendir is running, so this not thread- or
24253         signal-safe.)  Be careful to do the right thing even when file
24254         descriptors are scarce and dup fails with errno == EMFILE.  See
24255         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24256
24257 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24258
24259         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24260         * NEWS: Document change.
24261         * m4/regex.m4: Disable test for regoff_t size.
24262
24263 2010-09-13  Jim Meyering  <meyering@redhat.com>
24264
24265         fts: don't operate on an invalid file descriptor after failed dup
24266         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24267         negative file descriptor.
24268
24269 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24270
24271         savedir: add streamsavedir, deprecate fdsavedir
24272         * NEWS: Mention deprecation of fdsavedir.
24273         * lib/savedir.c (streamsavedir): New extern function, whose name
24274         ends in "savedir" to be consistent with the others.  This differs
24275         from savedirstream in that it doesn't close its argument.  The
24276         next version of GNU tar will use this instead of fdsavedir, to
24277         avoid some race conditions and conserve file descriptors.
24278         (savedirstream): Reimplement as a wrapper around streamsavedir.
24279         (fdsavedir): Add a comment deprecating this function.  As far as
24280         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24281         * lib/savedir.h (streamsavedir): New decl.
24282         (fdsavedir): Add a comment deprecating this.
24283
24284 2010-09-10  Bruno Haible  <bruno@clisp.org>
24285
24286         langinfo: Fix last commit.
24287         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24288         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24289         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24290
24291 2010-09-10  Bruno Haible  <bruno@clisp.org>
24292
24293         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24294         * lib/progreloc.c (O_EXEC): Define fallback.
24295
24296 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24297
24298         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24299         * NEWS: Document recent changes to fcntl-h.
24300         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24301         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24302         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24303         Similarly for O_SEARCH; this last was already true, but not documented.
24304         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24305         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24306         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24307         Likewise.
24308         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24309         is zero, not whether it is defined.
24310         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24311         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24312         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24313
24314 2010-09-10  Bruno Haible  <bruno@clisp.org>
24315
24316         langinfo, nl_langinfo: Fix for IRIX 5.3.
24317         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24318         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24319         HAVE_LANGINFO_YESEXPR.
24320         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24321         HAVE_LANGINFO_YESEXPR.
24322         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24323         HAVE_LANGINFO_T_FMT_AMPM is 0.
24324         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24325         HAVE_LANGINFO_YESEXPR is 0.
24326         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24327         NOEXPR.
24328         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24329         * doc/posix-functions/nl_langinfo.texi: Likewise.
24330         Reported by Eric Blake.
24331
24332 2010-09-10  Bruno Haible  <bruno@clisp.org>
24333
24334         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24335         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24336         on FreeBSD 8.0 and OpenBSD 4.6.
24337         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24338         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24339         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24340         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24341         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24342         ac_includes_default.
24343         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24344
24345 2010-09-09  Eric Blake  <eblake@redhat.com>
24346
24347         strsignal: work around NetBSD bug
24348         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24349         * lib/string.in.h (includes): Likewise.
24350         * doc/posix-functions/strsignal.texi (strsignal): Document the
24351         bug.
24352         Reported by Nelson H. F. Beebe.
24353
24354         gnulib-tool: work with NetBSD /bin/sh
24355         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24356         (func_get_description, func_get_comment, func_get_status)
24357         (func_get_notice, func_get_applicability, func_get_filelist)
24358         (func_get_dependencies, func_get_autoconf_early_snippet)
24359         (func_get_autoconf_snippet, func_get_automake_snippet)
24360         (func_get_include_directive, func_get_link_directive)
24361         (func_get_license, func_get_maintainer, func_import): Avoid
24362         shell syntax errors from parsing syntax extensions.
24363
24364 2010-09-09  Bruno Haible  <bruno@clisp.org>
24365
24366         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24367         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24368         a reliable way to determine whether the 'alias' command works.
24369
24370 2010-09-08  Jim Meyering  <meyering@redhat.com>
24371
24372         init.sh: penalize a set-x-impaired shell; don't disqualify it
24373         * tests/init.sh: Too many shells corrupt application stderr when
24374         you set -x, so we can't afford to disqualify them, since at least
24375         on Irix-6.5, that would disqualify all bourne shells.
24376         Instead, use a two-pass approach.
24377         On the first pass, try to find a shell that meets the stricter
24378         condition that set -x does not corrupt stderr.
24379         If no shell meets the stricter condition, retest each candidate
24380         shell, but without that extra condition.  Finally, when
24381         VERBOSE=yes is requested and set -x might cause trouble, simply
24382         issue a warning and refrain from enabling debug output.
24383
24384 2010-09-08  Eric Blake  <eblake@redhat.com>
24385
24386         unsetenv: fix OpenBSD bug
24387         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24388         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24389         documentation.
24390         Reported by Jim Meyering.
24391
24392         strtod: work around IRIX 6.5 bug
24393         * lib/strtod.c (strtod): Reparse number on shorter string if
24394         exponent parse was invalid.
24395         * tests/test-strtod.c (main): Add check for "0x1p 2".
24396         Reported by Tom G. Christensen.
24397
24398         getopt: optimize previous patch
24399         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24400         empty variable.  Speed up awk script.
24401         Reported by Paolo Bonzini.
24402
24403 2010-09-08  Jim Meyering  <meyering@redhat.com>
24404
24405         test.sh: disqualify shells for which set -x corrupts stderr
24406         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24407         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24408         appear in stderr output.  For example, this command:
24409             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24410         prints "P=1" on those two systems:
24411
24412 2010-09-08  Bruno Haible  <bruno@clisp.org>
24413
24414         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24415         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24416         commands, because some shells ignore redirections when there is an
24417         error in the command lookup.
24418         Reported by Eric Blake.
24419
24420 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24421
24422         * lib/regex.h: Fix a mention of `regex_compile' (should be
24423         `re_compile_pattern').
24424         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24425         (re_set_registers): Correct name of parameter in comment.
24426
24427         * doc/regex.texi: Add documentation for missing syntax flags.
24428         Remove commented-out documentation of defunct syntax option
24429         RE_NO_EMPTY_ALTS.
24430         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24431         Add documentation of re_set_registers.
24432         Document trick to re-use a pattern buffer by setting fastmap manually.
24433         Update documentation of struct re_pattern_buffer per public members.
24434         Uncomment documentation of equivalence class operators and
24435         collating symbol operators, since they are now implemented,
24436         Explain leftmost-longest matching in relation to alternatives.
24437         Tidy documentation of substring matching.
24438         Remove POSIX documentation, which is done better in
24439         glibc, and refer the reader there. Keep BSD API documentation, as
24440         that is not readily available elsewhere.
24441
24442 2010-09-07  Eric Blake  <eblake@redhat.com>
24443
24444         getopt: handle POSIXLY_CORRECT set but not exported
24445         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24446         export state of POSIXLY_CORRECT, due to bash set -o posix.
24447         Reported by Dustin J. Mitchell.
24448
24449 2010-09-05  Bruno Haible  <bruno@clisp.org>
24450
24451         gnulib-tool: Highlight the changed options.
24452         * gnulib-tool (func_usage): Display the --import, --add-import,
24453         --remove-import explanations in bold font.
24454
24455 2010-09-06  Karl Berry  <karl@gnu.org>
24456
24457         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24458
24459 2010-09-05  Bruno Haible  <bruno@clisp.org>
24460
24461         uniwidth/width: Update comment.
24462         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24463         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24464
24465 2010-09-05  Bruno Haible  <bruno@clisp.org>
24466
24467         isinf, isnan: Relax license.
24468         * modules/isinf (License): Change from GPL to LGPL, with consent from
24469         Ben Pfaff.
24470         * modules/isnan (License): Likewise.
24471         Requested by Ludovic Courtès.
24472
24473 2010-09-04  Bruno Haible  <bruno@clisp.org>
24474
24475         gnulib-tool: Help migration from --import to --add-import or --update.
24476         * gnulib-tool: Emit a verbose error message when --import is used
24477         without any module name.
24478
24479 2010-09-04  Bruno Haible  <bruno@clisp.org>
24480
24481         Update doc about gnulib-tool.
24482         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24483         'gnulib-tool --update' in more detail.
24484         Reported by Eric Blake.
24485
24486 2010-09-04  Bruno Haible  <bruno@clisp.org>
24487
24488         gnulib-tool: Change --import. New options --add/remove-import.
24489         * gnulib-tool: New options --add-import, --remove-import.
24490         (func_usage): Document them.
24491         (have_associative): Define always.
24492         (func_import): In import mode, don't merge the specified settings with
24493         the cached settings. Implement remove-import mode.
24494         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24495         Explain when to use them versus --import.
24496         (Simple update): Use --add-import instead of --import.
24497         * NEWS: Mention the change.
24498
24499 2010-09-04  Bruno Haible  <bruno@clisp.org>
24500
24501         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24502         separate gnulib.mk.
24503
24504 2010-09-04  Bruno Haible  <bruno@clisp.org>
24505
24506         gnulib-tool: Don't talk about CVS any more.
24507         * gnulib-tool (func_usage, func_import): Write "version control"
24508         instead of CVS.
24509
24510 2010-09-04  Jim Meyering  <meyering@redhat.com>
24511
24512         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24513         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24514         false positives (whose names may be ill-chosen) when searching
24515         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24516         would cause a false-positive.
24517
24518         avoid coreutils "make distcheck" failure
24519         Coreutils tests with an absolute build directory name that contains
24520         a space.  Not quoting this directory name caused a failure.
24521         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24522         * tests/test-vc-list-files-cvs.sh: Likewise.
24523
24524 2010-09-04  Bruno Haible  <bruno@clisp.org>
24525
24526         gnulib-tool: Avoid error when run in a package without Makefile.am.
24527         * gnulib-tool: When collecting the m4dirs in a package that does not
24528         have a Makefile.am, eliminate those directories that contain no
24529         gnulib-cache.m4. Fix expression that counts these directories.
24530
24531 2010-09-04  Bruno Haible  <bruno@clisp.org>
24532
24533         update-copyright test: Improve output when perl is missing or too old.
24534         * tests/test-update-copyright.sh: Move test of Perl version down after
24535         the test whether Perl exists. Provide an explanation relating Perl's
24536         error message to Automake's SKIP: message.
24537
24538 2010-09-04  Bruno Haible  <bruno@clisp.org>
24539
24540         Don't augment PATH in TESTS_ENVIRONMENT.
24541         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24542         set abs_aux_dir instead of augmenting PATH.
24543         * modules/vc-list-files-tests (Makefile.am): Likewise.
24544         * tests/test-update-copyright.sh: Augment PATH here.
24545         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24546         path_prepend_.
24547         * tests/test-vc-list-files-git.sh: Likewise.
24548
24549 2010-09-04  Jim Meyering  <meyering@redhat.com>
24550
24551         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24552         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24553
24554 2010-09-04  Bruno Haible  <bruno@clisp.org>
24555
24556         strdup: Fix compilation error in C++ mode.
24557         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24558         the macro.
24559
24560 2010-09-04  Bruno Haible  <bruno@clisp.org>
24561
24562         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24563         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24564         macro into a function.
24565         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24566
24567 2010-09-04  Bruno Haible  <bruno@clisp.org>
24568
24569         Set PATH_SEPARATOR the same way autoconf does.
24570         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24571         the value of PATH_SEPARATOR the same way autoconf-generated configure
24572         scripts do.
24573         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24574         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24575
24576 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24577
24578         Set PATH_SEPARATOR the same way autoconf does.
24579         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24580         the same way autoconf-generated configure scripts do.
24581         * posix-modules: Likewise.
24582
24583 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24584
24585         hash: fix safe_hasher const typo
24586         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24587         const; otherwise, there is a type error later.
24588
24589 2010-09-02  Jim Meyering  <meyering@redhat.com>
24590
24591         test-update-copyright.sh: require perl 5.8.0
24592         * tests/test-update-copyright.sh: Require 5.8.0,
24593         which Tom G. Christensen has confirmed is adequate,
24594         while 5.6.1 is not.
24595
24596 2010-09-02  Eric Blake  <eblake@redhat.com>
24597
24598         tests: init.sh improvements for re-exec'ing with zsh
24599         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24600         -vx through shell re-exec.
24601         Reported by Tom G. Christensen.
24602
24603         wctype: fix typo in previous commit
24604         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24605         Reported by Ludovic Courtès.
24606
24607 2010-09-02  Jim Meyering  <meyering@redhat.com>
24608
24609         test-update-copyright.sh: skip test if Perl is too old
24610         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24611         Reported by Tom G. Christensen.
24612
24613 2010-09-02  Bruno Haible  <bruno@clisp.org>
24614
24615         wctype: Avoid compilation error on IRIX 6.5.30.
24616         * lib/wctype.in.h (iswblank): Declare with a replacement if
24617         REPLACE_ISWBLANK is set.
24618         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24619         declared. Set REPLACE_ISWBLANK.
24620         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24621         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24622         * doc/posix-headers/wctype.texi: Likewise.
24623         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24624
24625 2010-09-01  Bruno Haible  <bruno@clisp.org>
24626
24627         New module 'socketlib'.
24628         * modules/socketlib: New file.
24629         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24630         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24631         * modules/sockets (Depends-on): Add socketlib.
24632         Suggested by Sam Steingold <sds@gnu.org>.
24633
24634 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24635
24636         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24637
24638         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24639         when one needs search access to a directory but not read access.
24640         On systems where it is available, it works in some cases where
24641         O_RDONLY does not, namely on directories that are searchable but
24642         not readable, and which need only to be searchable.  If O_SEARCH
24643         is not available, fall back to the traditional method of using
24644         O_RDONLY.
24645
24646         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24647         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24648         when opening a directory that needs only to be searchable.
24649         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24650         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24651         * lib/openat-proc.c (openat_proc_name): Likewise.
24652         * lib/openat.c (openat_needs_fchdir): Likewise.
24653         * lib/save-cwd.c (save_cwd): Likewise.
24654         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24655
24656 2010-08-28  Bruno Haible  <bruno@clisp.org>
24657
24658         New module 'host-cpu-c-abi'.
24659         * modules/host-cpu-c-abi: New file.
24660         * m4/host-cpu-c-abi.m4: New file, based on part of
24661         clisp/src/m4/general.m4.
24662         Requested by Sam Steingold <sds@gnu.org>.
24663
24664 2010-08-31  Eric Blake  <eblake@redhat.com>
24665         and Jim Meyering  <meyering@redhat.com>
24666
24667         hash: factor, and guard against misbehaving hasher function
24668         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24669         of table->hasher's return value.  Also protect against a hash value
24670         so large that adding it to table->bucket results in a NULL pointer.
24671         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24672         Use it in place of open-coded check-and-abort.
24673
24674 2010-08-30  Bruno Haible  <bruno@clisp.org>
24675
24676         hash: silence spurious clang warning
24677         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24678         Reported by Eric Blake.
24679
24680 2010-08-30  Eric Blake  <eblake@redhat.com>
24681
24682         strstr, memmem, strcasestr: avoid leaked shell message
24683         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24684         FreeBSD.
24685         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24686         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24687
24688         tests: silence clang warning
24689         * tests/test-malloca.c (do_allocation): Avoid dead store.
24690
24691 2010-08-29  Bruno Haible  <bruno@clisp.org>
24692
24693         gettext: Fix recent mistake.
24694         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24695
24696 2010-08-29  Bruno Haible  <bruno@clisp.org>
24697
24698         selinux-h: Offer a --without-selinux option.
24699         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24700         --without-selinux was specified, skip all tests and define
24701         HAVE_SELINUX_SELINUX_H to 0.
24702         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24703         set LIB_SELINUX to empty.
24704         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24705         gl_LIBSELINUX. If --without-selinux was specified, replace
24706         selinux/context.h.
24707         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24708
24709 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24710             Bruno Haible  <bruno@clisp.org>
24711
24712         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24713         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24714         of HAVE_REALLOC.
24715         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24716         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24717         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24718         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24719
24720 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24721             Bruno Haible  <bruno@clisp.org>
24722
24723         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24724         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24725         HAVE_CALLOC.
24726         * lib/xmalloc.c: Update accordingly.
24727         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24728         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24729         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24730
24731 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24732             Bruno Haible  <bruno@clisp.org>
24733
24734         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24735         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24736         HAVE_MALLOC.
24737         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24738         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24739         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24740
24741 2010-08-29  Bruno Haible  <bruno@clisp.org>
24742
24743         Update modules list.
24744         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24745         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24746         (String handling <string.h>): Add astrxfrm.
24747         (File system functions): Add readlinkat.
24748
24749 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24750
24751         Tests for module 'realloc-gnu'.
24752         * modules/realloc-gnu-tests: New file.
24753         * tests/test-realloc-gnu.c: New file.
24754
24755         Tests for module 'calloc-gnu'.
24756         * modules/calloc-gnu-tests: New file.
24757         * tests/test-calloc-gnu.c: New file.
24758
24759         Tests for module 'malloc-gnu'.
24760         * modules/malloc-gnu-tests: New file.
24761         * tests/test-malloc-gnu.c: New file.
24762
24763 2010-08-28  Bruno Haible  <bruno@clisp.org>
24764
24765         Rename module 'realloc' -> 'realloc-gnu'.
24766         * modules/realloc-gnu: New file, copied from modules/realloc.
24767         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24768         obsolete.
24769         * modules/mgetgroups (Depends-on): Update.
24770         * doc/posix-functions/realloc.texi: Update.
24771         * NEWS: Mention the change.
24772
24773         Rename module 'calloc' -> 'calloc-gnu'.
24774         * modules/calloc-gnu: New file, copied from modules/calloc.
24775         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24776         obsolete.
24777         * doc/posix-functions/calloc.texi: Update.
24778         * NEWS: Mention the change.
24779
24780         Rename module 'malloc' -> 'malloc-gnu'.
24781         * modules/malloc-gnu: New file, copied from modules/malloc.
24782         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24783         obsolete.
24784         * modules/argp (Depends-on): Update.
24785         * modules/regex (Depends-on): Update.
24786         * doc/posix-functions/malloc.texi: Update.
24787         * NEWS: Mention the change.
24788
24789 2010-08-28  Eric Blake  <eblake@redhat.com>
24790
24791         pread, pwrite: add missing dependency
24792         * modules/pread (Depends-on): Add extensions.
24793         * modules/pwrite (Depends-on): Likewise.
24794
24795 2010-08-28  Bruno Haible  <bruno@clisp.org>
24796
24797         unistr/u*-strchr: Fix tests dependencies.
24798         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
24799         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
24800         Reported by Ian Beckwith <ianb@erislabs.net>.
24801
24802 2010-08-28  Bruno Haible  <bruno@clisp.org>
24803
24804         read-file: Don't occupy too much unused memory.
24805         * lib/read-file.c (fread_file): Shrink the buffer at the end.
24806
24807 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
24808             Eric Blake  <eblake@redhat.com>
24809             Bruno Haible  <bruno@clisp.org>
24810
24811         read-file: Avoid memory reallocations with regular files.
24812         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24813         (fread_file): With regular files, use the remaining length as the
24814         initial buffer size.  Check against overflow.
24815         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24816         sys_stat.
24817
24818 2010-08-28  Bruno Haible  <bruno@clisp.org>
24819
24820         ftello: Relax license.
24821         * modules/ftello (License): Relax to LGPLv2+.
24822         Reported by Eric Blake.
24823
24824 2010-08-28  Bruno Haible  <bruno@clisp.org>
24825
24826         Avoid relocwrapper link errors due to gnulib replacement functions.
24827         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24828         function.
24829         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24830
24831 2010-08-28  Bruno Haible  <bruno@clisp.org>
24832
24833         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24834         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24835         defined.
24836         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24837         Suggested by Eric Blake.
24838
24839 2010-08-28  Bruno Haible  <bruno@clisp.org>
24840
24841         sys_socket, netdb: Ensure socklen_t gets defined.
24842         * modules/sys_socket (Depends-on): Add socklen.
24843         * modules/netdb (Depends-on): Likewise.
24844         * modules/getaddrinfo (Depends-on): Remove socklen.
24845         * modules/getsockopt (Depends-on): Likewise.
24846         * modules/setsockopt (Depends-on): Likewise.
24847         * tests/test-sys_socket.c: Check that socklen_t is defined.
24848         * tests/test-netdb.c: Likewise.
24849         * m4/socklen.m4: Update comments.
24850         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24851
24852 2010-08-27  Eric Blake  <eblake@redhat.com>
24853
24854         login_tty: add missing dependency
24855         * modules/login_tty (Depends-on): Add pty.
24856
24857 2010-08-26  Eric Blake  <eblake@redhat.com>
24858
24859         lib-symbol-versions: fix m4 quoting
24860         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24861         format for AC_LINK_IFELSE.
24862
24863         glob: fix compile test
24864         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24865
24866         btowc: fix missing file
24867         * modules/btowc (Files): Also ship locale-fr.m4.
24868
24869         lseek: fix link test
24870         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24871         AC_LINK_IFELSE.
24872
24873         include_next: silence autoconf 2.68 warning
24874         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24875         AC_COMPILE_IFELSE as special.
24876         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24877         autoconf < 2.68.
24878
24879         acl: fix compilation test
24880         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24881         AC_COMPILE_IFELSE.
24882
24883 2010-08-26  Bruno Haible  <bruno@clisp.org>
24884
24885         Modernize AC_TRY_RUN invocations.
24886         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24887         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24888         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24889         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24890         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24891         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24892         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24893         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24894         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24895         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24896         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24897         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24898         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24899         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24900         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24901         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24902         gl_MBRLEN_NUL_RETVAL): Likewise.
24903         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24904         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24905         Likewise.
24906         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24907         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24908         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24909         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24910         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24911         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24912         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24913         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24914         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24915         Likewise.
24916         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24917         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24918         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24919         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24920         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24921         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24922         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24923         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
24924         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24925         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24926
24927 2010-08-26  Bruno Haible  <bruno@clisp.org>
24928
24929         Modernize AC_TRY_LINK invocations.
24930         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
24931         AC_TRY_LINK.
24932         * m4/argp.m4 (gl_ARGP): Likewise.
24933         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
24934         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24935         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24936         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24937         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24938         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
24939         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
24940         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
24941         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24942         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24943         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24944         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
24945         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
24946         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24947         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24948         * m4/hostent.m4 (gl_HOSTENT): Likewise.
24949         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24950         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
24951         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24952         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
24953         Likewise.
24954         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
24955         Likewise.
24956         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
24957         Likewise.
24958         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24959         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
24960         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
24961         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24962         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
24963         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24964         * m4/servent.m4 (gl_SERVENT): Likewise.
24965         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
24966         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
24967         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
24968         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
24969         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24970         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24971         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24972         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24973         * modules/tsearch-tests (configure.ac): Likewise.
24974
24975 2010-08-26  Bruno Haible  <bruno@clisp.org>
24976
24977         Modernize AC_TRY_COMPILE invocations.
24978         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
24979         AC_TRY_COMPILE.
24980         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
24981         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
24982         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24983         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
24984         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24985         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24986         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24987         * m4/lock.m4 (gl_LOCK): Likewise.
24988         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
24989         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24990         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
24991         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24992         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24993         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
24994         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24995         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
24996         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24997         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24998         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24999         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25000         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25001         extraneous semicolon.
25002
25003 2010-08-26  Jim Meyering  <meyering@redhat.com>
25004
25005         stat-time: relax license LGPL
25006         * modules/stat-time (License): Change from GPL to LGPL,
25007         with consent from all contributors, for use in libguile.
25008         Requested by Ludovic Courtès.
25009
25010 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25011
25012         poll: return immediately on POLLHUP.
25013         * lib/poll.c (poll): Always set timeout before wait_timeout is
25014         computed.
25015
25016 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25017
25018         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25019         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25020         rmdir ("dir/.//"), unlinkat.
25021
25022 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25023
25024         stdbool: avoid spurious failure with modern xlc
25025         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25026
25027 2010-08-24  Bruno Haible  <bruno@clisp.org>
25028
25029         getloadavg: simplify code
25030         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25031         gl_have_func. Update comments.
25032
25033 2010-08-24  Eric Blake  <eblake@redhat.com>
25034
25035         getloadavg: don't define SVR4 on cygwin
25036         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25037         only define SVR4 when -lkvm is required.
25038         Reported by Yaakov Selkowitz.
25039
25040 2010-08-24  Bruno Haible  <bruno@clisp.org>
25041
25042         priv-set: fix comment
25043         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25044
25045 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25046
25047         priv-set: fix comments
25048         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25049         to match code, as suggested by David Bartley in:
25050         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25051
25052 2010-08-23  Eric Blake  <eblake@redhat.com>
25053
25054         stdbool: avoid rejecting clang
25055         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25056         * tests/test-stdbool.c: Enable more tests if using the system
25057         <stdbool.h> instead of the gnulib replacement.
25058         (main): Move xlc bug test to a runtime test for all compilers.
25059         Reported by Anders Kaseorg.
25060
25061         argz: fix shell quoting issue
25062         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25063         Reported by Charles Wilson.
25064
25065 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25066             Erik Faye-Lund <kusmabite@gmail.com>
25067
25068         poll, select: handle ERROR_BROKEN_PIPE.
25069         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25070         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25071         * lib/select.c (win32_compute_revents): Do not mark a pipe
25072         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25073
25074 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25075
25076         fts: allow compilation with C++
25077         * lib/fts_.h: Specify extern "C" linkage with C++.
25078
25079 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25080
25081         Fix gnulib-tool sed script de-commentation for AIX sed.
25082         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25083         sed.
25084
25085 2010-08-17  Eric Blake  <eblake@redhat.com>
25086
25087         test-stddef: test for (some) offsetof bugs
25088         * tests/test-stddef.c: Enhance test to ensure correct type of
25089         offsetof.
25090         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25091         that we are not fixing at this time.
25092
25093 2010-08-15  Bruno Haible  <bruno@clisp.org>
25094
25095         stpncpy: Allow stpncpy to be defined as a macro.
25096         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25097         if it's already correctly declared.
25098         * lib/string.in.h (stpncpy): Undefine before redefining.
25099         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25100
25101 2010-08-14  Bruno Haible  <bruno@clisp.org>
25102
25103         Rename module 'memxfrm' to 'amemxfrm'.
25104         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25105         (amemxfrm): Renamed from memxfrm.
25106         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25107         (amemxfrm): Renamed from memxfrm.
25108         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25109         * NEWS: Mention the change.
25110         * MODULES.html.sh (String handling <string.h>): Update.
25111         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25112         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25113         * lib/unicase/u16-casexfrm.c: Likewise.
25114         * lib/unicase/u32-casexfrm.c: Likewise.
25115         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25116         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25117         * lib/uninorm/u16-normxfrm.c: Likewise.
25118         * lib/uninorm/u32-normxfrm.c: Likewise.
25119         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25120         memxfrm.
25121         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25122         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25123         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25124         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25125         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25126         Suggested by Paul Eggert.
25127
25128 2010-08-14  Bruno Haible  <bruno@clisp.org>
25129
25130         Tests for module 'astrxfrm'.
25131         * modules/astrxfrm-tests: New file.
25132         * tests/test-astrxfrm.c: New file.
25133
25134         New module 'astrxfrm'.
25135         * lib/astrxfrm.h: New file.
25136         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25137         * modules/astrxfrm: New file.
25138
25139 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25140
25141         regex: Tweak doc.
25142         * doc/regex.texi (Overview): Don't mention regex.c.
25143         (GNU Regular Expression Compiling): Likewise.
25144         (Match-end-of-line Operator): Mention 'not_eol'.
25145
25146 2010-08-14  Brian Gough  <bjg@gnu.org>
25147             Bruno Haible  <bruno@clisp.org>
25148
25149         git-merge-changelog: add doc relating to use with bzr and hg.
25150         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25151
25152 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25153
25154         pthread: fix pthread.h creation for srcdir != builddir
25155         * modules/pthread (Makefile.am): Fix the rule to work also in a
25156         non-srcdir build.
25157
25158 2010-08-13  Karl Berry  <karl@gnu.org>
25159
25160         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25161         * doc/posix-*/*: force line break before @url of POSIX
25162         specifications.
25163         Suggested by Werner Lemberg.
25164
25165 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25166
25167         strtod: fix const diagnostic
25168         * lib/strtod.c (strtod): Don't assign const char * to char *,
25169         as this elicits a warning from GCC when warnings are enabled.
25170
25171 2010-08-10  Pádraig Brady <P@draigbrady.com>
25172         and Eric Blake  <eblake@redhat.com>
25173
25174         copy-acl: ignore ENOTSUP on HP-UX
25175         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25176         so that it is available for HP-UX.
25177         * lib/copy-acl.c (qcopy_acl): Use it.
25178         Reported by Patrick M. Callahan.
25179
25180 2010-08-10  Eric Blake  <eblake@redhat.com>
25181
25182         open, chown: relax license
25183         * modules/open (License): Change to LGPLv2+, with consent by all
25184         authors, for use in augeas.
25185         * modules/chown (License): Likewise.
25186         * modules/lchown (Likewise): Likewise.
25187         Requested by Adam Stokes.
25188
25189 2010-08-09  Karl Berry  <karl@gnu.org>
25190
25191         * build-aux/ar-lib: new file, import from Automake.
25192         * config/srclist.txt: autocheck for updates.
25193
25194 2010-08-09  Eric Blake  <eblake@redhat.com>
25195
25196         readlinkat: adjust client modules
25197         * modules/areadlinkat (Depends-on): Use readlinkat, not
25198         symlinkat.
25199         * modules/areadlinkat-with-size (Depends-on): Likewise.
25200
25201         mknod: be more vocal about danger of running tests as root
25202         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25203         root, since that is just asking for problems.
25204         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25205
25206         readlinkat: split into its own module
25207         * modules/symlinkat: Split readlinkat...
25208         * modules/readlinkat: ...into separate module.
25209         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25210         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25211         * lib/symlinkat.c (readlinkat): Move...
25212         * lib/readlinkat.c: ...into new file.
25213         * modules/symlinkat-tests: Split readlinkat test...
25214         * modules/readlinkat-tests: ...into separate module.
25215         * tests/test-symlinkat.c: Split...
25216         * tests/test-readlinkat.c: ...into new file.
25217         * NEWS: Document the split.
25218         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25219         * lib/unistd.in.h (readlinkat): Likewise.
25220         Suggested by Bruno Haible.
25221
25222 2010-08-08  Bruno Haible  <bruno@clisp.org>
25223
25224         memxfrm: Speed up.
25225         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25226         that usually only one call to strxfrm is necessary for each string
25227         part.
25228         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25229
25230 2010-08-07  Karl Berry  <karl@gnu.org>
25231
25232         * doc/posix-headers/limits.texi,
25233         * doc/posix-functions/malloc.texi,
25234         * doc/posix-functions/strsignal.texi: missing @item.
25235         * doc/ld-version-script.texi: spurious leading i.
25236         * doc/regex.texi (Interval Operators): no commas inside @var.
25237
25238 2010-08-01  Bruno Haible  <bruno@clisp.org>
25239
25240         Integrate the regex documentation.
25241         * doc/gnulib.texi: Define 'cn' index.
25242         (Regular expressions): New a chapter that includes regex.texi and
25243         regexprops-generic.texi.
25244         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25245         syntax.
25246
25247         Whitespace cleanup.
25248         * doc/regex.texi: Remove trailing spaces.
25249
25250         Add regex documentation.
25251         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25252         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25253         Written by Kathy A. Hargreaves and Karl Berry.
25254
25255 2010-08-01  Bruno Haible  <bruno@clisp.org>
25256
25257         link: Update documentation.
25258         * doc/posix-functions/link.texi: Update regarding Solaris.
25259
25260 2010-07-31  Bruno Haible  <bruno@clisp.org>
25261
25262         Update modules list.
25263         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25264         (String handling <string.h>): Add memcmp2, memxfrm.
25265         (Container data structures): Add xlist, xsublist, xoset.
25266         (Core language properties): Add alignof, unused-parameter.
25267         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25268         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25269         (Unibyte characters <ctype.h>): New section.
25270         (String handling <string.h>): New section.
25271         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25272         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25273         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25274         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25275         tan, tanh, tanl, y0, y1, yn.
25276         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25277         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25278         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25279         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25280         unlockpt, vdprintf, vdprintf-posix.
25281         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25282         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25283         xconcat-filename.
25284         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25285         getdtablesize, pipe2, pipe2-safer.
25286         (Security): New section.
25287         (Networking functions): Add accept4.
25288         (Signal handling): Add sigpipe.
25289         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25290         mbmemcasecoll.
25291         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25292         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25293         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25294         pipe-filter-ii.
25295         (Misc): Add argp-version-etc, login_tty, parse-duration.
25296
25297 2010-07-31  Bruno Haible  <bruno@clisp.org>
25298
25299         Improve doc in MODULES.html.
25300         * modules/linkat (Description): Add the word "function".
25301         * modules/mkfifo (Description): Likewise.
25302         * modules/mknod (Description): Likewise.
25303         * modules/remove (Description): Likewise.
25304         * modules/renameat (Description): Likewise.
25305         * modules/stat (Description): Likewise.
25306         * modules/symlink (Description): Likewise.
25307         * modules/unlink (Description): Likewise.
25308
25309 2010-07-31  Bruno Haible  <bruno@clisp.org>
25310
25311         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25312         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25313         option --enable/disable-c++ instead of --enable/disable-cxx.
25314         * NEWS: Mention the change.
25315
25316 2010-07-31  Bruno Haible  <bruno@clisp.org>
25317
25318         readlink, areadlink: Relax test a bit.
25319         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25320         alternative to ENOTDIR.
25321         * tests/test-areadlink.h (test_areadlink): Likewise.
25322         Reported by Rainer Tammer.
25323
25324 2010-07-31  Bruno Haible  <bruno@clisp.org>
25325
25326         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25327         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25328         character, perform the search using U_STRCHR.
25329         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25330         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25331         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25332         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25333         Suggested by Paolo Bonzini.
25334
25335 2010-07-31  Bruno Haible  <bruno@clisp.org>
25336
25337         unistr/u*-strstr: Fix dependencies.
25338         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25339         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25340         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25341
25342 2010-07-31  Bruno Haible  <bruno@clisp.org>
25343
25344         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25345         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25346         the beginning of the loop.
25347         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25348         cases in 'switch' statement.
25349
25350         unistr/u8-strchr: Fix several bugs.
25351         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25352         the string. When not found, return NULL, not a pointer near the end.
25353
25354         More tests for unistr/u8-strchr.
25355         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25356         that the function does not read past the first occurrence of the byte
25357         being searched.
25358         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25359         * tests/unistr/test-u16-strchr.c (main): New function.
25360         * tests/unistr/test-u32-strchr.c (main): New function.
25361
25362 2010-07-31  Bruno Haible  <bruno@clisp.org>
25363
25364         posix-modules: Ignore backup files of documentation files.
25365         * posix-modules: grep only through files named *.texi.
25366
25367 2010-07-31  Bruno Haible  <bruno@clisp.org>
25368
25369         symlinkat: Fix documentation.
25370         * doc/posix-functions/readlinkat.texi: Fix module name.
25371
25372 2010-07-31  Bruno Haible  <bruno@clisp.org>
25373
25374         fchownat: Replace also when chown has the trailing slash bug.
25375         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25376         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25377         introduced on 2010-04-10.
25378         Reported by Rainer Tammer.
25379
25380 2010-07-31  Bruno Haible  <bruno@clisp.org>
25381
25382         linkat: Work around AIX 7.1 bug.
25383         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25384         whether linkat handles trailing slash correctly. If not, replace linkat
25385         and define LINKAT_TRAILING_SLASH_BUG.
25386         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25387         check whether (fd1,file1) points to a directory if file1 or file2 ends
25388         in a slash. Code taken from lib/link.c.
25389         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25390         Reported by Rainer Tammer.
25391
25392 2010-07-31  Bruno Haible  <bruno@clisp.org>
25393
25394         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25395         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25396         This disables an xlc optimization that was causing wrong test results.
25397         Reported by Rainer Tammer.
25398
25399 2010-07-31  Bruno Haible  <bruno@clisp.org>
25400
25401         iconv: Work around AIX 6.1..7.1 bug.
25402         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25403         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25404         cross-compiling, guess no on all versions of AIX.
25405         Reported by Rainer Tammer.
25406
25407 2010-07-31  Bruno Haible  <bruno@clisp.org>
25408
25409         readlink: Relax test a bit.
25410         * tests/test-readlink.h (test_readlink): Allow different errno value
25411         when readlink is called with a file name that ends in / and refers to
25412         a file.
25413         Suggested by Eric Blake.
25414         Reported by Rainer Tammer.
25415
25416 2010-07-31  Bruno Haible  <bruno@clisp.org>
25417
25418         copysign: Does not require -lm on glibc systems.
25419         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25420         gl_COMMON_DOUBLE_MATHFUNC.
25421         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25422
25423 2010-07-31  Bruno Haible  <bruno@clisp.org>
25424
25425         duplocale: Work around AIX 7.1 bug.
25426         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25427         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25428         * lib/duplocale.c (rpl_duplocale): Update comment.
25429         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25430         Reported by Rainer Tammer.
25431
25432 2010-07-30  Bruno Haible  <bruno@clisp.org>
25433
25434         dirfd: Avoid link error on AIX 7.1.
25435         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25436         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25437         exist, set REPLACE_DIRFD.
25438         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25439         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25440         * doc/posix-functions/dirfd.texi: Update.
25441         Reported by Rainer Tammer.
25442
25443 2010-07-30  Eric Blake  <eblake@redhat.com>
25444
25445         strtod: next round of AIX fixes
25446         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25447         exponent.
25448         * tests/test-strtod.c (main): Enhance tests.
25449         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25450         Reported by Rainer Tammer.
25451
25452         futimens: fix configure check
25453         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25454         Reported by Bruno Haible.
25455
25456 2010-07-30  Bruno Haible  <bruno@clisp.org>
25457
25458         getline: Update regarding AIX.
25459         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25460         Reported by Rainer Tammer.
25461
25462 2010-07-30  Bruno Haible  <bruno@clisp.org>
25463
25464         wcwidth: Drop replacement on AIX 7.
25465         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25466         AIX 7.
25467         Reported by Rainer Tammer.
25468
25469 2010-07-30  Bruno Haible  <bruno@clisp.org>
25470
25471         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25472         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25473         a 'char *'.
25474         Reported by Rainer Tammer.
25475
25476 2010-07-30  Bruno Haible  <bruno@clisp.org>
25477
25478         unlink: Update regarding AIX.
25479         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25480         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25481         Reported by Rainer Tammer.
25482
25483 2010-07-30  Bruno Haible  <bruno@clisp.org>
25484
25485         symlink: Update regarding AIX.
25486         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25487         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25488         Reported by Rainer Tammer.
25489
25490 2010-07-30  Bruno Haible  <bruno@clisp.org>
25491
25492         strndup: Update regarding AIX.
25493         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25494         AIX 7.
25495         Reported by Rainer Tammer.
25496
25497 2010-07-30  Bruno Haible  <bruno@clisp.org>
25498
25499         stat: Update regarding AIX.
25500         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25501         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25502         Reported by Rainer Tammer.
25503
25504 2010-07-30  Bruno Haible  <bruno@clisp.org>
25505
25506         truncl: Fix autoconf test.
25507         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25508         whether truncl works.
25509         Reported by Rainer Tammer.
25510
25511 2010-07-30  Bruno Haible  <bruno@clisp.org>
25512
25513         round: Update regarding AIX.
25514         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25515         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25516         Reported by Rainer Tammer.
25517
25518 2010-07-30  Bruno Haible  <bruno@clisp.org>
25519
25520         rename: Update regarding AIX.
25521         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25522         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25523         Reported by Rainer Tammer.
25524
25525 2010-07-30  Bruno Haible  <bruno@clisp.org>
25526
25527         printf.m4: Update regarding AIX.
25528         * m4/printf.m4: Update comments regarding AIX.
25529         Reported by Rainer Tammer.
25530
25531 2010-07-30  Bruno Haible  <bruno@clisp.org>
25532
25533         iconv: Update regarding AIX.
25534         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25535         AIX 7.
25536         Reported by Rainer Tammer.
25537
25538 2010-07-30  Bruno Haible  <bruno@clisp.org>
25539
25540         getopt: Update regarding AIX.
25541         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25542         no on AIX.
25543         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25544         Reported by Rainer Tammer.
25545
25546 2010-07-30  Bruno Haible  <bruno@clisp.org>
25547
25548         ldexpl; Update regarding AIX.
25549         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25550         on AIX 7.
25551         Reported by Rainer Tammer.
25552
25553 2010-07-30  Bruno Haible  <bruno@clisp.org>
25554
25555         frexpl: Update regarding AIX.
25556         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25557         on AIX 7.
25558         Reported by Rainer Tammer.
25559
25560 2010-07-30  Bruno Haible  <bruno@clisp.org>
25561
25562         open, fopen: Update regarding AIX.
25563         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25564         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25565         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25566         * doc/posix-functions/fopen.texi: Likewise.
25567         Reported by Rainer Tammer.
25568
25569 2010-07-30  Bruno Haible  <bruno@clisp.org>
25570
25571         chown: Update doc regarding AIX.
25572         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25573         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25574         Reported by Rainer Tammer.
25575
25576 2010-07-30  Eric Blake  <eblake@redhat.com>
25577
25578         strtod: fix bug in replacement function on AIX
25579         * lib/strtod.c (strtod): Special case broken "0x" parse in
25580         underlying strtod.
25581         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25582         * doc/posix-functions/strtod.texi (strtod): Likewise.
25583         Reported by Rainer Tammer.
25584
25585 2010-07-30  Bruno Haible  <bruno@clisp.org>
25586
25587         mbrlen: Fix cross-compilation guess for AIX.
25588         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25589         guess. Leftover from 2008-12-22.
25590
25591 2010-07-30  Bruno Haible  <bruno@clisp.org>
25592
25593         mbrtowc: Fix cross-compilation guess for AIX.
25594         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25595         guess. Leftover from 2008-12-21.
25596
25597 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25598
25599         init.sh: work around trap limitation of some shells
25600         * tests/init.sh (setup_): Move exit trap outside of shell function.
25601
25602 2010-07-29  Eric Blake  <eblake@redhat.com>
25603
25604         strtod: aid debugging
25605         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25606         understanding why strtod is rejected.
25607
25608 2010-07-28  Bruno Haible  <bruno@clisp.org>
25609
25610         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25611         * lib/unistr/u8-chr.c: Include <string.h>.
25612         * tests/unistr/test-u8-chr.c: Likewise.
25613         * tests/unistr/test-u16-chr.c: Likewise.
25614         * tests/unistr/test-u32-chr.c: Likewise.
25615         * tests/unistr/test-u8-strchr.c: Likewise.
25616         * tests/unistr/test-u16-strchr.c: Likewise.
25617         * tests/unistr/test-u32-strchr.c: Likewise.
25618         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25619         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25620         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25621         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25622
25623 2010-07-28  Bruno Haible  <bruno@clisp.org>
25624
25625         Use spaces for indentation, not tabs.
25626         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25627
25628 2010-07-27  Bruno Haible  <bruno@clisp.org>
25629
25630         mbspcasecmp: Fix function specification.
25631         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25632         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25633         Reported by Eric Blake <eblake@redhat.com>.
25634
25635 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25636
25637         timespec: use cast and not conditional, as truncation isn't possible
25638         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25639         instead of a conditional.  Comment about the situation in more detail.
25640         This undoes most of the 2009-10-29 patch.
25641
25642 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25643
25644         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25645         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25646         * lib/unistr/u8-strchr.c: Likewise.
25647         * modules/unistr/u8-chr: Depend on memchr.
25648
25649         unistr/u*-strchr: add tests
25650         * modules/unistr/u8-strchr-tests: New file.
25651         * modules/unistr/u16-strchr-tests: New file.
25652         * modules/unistr/u32-strchr-tests: New file.
25653         * tests/unistr/test-strchr.h: New file.
25654         * tests/unistr/test-u8-strchr.c: New file.
25655         * tests/unistr/test-u16-strchr.c: New file.
25656         * tests/unistr/test-u32-strchr.c: New file.
25657
25658         unistr/u*-chr: test multibyte sequences more
25659         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25660         test vector.
25661         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25662         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25663         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25664
25665         unistr/u*-chr: test multibyte sequences
25666         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25667
25668         unistr/u*-chr: prepare for multibyte tests
25669         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25670         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25671         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25672         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25673         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25674         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25675
25676 2010-07-18  Bruno Haible  <bruno@clisp.org>
25677
25678         unistr/u8-strchr: Optimize non-ASCII argument case.
25679         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25680         because the first byte often matches anyway.
25681         Reported by Pádraig Brady <P@draigbrady.com>.
25682
25683 2010-07-15  Karl Berry  <karl@gnu.org>
25684
25685         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25686
25687 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25688
25689         getcwd: on Solaris, work better if ancestors are inaccessible
25690         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25691         buffer and size, try again with a large buffer.  This works better
25692         on Solaris, since its getcwd succeeds even if the path to the root
25693         is inaccessible, and this is helpful in common cases such as .zfs
25694         hidden directories.  Problem reported by J Chapman Flack in
25695         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25696         Use system getcwd if it's declared, not merely if it's partly
25697         working; use the partly-working test only to avoid needless effort
25698         if the system getcwd fails.
25699         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25700         comment that was already obsolete and is now even more obsolete.
25701         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25702         now might call strdup.
25703
25704 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25705
25706         pthread: Add enough so that coreutils/src/sort.c compiles.
25707         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25708         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25709         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25710         Include <sys/types.h>, in case it defines pthread_t.
25711         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25712         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25713         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25714         (pthread_rwlockattr_t, pthread_spinlock_t):
25715         New typedefs, if HAVE_PTHREAD_T is not defined.
25716         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25717         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25718         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25719         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25720         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25721         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25722         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25723         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25724         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25725         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25726         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25727         New macros.
25728         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25729         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25730         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25731         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25732         (pthread_spin_unlock): New dummy functions.
25733         (pthread_create): Return EAGAIN; don't set errno.
25734         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25735         require AC_C_INLINE.
25736         * modules/pthread (Depends-on): Add sched, time.
25737         (pthread.h): Use AM_V_GEN.
25738
25739 2010-07-13  Bruno Haible  <bruno@clisp.org>
25740
25741         striconveh: Don't malloc memory if the result buffer is sufficient.
25742         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25743         buffer if its size is sufficient.
25744         Reported by Ludovic Courtès <ludo@gnu.org>.
25745
25746 2010-07-13  Bruno Haible  <bruno@clisp.org>
25747
25748         strtod: Add safety check.
25749         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25750
25751 2010-07-12  Bruno Haible  <bruno@clisp.org>
25752
25753         Unify tests that set gl_cv_func_ldexpl_no_libm.
25754         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25755         gl_FUNC_LDEXPL.
25756         (gl_FUNC_LDEXPL): Invoke it.
25757         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25758
25759 2010-07-12  Bruno Haible  <bruno@clisp.org>
25760
25761         Unify tests that set gl_cv_func_ldexp_no_libm.
25762         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25763         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25764         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25765         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25766         * modules/strtod (Files): Add m4/ldexp.m4.
25767
25768 2010-07-12  Bruno Haible  <bruno@clisp.org>
25769
25770         Unify tests that set gl_cv_func_frexpl_no_libm.
25771         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25772         gl_FUNC_FREXPL_NO_LIBM.
25773         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25774         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25775
25776 2010-07-12  Bruno Haible  <bruno@clisp.org>
25777
25778         Unify tests that set gl_cv_func_frexp_no_libm.
25779         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25780         gl_FUNC_FREXP_NO_LIBM.
25781         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25782         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25783
25784 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25785
25786         memcoll: clarify sizes versus lengths, document better, and tweak perf
25787         * lib/memcoll.c (strcoll_loop, memcoll0):
25788         Improve quality of descriptive comments.  Name variables
25789         consistently as to whether they are lengths (which do not include
25790         terminating null) versus sizes (which do).
25791         * lib/xmemcoll.c (xmemcoll0): Likewise.
25792         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25793         returned when s1size == 0; this is easier to compile and saves
25794         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25795
25796 2010-07-12  Bruno Haible  <bruno@clisp.org>
25797
25798         Tests for module '_Exit'.
25799         * modules/_Exit-tests: New file.
25800         * tests/test-_Exit.sh: New file.
25801         * tests/test-_Exit.c: New file.
25802
25803         New module '_Exit'.
25804         * lib/stdlib.in.h (__attribute__): New macro.
25805         (_Exit): New declaration.
25806         * lib/_Exit.c: New file.
25807         * m4/_Exit.m4: New file.
25808         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
25809         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
25810         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
25811         * modules/_Exit: New file.
25812         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25813         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25814
25815 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25816
25817         strtod: make it more-accurate typically, and don't require libm
25818         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25819         Include limits.h.  Don't include string.h.
25820         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25821         (locale_isspace): New function, so that no casts are needed to
25822         check whether *s is a space.
25823         (ldexp): Provide an unused dummy if not available.
25824         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25825         (strtod): Use them.  This implementation prefers to use the
25826         underlying strtod if available, falling back on our own code
25827         only to fix known bugs.  This is more likely to produce an
25828         accurate result.  Also, it avoids the use of libm functions.
25829         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25830         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25831         was absent, but it caused a test failure with coreutils.
25832         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25833         with libm.
25834         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25835         * modules/strtod-tests (Makefile.am): Likewise.
25836
25837 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25838             Bruno Haible  <bruno@clisp.org>
25839
25840         unistr/u8-strchr: Optimize ASCII argument case.
25841         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25842
25843 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25844
25845         (x)memcoll: minor tweaks
25846         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25847         is after the type that it qualifies.
25848         (memcoll0): Likewise.
25849         * lib/memcoll.h (memcoll0): Likewise.
25850         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25851         * lib/xmemcoll.h (xmemcoll0): Likewise.
25852         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25853         differs from memcoll in that the NUL byte is part of the argument.
25854         Omit the abort-checks, as performance is a real issue here.  Plus,
25855         the checks were wrong anyway (an off-by-one error).  Omit local
25856         variable 'diff', as it's a bit clearer that way.
25857         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25858         no longer needed.
25859
25860 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25861
25862         (x)memcoll: speedup when input is known to be NUL delimited
25863         * lib/memcoll.c: Include stdlib.
25864         (memcoll0): New function.
25865         (strcoll_loop): New function, refactored for use in both memcoll
25866         and memcoll0.
25867         * lib/memcoll.h (memcoll0): Add prototype.
25868         * lib/xmemcoll.c (xmemcoll0): New function.
25869         (collate_error): New function, refactored for use in both xmemcoll
25870         and xmemcoll0.
25871         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25872         * m4/memcoll.m4: add inline invocation.
25873
25874 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25875
25876         * build-aux/bootstrap: Remove any local translations
25877         from the translation project synchronization directory,
25878         so that local only translations are not distributed.
25879
25880 2010-07-04  Bruno Haible  <bruno@clisp.org>
25881
25882         fsusage: Clarify which code applies to which platforms.
25883         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25884         platform.
25885         * lib/fsusage.c (get_fs_usage): Likewise.
25886
25887 2010-07-04  Bruno Haible  <bruno@clisp.org>
25888
25889         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25890         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25891         Reported by Martin Lambers <marlam@marlam.de>.
25892
25893 2010-07-04  Jim Meyering  <meyering@redhat.com>
25894
25895         hash: once again explicitly disallow insertion of NULL
25896         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25897         inserting a NULL pointer cannot work with these functions.
25898         Add a comment with details.
25899         This reverts part of the 2010-07-01 commit, 5bef1a35
25900         "hash: extend module to deal with non-pointer keys".
25901
25902 2010-07-01  Bruno Haible  <bruno@clisp.org>
25903
25904         stdbool: Update doc.
25905         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25906         Info from Christian Weisgerber <naddy@mips.inka.de>.
25907
25908 2010-07-01  Jim Meyering  <meyering@redhat.com>
25909
25910         hash: extend module to deal with non-pointer keys
25911         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25912         but that allows insertion of non-pointer entries.
25913         Do not disallow an ENTRY value of NULL.
25914         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25915         * lib/hash.h (hash_insert0): Declare.
25916
25917 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25918
25919         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
25920         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
25921         not present (i.e. with autoconf 2.59 and when using gettextize, not
25922         gnulib), require AC_GNU_SOURCE instead.
25923
25924 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
25925
25926         idpriv-drop: Fix tests.
25927         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
25928         not to the test-idpriv-droptemp program.
25929
25930 2010-06-29  Bruno Haible  <bruno@clisp.org>
25931
25932         string: Fix syntax error with g++ 2.96.
25933         * lib/string.in.h (__pure__): Remove definition.
25934         (_GL_ATTRIBUTE_PURE): New macro.
25935         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
25936         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
25937         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25938
25939 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
25940
25941         unitypes: Fix bug introduced on 2010-05-18.
25942         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
25943
25944 2010-06-22  Eric Blake  <eblake@redhat.com>
25945
25946         memmem: slight optimization
25947         * lib/str-two-way.h (critical_factorization): Update comments.
25948         Reduce work during factorization phase.
25949         Reported by Carlos Bueno <carlos@bueno.org>.
25950
25951 2010-06-21  Bruno Haible  <bruno@clisp.org>
25952
25953         Fix HAVE_CALLOC_POSIX misnomer.
25954         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
25955         !HAVE_CALLOC_POSIX.
25956         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
25957         HAVE_CALLOC_POSIX.
25958         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
25959         instead of HAVE_CALLOC_POSIX.
25960         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
25961         HAVE_CALLOC_POSIX.
25962
25963         Use modern idiom for calloc() replacement.
25964         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
25965         AC_FUNC_CALLOC.
25966         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
25967         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
25968         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25969         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
25970         (gl_REPLACE_CALLOC): New macro.
25971
25972 2010-06-21  Bruno Haible  <bruno@clisp.org>
25973
25974         Fix HAVE_REALLOC_POSIX misnomer.
25975         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
25976         !HAVE_REALLOC_POSIX.
25977         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
25978         HAVE_REALLOC_POSIX.
25979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
25980         instead of HAVE_REALLOC_POSIX.
25981         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
25982         HAVE_REALLOC_POSIX.
25983
25984         Use modern idiom for realloc() replacement.
25985         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
25986         AC_FUNC_REALLOC.
25987         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
25988         Autoconf's AC_FUNC_REALLOC.
25989         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25990         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
25991         (gl_REPLACE_REALLOC): New macro.
25992         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25993
25994 2010-06-21  Bruno Haible  <bruno@clisp.org>
25995
25996         Fix HAVE_MALLOC_POSIX misnomer.
25997         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
25998         !HAVE_MALLOC_POSIX.
25999         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26000         HAVE_MALLOC_POSIX.
26001         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26002         instead of HAVE_MALLOC_POSIX.
26003         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26004         HAVE_MALLOC_POSIX.
26005
26006         Use modern idiom for malloc() replacement.
26007         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26008         AC_FUNC_MALLOC.
26009         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26010         Autoconf's AC_FUNC_MALLOC.
26011         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26012         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26013         (gl_REPLACE_MALLOC): New macro.
26014         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26015
26016 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26017
26018         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26019         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26020         This macro takes 3 arguments, not 4.
26021
26022 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26023
26024         ipv6: fix detection under mingw
26025         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26026         in6_addr.
26027
26028 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26029
26030         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26031         that strtod() works when cross-compiling to a glibc version known
26032         to work.
26033
26034 2010-06-15  Bruno Haible  <bruno@clisp.org>
26035
26036         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26037
26038 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26039
26040         select: Correct timeout.
26041         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26042
26043 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26044
26045         git-version-gen: init shell var to avoid env var influence
26046         * build-aux/git-version-gen (v): Init shell var to empty.
26047
26048 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26049
26050         priv-set: Don't assume that priv.h exists merely because getppriv does.
26051         See Jan Andersen's bug report about AIX 5L in
26052         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26053         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26054         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26055         * lib/priv-set.h: Likewise.
26056         * tests/test-priv-set.c: Likewise.
26057
26058 2010-06-13  Bruno Haible  <bruno@clisp.org>
26059
26060         relocatable: Make it easier to test whether to install wrappers.
26061         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26062         RELOCATABLE_VIA_WRAPPER.
26063
26064 2010-06-13  Bruno Haible  <bruno@clisp.org>
26065
26066         gnulib-tool: Display specified modules and dependencies differently.
26067         * gnulib-tool (func_show_module_list): New function.
26068         (func_import, func_create_testdir): Invoke it.
26069         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26070
26071 2010-06-13  Bruno Haible  <bruno@clisp.org>
26072
26073         gnulib-tool: Align code of func_import and func_create_testdir.
26074         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26075         specified_modules.
26076
26077 2010-06-12  Jim Meyering  <meyering@redhat.com>
26078
26079         test-inttostr: avoid spurious failure on Solaris 9
26080         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26081         to accept "%ju".  Reported by Bruno Haible.
26082
26083 2010-06-11  Jim Meyering  <meyering@redhat.com>
26084
26085         test-sys_socket: mark variables as used more readably
26086         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26087         as "used" explicitly via (void) statement casts.  This is more
26088         readable than using them in an artificial return expression.
26089         Suggestion from Bruno Haible.
26090
26091 2010-06-11  Bruno Haible  <bruno@clisp.org>
26092
26093         Avoid some more warnings from "gcc -Wwrite-strings".
26094         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26095         to 'const char *'.
26096         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26097         * tests/test-c-strcasestr.c (main): Likewise.
26098         * tests/test-mbscasestr1.c (main): Likewise.
26099         * tests/test-mbscasestr2.c (main): Likewise.
26100         * tests/test-memmem.c (main): Likewise.
26101         * tests/test-strstr.c (main): Likewise.
26102         * tests/test-strcasestr.c (main): Likewise.
26103
26104 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26105
26106         init.sh: change framework_failure_ to fail with status 99, not 1
26107         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26108         automake's parallel-tests rule that this is an unexpected failure,
26109         even if the test is listed in XFAIL_TESTS.
26110
26111 2010-06-11  Jim Meyering  <meyering@redhat.com>
26112
26113         test-inttostr: avoid warnings about 4-6KB literal strings
26114         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26115         Include "macros.h", for its definition of ASSERT.
26116         (CK): s/assert/ASSERT/
26117         * modules/inttostr-tests (Files): Add macros.h.
26118
26119         init.sh: don't use $ME_ or skip_ before they are defined
26120         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26121         their first uses.  Also hoist their companions: warn_, fail_,
26122         framework_failure_, $stderr_fileno.  Prompted by a patch from
26123         Stefano Lattarini.
26124
26125         test-sys_socket: avoid set-but-not-used warnings from gcc
26126         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26127         avoid warning about set-but-not-used variables.
26128
26129         test-xvasprintf: avoid 'const' discard warnings
26130         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26131         "const" when assigning from literal strings.
26132         (test_xasprintf): Add "void" in function argument list to placate
26133         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26134
26135         tests: avoid compilation warnings in argmatch and exclude tests...
26136         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26137         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26138         Since it always exits, declare with the "noreturn" attribute.
26139         * tests/test-argmatch.c: Likewise.
26140
26141         tests: avoid 'const' discard warnings in mbsstr tests
26142         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26143         * tests/test-mbsstr2.c (main): Likewise.
26144
26145         test-verify: avoid warning from gcc's -Wmissing-declarations
26146         * tests/test-verify.c (function): Declare to be static.
26147
26148         test-inttostr.c: include <string.h> for use of strcmp
26149         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26150
26151         test-linkat: avoid failed assertion on "other" architectures
26152         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26153         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26154         sparc: https://bugs.launchpad.net/bugs/591968
26155
26156 2010-06-11  Jim Meyering  <meyering@redhat.com>
26157
26158         printf.m4: avoid autoconf's "Expanded Before Required" warning
26159         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26160         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26161         autoconf warning.
26162
26163 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26164
26165         Replacement header templates are now named with ".in", not "_".
26166         * doc/gnulib-intro.texi: Correct.
26167
26168 2010-06-10  Jim Meyering  <meyering@redhat.com>
26169
26170         inttostr-tests: depend on snprintf, not snprintf-posix
26171         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26172         snprintf-posix, to avoid this aclocal failure:
26173           missing file gnulib-tests/vasnprintf.c
26174           configure.ac:45: error: expected source file, required through \
26175           AC_LIBSOURCES, not found
26176
26177 2010-06-10  Jim Meyering  <meyering@redhat.com>
26178
26179         inttostr: add a new function, inttostr, and tests
26180         The namesake function was not available.  The existence of the
26181         template file, inttostr.c makes its addition nontrivial.
26182         * lib/anytostr.c: Rename from inttostr.c.
26183         (anytostr): Rename from inttostr.
26184         * lib/inttostr.c: New file.
26185         * modules/inttostr (Files): Add anytostr.c.
26186         (Makefile.am): Set lib_SOURCES instead of ...
26187         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26188         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26189         * lib/offtostr.c: Likewise.
26190         * lib/uinttostr.c: Likewise.
26191         * lib/umaxtostr.c: Likewise.
26192         * modules/inttostr-tests: New file.
26193         * tests/test-inttostr.c: New file.  Test these functions.
26194
26195 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26196             Bruno Haible  <bruno@clisp.org>
26197
26198         Add "Extending Gnulib" chapter to manual.
26199         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26200         chapter.
26201         (Extending Gnulib): New chapter.
26202         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26203         chapter.
26204
26205 2010-06-09  Bruno Haible  <bruno@clisp.org>
26206
26207         Avoid relocwrapper link errors due to gnulib replacement functions.
26208         * lib/areadlink.c: Use the system's malloc, realloc functions.
26209         (areadlink): Set errno to ENOMEM explicitly.
26210         * modules/areadlink (Depends-on): Remove malloc-posix.
26211         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26212
26213 2010-06-09  Bruno Haible  <bruno@clisp.org>
26214
26215         Avoid relocwrapper link errors due to gnulib replacement functions.
26216         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26217         * lib/malloca.c: Likewise.
26218         * lib/relocatable.c: Likewise.
26219         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26220         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26221         * lib/setenv.c: Use the system's malloc, realloc functions.
26222         * lib/strerror.c: Use the system's sprintf function.
26223         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26224
26225 2010-06-04  Bruno Haible  <bruno@clisp.org>
26226
26227         Prefer documented low-level autoconf macro names.
26228         * m4/lib-link.m4: Use m4_translit instead of translit.
26229         * m4/environ.m4: Likewise.
26230         * m4/mathfunc.m4: Likewise.
26231         * m4/onceonly.m4: Likewise.
26232         * m4/stdint.m4: Likewise.
26233         Suggested by Eric Blake.
26234
26235 2010-06-04  Martin Lambers  <marlam@marlam.de>
26236             Bruno Haible  <bruno@clisp.org>
26237
26238         havelib: Allow library names with '+' characters.
26239         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26240         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26241
26242 2010-06-09  Bruno Haible  <bruno@clisp.org>
26243
26244         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26245         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26246         realloc failed.
26247
26248 2010-06-08  Peter Simons  <simons@cryp.to>
26249
26250         maint.mk: make the news-check rule more configurable
26251         * top/maint.mk (news-check-lines-spec): New variable.
26252         (news-check): Use "sed -n 1,10p" in place of "head".
26253
26254 2010-06-07  Jim Meyering  <meyering@redhat.com>
26255
26256         do-release-commit-and-tag: fix typo in --help
26257         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26258
26259         regex: avoid new dead-code warning with gcc-4.6.0
26260         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26261         if-block containing a while-loop.  It's been unused for at least
26262         5 years.
26263
26264 2010-06-05  Bruno Haible  <bruno@clisp.org>
26265
26266         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26267         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26268
26269 2010-06-04  Bruno Haible  <bruno@clisp.org>
26270
26271         Update to GNU gettext 0.18.1.
26272         * modules/gettext (configure.ac): Require gettext infrastructure from
26273         version 0.18.1.
26274
26275 2010-06-03  Bruno Haible  <bruno@clisp.org>
26276
26277         Don't use AC_LIBOBJ with file names in subdirectories.
26278         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26279         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26280         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26281         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26282         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26283         gl_LIBUNISTRING_LIBSOURCE.
26284         (Makefile.am): Augment lib_SOURCES here, conditionally.
26285         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26286
26287 2010-06-03  Bruno Haible  <bruno@clisp.org>
26288
26289         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26290         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26291         expansion does not end with a newline.
26292         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26293         unnecessary newline.
26294
26295 2010-06-03  Bruno Haible  <bruno@clisp.org>
26296
26297         Reduce dependencies.
26298         * tests/test-quotearg.h: New file, extracted from
26299         tests/test-quotearg.c.
26300         * tests/test-quotearg-simple.c: New file, extracted from
26301         tests/test-quotearg.c.
26302         * tests/test-quotearg.c: Don't include <ctype.h>.
26303         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26304         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26305         use_quote_double_quotes, use_quotearg_colon): Moved to
26306         tests/test-quotearg.h.
26307         (results_g, flag_results, custom_quotes, custom_results): Moved
26308         to tests/test-quotearg-simple.c.
26309         (main): Moved the part that does not depend on gettext to
26310         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26311         performed.
26312         * modules/quotearg-simple: New file.
26313         * modules/quotearg-simple-tests: New file.
26314         * modules/quotearg (Depends-on): Add quotearg-simple.
26315         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26316         (Files): Add tests/test-quotearg.h.
26317         Reported by Paolo Bonzini.
26318
26319 2010-06-03  Bruno Haible  <bruno@clisp.org>
26320
26321         Reduce dependencies.
26322         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26323
26324 2010-06-03  Bruno Haible  <bruno@clisp.org>
26325
26326         time: Undefine more broken macros.
26327         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26328         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26329         Reported by Eric Blake.
26330
26331 2010-06-03  Bruno Haible  <bruno@clisp.org>
26332
26333         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26334         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26335         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26336         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26337         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26338         Reported by Ludovic Courtès <ludo@gnu.org>.
26339
26340 2010-06-02  Eric Blake  <eblake@redhat.com>
26341
26342         time: work with mingw + pthreads-win32 library
26343         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26344         if timespec is defined only in pthread.h.
26345         * modules/time (Makefile.am): Substitute it.
26346         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26347         <pthread.h>, when needed.
26348         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26349         from the library.
26350
26351 2010-05-31  Bruno Haible  <bruno@clisp.org>
26352
26353         Avoid expanding two macros in the wrong order.
26354         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26355         gl_LIBUNISTRING if it is defined.
26356         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26357         autoconf >= 2.64.
26358         Reported by Ludovic Courtès <ludo@gnu.org>.
26359
26360 2010-05-27  Jim Meyering  <meyering@redhat.com>
26361
26362         maint.mk: also prohibit "#undef" of always-defined symbols
26363         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26364         Allow more than one space before the symbol name.
26365         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26366         the regexp uses alternation.
26367
26368 2010-05-26  Eric Blake  <eblake@redhat.com>
26369
26370         maint.mk: avoid echo -e
26371         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26372         Convert all uses of echo -* to printf.
26373         Reported by Matthias Bolte.
26374
26375 2010-05-25  Bruno Haible  <bruno@clisp.org>
26376
26377         Update to GNU gettext 0.18, part 2.
26378         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26379         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26380
26381 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26382
26383         Add missing include in test-pwrite.c.
26384         * tests/test-pwrite.c: Include string.h, for strcmp.
26385
26386 2010-05-24  Bruno Haible  <bruno@clisp.org>
26387
26388         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26389
26390 2010-05-24  Bruno Haible  <bruno@clisp.org>
26391
26392         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26393         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26394         iconveh_error argument.
26395         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26396         U_STRCONV_TO_LOCALE.
26397         * lib/unistr/u16-strcoll.c: Likewise.
26398         * lib/unistr/u32-strcoll.c: Likewise.
26399         * modules/unistr/u8-strcoll (Depends-on): Add
26400         uniconv/u8-strconv-to-enc, localcharset. Remove
26401         uniconv/u8-strconv-to-locale.
26402         (configure.ac): Bump version number.
26403         * modules/unistr/u16-strcoll (Depends-on): Add
26404         uniconv/u16-strconv-to-enc, localcharset. Remove
26405         uniconv/u16-strconv-to-locale.
26406         (configure.ac): Bump version number.
26407         * modules/unistr/u32-strcoll (Depends-on): Add
26408         uniconv/u32-strconv-to-enc, localcharset. Remove
26409         uniconv/u32-strconv-to-locale.
26410         (configure.ac): Bump version number.
26411
26412 2010-05-24  Bruno Haible  <bruno@clisp.org>
26413
26414         Avoid a test failure on NetBSD 5.0.
26415         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26416         an iconv() bug.
26417
26418 2010-05-24  Bruno Haible  <bruno@clisp.org>
26419
26420         Adjust #include directive style.
26421         * modules/regex (Includes): Recommend to write <regex.h>.
26422
26423 2010-05-24  Bruno Haible  <bruno@clisp.org>
26424
26425         regex: Don't require alloca.
26426         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26427         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26428         only inside if (0).
26429
26430 2010-05-23  Jim Meyering  <meyering@redhat.com>
26431
26432         test-renameat.c: include <sys/stat.h>
26433         * tests/test-renameat.c: Include <sys/stat.h>; required for
26434         definition of S_IS* macros.
26435
26436 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26437
26438         Update maintainer documentation for 'relocatable-prog' module.
26439         * doc/relocatable-maint.texi: Update.
26440         Comments by Bruno Haible.
26441
26442 2010-05-23  Bruno Haible  <bruno@clisp.org>
26443
26444         git-merge-changelog: Enable --split-merged-entry by default.
26445         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26446         (usage): Don't mention this option any more.
26447         Reported by Ralf Wildenhues.
26448
26449 2010-05-23  Jim Meyering  <meyering@redhat.com>
26450
26451         test-pwrite: do not leave behind a test file named "out"
26452         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26453         The trivial-looking use of init.sh is really necessary.
26454         It ensures that the temporary file, "out", is created in
26455         a temporary directory, and removed upon termination.
26456         * tests/test-pwrite.sh: Re-add file.
26457         * modules/pwrite-tests: Reference it.
26458
26459 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26460
26461         Fix output redirection buglet in init.sh.
26462         * tests/init.sh: Fix redirection of stderr.
26463
26464 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26465
26466         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26467
26468 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26469
26470         * modules/valgrind-tests: New file.
26471         * m4/valgrind-tests.m4: New file.
26472         * doc/valgrind-tests.texi: New file.
26473         * doc/gnulib.texi (Running self-tests under valgrind): New
26474         section.
26475
26476 2010-05-19  Bruno Haible  <bruno@clisp.org>
26477
26478         Clean up dead code in recent commit.
26479         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26480         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26481         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26482         Suggested by Paolo Bonzini.
26483
26484 2010-05-19  Bruno Haible  <bruno@clisp.org>
26485
26486         Avoid valgrind error reports from libunistring.
26487         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26488         * modules/libunistring (Files): Add it.
26489         * modules/libunistring-optional (Files): Likewise.
26490
26491 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26492             Bruno Haible  <bruno@clisp.org>
26493
26494         New module 'libunistring-optional'.
26495         * modules/libunistring-optional: New file.
26496         * m4/libunistring-base.m4: New file.
26497         * m4/libunistring-optional.m4: New file.
26498         * lib/unicase.in.h: Renamed from lib/unicase.h.
26499         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26500         * lib/unictype.in.h: Renamed from lib/unictype.h.
26501         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26502         * lib/uniname.in.h: Renamed from lib/uniname.h.
26503         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26504         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26505         * lib/unistr.in.h: Renamed from lib/unistr.h.
26506         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26507         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26508         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26509         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26510         gl_LIBUNISTRING. If the library was found, determine the installed
26511         version and set LIBUNISTRING_VERSION.
26512         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26513         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26514         handle a configuration option --with-included-libunistring.
26515         * modules/libunistring (Files): Add m4/absolute-header.m4.
26516         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26517         Add m4/libunistring-base.m4.
26518         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26519         (Makefile.am): Build unicase.h from unicase.in.h.
26520         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26521         Add m4/libunistring-base.m4.
26522         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26523         (Makefile.am): Build uniconv.h from uniconv.in.h.
26524         * modules/unictype/base (Files): Use unictype.in.h instead of
26525         unictype.h. Add m4/libunistring-base.m4.
26526         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26527         (Makefile.am): Build unictype.h from unictype.in.h.
26528         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26529         Add m4/libunistring-base.m4.
26530         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26531         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26532         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26533         Add m4/libunistring-base.m4.
26534         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26535         (Makefile.am): Build uniname.h from uniname.in.h.
26536         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26537         Add m4/libunistring-base.m4.
26538         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26539         (Makefile.am): Build uninorm.h from uninorm.in.h.
26540         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26541         unistdio.h. Add m4/libunistring-base.m4.
26542         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26543         (Makefile.am): Build unistdio.h from unistdio.in.h.
26544         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26545         Add m4/libunistring-base.m4.
26546         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26547         (Makefile.am): Build unistr.h from unistr.in.h.
26548         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26549         Add m4/libunistring-base.m4.
26550         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26551         (Makefile.am): Build unitypes.h from unitypes.in.h.
26552         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26553         Add m4/libunistring-base.m4.
26554         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26555         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26556         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26557         uniwidth.h. Add m4/libunistring-base.m4.
26558         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26559         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26560         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26561         instead of augmenting lib_SOURCES.
26562         * modules/unicase/empty-suffix-context: Likewise.
26563         * modules/unicase/locale-language: Likewise.
26564         * modules/unicase/tolower: Likewise.
26565         * modules/unicase/totitle: Likewise.
26566         * modules/unicase/toupper: Likewise.
26567         * modules/unicase/u8-casecmp: Likewise.
26568         * modules/unicase/u8-casecoll: Likewise.
26569         * modules/unicase/u8-casefold: Likewise.
26570         * modules/unicase/u8-casexfrm: Likewise.
26571         * modules/unicase/u8-ct-casefold: Likewise.
26572         * modules/unicase/u8-ct-tolower: Likewise.
26573         * modules/unicase/u8-ct-totitle: Likewise.
26574         * modules/unicase/u8-ct-toupper: Likewise.
26575         * modules/unicase/u8-is-cased: Likewise.
26576         * modules/unicase/u8-is-casefolded: Likewise.
26577         * modules/unicase/u8-is-lowercase: Likewise.
26578         * modules/unicase/u8-is-titlecase: Likewise.
26579         * modules/unicase/u8-is-uppercase: Likewise.
26580         * modules/unicase/u8-prefix-context: Likewise.
26581         * modules/unicase/u8-suffix-context: Likewise.
26582         * modules/unicase/u8-tolower: Likewise.
26583         * modules/unicase/u8-totitle: Likewise.
26584         * modules/unicase/u8-toupper: Likewise.
26585         * modules/unicase/u16-casecmp: Likewise.
26586         * modules/unicase/u16-casecoll: Likewise.
26587         * modules/unicase/u16-casefold: Likewise.
26588         * modules/unicase/u16-casexfrm: Likewise.
26589         * modules/unicase/u16-ct-casefold: Likewise.
26590         * modules/unicase/u16-ct-tolower: Likewise.
26591         * modules/unicase/u16-ct-totitle: Likewise.
26592         * modules/unicase/u16-ct-toupper: Likewise.
26593         * modules/unicase/u16-is-cased: Likewise.
26594         * modules/unicase/u16-is-casefolded: Likewise.
26595         * modules/unicase/u16-is-lowercase: Likewise.
26596         * modules/unicase/u16-is-titlecase: Likewise.
26597         * modules/unicase/u16-is-uppercase: Likewise.
26598         * modules/unicase/u16-prefix-context: Likewise.
26599         * modules/unicase/u16-suffix-context: Likewise.
26600         * modules/unicase/u16-tolower: Likewise.
26601         * modules/unicase/u16-totitle: Likewise.
26602         * modules/unicase/u16-toupper: Likewise.
26603         * modules/unicase/u32-casecmp: Likewise.
26604         * modules/unicase/u32-casecoll: Likewise.
26605         * modules/unicase/u32-casefold: Likewise.
26606         * modules/unicase/u32-casexfrm: Likewise.
26607         * modules/unicase/u32-ct-casefold: Likewise.
26608         * modules/unicase/u32-ct-tolower: Likewise.
26609         * modules/unicase/u32-ct-totitle: Likewise.
26610         * modules/unicase/u32-ct-toupper: Likewise.
26611         * modules/unicase/u32-is-cased: Likewise.
26612         * modules/unicase/u32-is-casefolded: Likewise.
26613         * modules/unicase/u32-is-lowercase: Likewise.
26614         * modules/unicase/u32-is-titlecase: Likewise.
26615         * modules/unicase/u32-is-uppercase: Likewise.
26616         * modules/unicase/u32-prefix-context: Likewise.
26617         * modules/unicase/u32-suffix-context: Likewise.
26618         * modules/unicase/u32-tolower: Likewise.
26619         * modules/unicase/u32-totitle: Likewise.
26620         * modules/unicase/u32-toupper: Likewise.
26621         * modules/unicase/ulc-casecmp: Likewise.
26622         * modules/unicase/ulc-casecoll: Likewise.
26623         * modules/unicase/ulc-casexfrm: Likewise.
26624         * modules/uniconv/u8-conv-from-enc: Likewise.
26625         * modules/uniconv/u8-conv-to-enc: Likewise.
26626         * modules/uniconv/u8-strconv-from-enc: Likewise.
26627         * modules/uniconv/u8-strconv-from-locale: Likewise.
26628         * modules/uniconv/u8-strconv-to-enc: Likewise.
26629         * modules/uniconv/u8-strconv-to-locale: Likewise.
26630         * modules/uniconv/u16-conv-from-enc: Likewise.
26631         * modules/uniconv/u16-conv-to-enc: Likewise.
26632         * modules/uniconv/u16-strconv-from-enc: Likewise.
26633         * modules/uniconv/u16-strconv-from-locale: Likewise.
26634         * modules/uniconv/u16-strconv-to-enc: Likewise.
26635         * modules/uniconv/u16-strconv-to-locale: Likewise.
26636         * modules/uniconv/u32-conv-from-enc: Likewise.
26637         * modules/uniconv/u32-conv-to-enc: Likewise.
26638         * modules/uniconv/u32-strconv-from-enc: Likewise.
26639         * modules/uniconv/u32-strconv-from-locale: Likewise.
26640         * modules/uniconv/u32-strconv-to-enc: Likewise.
26641         * modules/uniconv/u32-strconv-to-locale: Likewise.
26642         * modules/unictype/bidicategory-byname: Likewise.
26643         * modules/unictype/bidicategory-name: Likewise.
26644         * modules/unictype/bidicategory-of: Likewise.
26645         * modules/unictype/bidicategory-test: Likewise.
26646         * modules/unictype/block-list: Likewise.
26647         * modules/unictype/block-test: Likewise.
26648         * modules/unictype/category-C: Likewise.
26649         * modules/unictype/category-Cc: Likewise.
26650         * modules/unictype/category-Cf: Likewise.
26651         * modules/unictype/category-Cn: Likewise.
26652         * modules/unictype/category-Co: Likewise.
26653         * modules/unictype/category-Cs: Likewise.
26654         * modules/unictype/category-L: Likewise.
26655         * modules/unictype/category-Ll: Likewise.
26656         * modules/unictype/category-Lm: Likewise.
26657         * modules/unictype/category-Lo: Likewise.
26658         * modules/unictype/category-Lt: Likewise.
26659         * modules/unictype/category-Lu: Likewise.
26660         * modules/unictype/category-M: Likewise.
26661         * modules/unictype/category-Mc: Likewise.
26662         * modules/unictype/category-Me: Likewise.
26663         * modules/unictype/category-Mn: Likewise.
26664         * modules/unictype/category-N: Likewise.
26665         * modules/unictype/category-Nd: Likewise.
26666         * modules/unictype/category-Nl: Likewise.
26667         * modules/unictype/category-No: Likewise.
26668         * modules/unictype/category-P: Likewise.
26669         * modules/unictype/category-Pc: Likewise.
26670         * modules/unictype/category-Pd: Likewise.
26671         * modules/unictype/category-Pe: Likewise.
26672         * modules/unictype/category-Pf: Likewise.
26673         * modules/unictype/category-Pi: Likewise.
26674         * modules/unictype/category-Po: Likewise.
26675         * modules/unictype/category-Ps: Likewise.
26676         * modules/unictype/category-S: Likewise.
26677         * modules/unictype/category-Sc: Likewise.
26678         * modules/unictype/category-Sk: Likewise.
26679         * modules/unictype/category-Sm: Likewise.
26680         * modules/unictype/category-So: Likewise.
26681         * modules/unictype/category-Z: Likewise.
26682         * modules/unictype/category-Zl: Likewise.
26683         * modules/unictype/category-Zp: Likewise.
26684         * modules/unictype/category-Zs: Likewise.
26685         * modules/unictype/category-and: Likewise.
26686         * modules/unictype/category-and-not: Likewise.
26687         * modules/unictype/category-byname: Likewise.
26688         * modules/unictype/category-name: Likewise.
26689         * modules/unictype/category-none: Likewise.
26690         * modules/unictype/category-of: Likewise.
26691         * modules/unictype/category-or: Likewise.
26692         * modules/unictype/category-test: Likewise.
26693         * modules/unictype/combining-class: Likewise.
26694         * modules/unictype/ctype-alnum: Likewise.
26695         * modules/unictype/ctype-alpha: Likewise.
26696         * modules/unictype/ctype-blank: Likewise.
26697         * modules/unictype/ctype-cntrl: Likewise.
26698         * modules/unictype/ctype-digit: Likewise.
26699         * modules/unictype/ctype-graph: Likewise.
26700         * modules/unictype/ctype-lower: Likewise.
26701         * modules/unictype/ctype-print: Likewise.
26702         * modules/unictype/ctype-punct: Likewise.
26703         * modules/unictype/ctype-space: Likewise.
26704         * modules/unictype/ctype-upper: Likewise.
26705         * modules/unictype/ctype-xdigit: Likewise.
26706         * modules/unictype/decimal-digit: Likewise.
26707         * modules/unictype/digit: Likewise.
26708         * modules/unictype/mirror: Likewise.
26709         * modules/unictype/numeric: Likewise.
26710         * modules/unictype/property-alphabetic: Likewise.
26711         * modules/unictype/property-ascii-hex-digit: Likewise.
26712         * modules/unictype/property-bidi-arabic-digit: Likewise.
26713         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26714         * modules/unictype/property-bidi-block-separator: Likewise.
26715         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26716         * modules/unictype/property-bidi-common-separator: Likewise.
26717         * modules/unictype/property-bidi-control: Likewise.
26718         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26719         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26720         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26721         * modules/unictype/property-bidi-european-digit: Likewise.
26722         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26723         * modules/unictype/property-bidi-left-to-right: Likewise.
26724         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26725         * modules/unictype/property-bidi-other-neutral: Likewise.
26726         * modules/unictype/property-bidi-pdf: Likewise.
26727         * modules/unictype/property-bidi-segment-separator: Likewise.
26728         * modules/unictype/property-bidi-whitespace: Likewise.
26729         * modules/unictype/property-byname: Likewise.
26730         * modules/unictype/property-combining: Likewise.
26731         * modules/unictype/property-composite: Likewise.
26732         * modules/unictype/property-currency-symbol: Likewise.
26733         * modules/unictype/property-dash: Likewise.
26734         * modules/unictype/property-decimal-digit: Likewise.
26735         * modules/unictype/property-default-ignorable-code-point: Likewise.
26736         * modules/unictype/property-deprecated: Likewise.
26737         * modules/unictype/property-diacritic: Likewise.
26738         * modules/unictype/property-extender: Likewise.
26739         * modules/unictype/property-format-control: Likewise.
26740         * modules/unictype/property-grapheme-base: Likewise.
26741         * modules/unictype/property-grapheme-extend: Likewise.
26742         * modules/unictype/property-grapheme-link: Likewise.
26743         * modules/unictype/property-hex-digit: Likewise.
26744         * modules/unictype/property-hyphen: Likewise.
26745         * modules/unictype/property-id-continue: Likewise.
26746         * modules/unictype/property-id-start: Likewise.
26747         * modules/unictype/property-ideographic: Likewise.
26748         * modules/unictype/property-ids-binary-operator: Likewise.
26749         * modules/unictype/property-ids-trinary-operator: Likewise.
26750         * modules/unictype/property-ignorable-control: Likewise.
26751         * modules/unictype/property-iso-control: Likewise.
26752         * modules/unictype/property-join-control: Likewise.
26753         * modules/unictype/property-left-of-pair: Likewise.
26754         * modules/unictype/property-line-separator: Likewise.
26755         * modules/unictype/property-logical-order-exception: Likewise.
26756         * modules/unictype/property-lowercase: Likewise.
26757         * modules/unictype/property-math: Likewise.
26758         * modules/unictype/property-non-break: Likewise.
26759         * modules/unictype/property-not-a-character: Likewise.
26760         * modules/unictype/property-numeric: Likewise.
26761         * modules/unictype/property-other-alphabetic: Likewise.
26762         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26763         * modules/unictype/property-other-grapheme-extend: Likewise.
26764         * modules/unictype/property-other-id-continue: Likewise.
26765         * modules/unictype/property-other-id-start: Likewise.
26766         * modules/unictype/property-other-lowercase: Likewise.
26767         * modules/unictype/property-other-math: Likewise.
26768         * modules/unictype/property-other-uppercase: Likewise.
26769         * modules/unictype/property-paired-punctuation: Likewise.
26770         * modules/unictype/property-paragraph-separator: Likewise.
26771         * modules/unictype/property-pattern-syntax: Likewise.
26772         * modules/unictype/property-pattern-white-space: Likewise.
26773         * modules/unictype/property-private-use: Likewise.
26774         * modules/unictype/property-punctuation: Likewise.
26775         * modules/unictype/property-quotation-mark: Likewise.
26776         * modules/unictype/property-radical: Likewise.
26777         * modules/unictype/property-sentence-terminal: Likewise.
26778         * modules/unictype/property-soft-dotted: Likewise.
26779         * modules/unictype/property-space: Likewise.
26780         * modules/unictype/property-terminal-punctuation: Likewise.
26781         * modules/unictype/property-test: Likewise.
26782         * modules/unictype/property-titlecase: Likewise.
26783         * modules/unictype/property-unassigned-code-value: Likewise.
26784         * modules/unictype/property-unified-ideograph: Likewise.
26785         * modules/unictype/property-uppercase: Likewise.
26786         * modules/unictype/property-variation-selector: Likewise.
26787         * modules/unictype/property-white-space: Likewise.
26788         * modules/unictype/property-xid-continue: Likewise.
26789         * modules/unictype/property-xid-start: Likewise.
26790         * modules/unictype/property-zero-width: Likewise.
26791         * modules/unictype/scripts: Likewise.
26792         * modules/unictype/syntax-c-ident: Likewise.
26793         * modules/unictype/syntax-c-whitespace: Likewise.
26794         * modules/unictype/syntax-java-ident: Likewise.
26795         * modules/unictype/syntax-java-whitespace: Likewise.
26796         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26797         * modules/unilbrk/u8-width-linebreaks: Likewise.
26798         * modules/unilbrk/u16-possible-linebreaks: Likewise.
26799         * modules/unilbrk/u16-width-linebreaks: Likewise.
26800         * modules/unilbrk/u32-possible-linebreaks: Likewise.
26801         * modules/unilbrk/u32-width-linebreaks: Likewise.
26802         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
26803         * modules/unilbrk/ulc-width-linebreaks: Likewise.
26804         * modules/uniname/uniname: Likewise.
26805         * modules/uninorm/canonical-decomposition: Likewise.
26806         * modules/uninorm/composition: Likewise.
26807         * modules/uninorm/decomposing-form: Likewise.
26808         * modules/uninorm/decomposition: Likewise.
26809         * modules/uninorm/filter: Likewise.
26810         * modules/uninorm/nfc: Likewise.
26811         * modules/uninorm/nfd: Likewise.
26812         * modules/uninorm/nfkc: Likewise.
26813         * modules/uninorm/nfkd: Likewise.
26814         * modules/uninorm/u8-normalize: Likewise.
26815         * modules/uninorm/u8-normcmp: Likewise.
26816         * modules/uninorm/u8-normcoll: Likewise.
26817         * modules/uninorm/u8-normxfrm: Likewise.
26818         * modules/uninorm/u16-normalize: Likewise.
26819         * modules/uninorm/u16-normcmp: Likewise.
26820         * modules/uninorm/u16-normcoll: Likewise.
26821         * modules/uninorm/u16-normxfrm: Likewise.
26822         * modules/uninorm/u32-normalize: Likewise.
26823         * modules/uninorm/u32-normcmp: Likewise.
26824         * modules/uninorm/u32-normcoll: Likewise.
26825         * modules/uninorm/u32-normxfrm: Likewise.
26826         * modules/unistdio/u8-asnprintf: Likewise.
26827         * modules/unistdio/u8-asprintf: Likewise.
26828         * modules/unistdio/u8-snprintf: Likewise.
26829         * modules/unistdio/u8-sprintf: Likewise.
26830         * modules/unistdio/u8-u8-asnprintf: Likewise.
26831         * modules/unistdio/u8-u8-asprintf: Likewise.
26832         * modules/unistdio/u8-u8-snprintf: Likewise.
26833         * modules/unistdio/u8-u8-sprintf: Likewise.
26834         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26835         * modules/unistdio/u8-u8-vasprintf: Likewise.
26836         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26837         * modules/unistdio/u8-u8-vsprintf: Likewise.
26838         * modules/unistdio/u8-vasnprintf: Likewise.
26839         * modules/unistdio/u8-vasprintf: Likewise.
26840         * modules/unistdio/u8-vsnprintf: Likewise.
26841         * modules/unistdio/u8-vsprintf: Likewise.
26842         * modules/unistdio/u16-asnprintf: Likewise.
26843         * modules/unistdio/u16-asprintf: Likewise.
26844         * modules/unistdio/u16-snprintf: Likewise.
26845         * modules/unistdio/u16-sprintf: Likewise.
26846         * modules/unistdio/u16-u16-asnprintf: Likewise.
26847         * modules/unistdio/u16-u16-asprintf: Likewise.
26848         * modules/unistdio/u16-u16-snprintf: Likewise.
26849         * modules/unistdio/u16-u16-sprintf: Likewise.
26850         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26851         * modules/unistdio/u16-u16-vasprintf: Likewise.
26852         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26853         * modules/unistdio/u16-u16-vsprintf: Likewise.
26854         * modules/unistdio/u16-vasnprintf: Likewise.
26855         * modules/unistdio/u16-vasprintf: Likewise.
26856         * modules/unistdio/u16-vsnprintf: Likewise.
26857         * modules/unistdio/u16-vsprintf: Likewise.
26858         * modules/unistdio/u32-asnprintf: Likewise.
26859         * modules/unistdio/u32-asprintf: Likewise.
26860         * modules/unistdio/u32-snprintf: Likewise.
26861         * modules/unistdio/u32-sprintf: Likewise.
26862         * modules/unistdio/u32-u32-asnprintf: Likewise.
26863         * modules/unistdio/u32-u32-asprintf: Likewise.
26864         * modules/unistdio/u32-u32-snprintf: Likewise.
26865         * modules/unistdio/u32-u32-sprintf: Likewise.
26866         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26867         * modules/unistdio/u32-u32-vasprintf: Likewise.
26868         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26869         * modules/unistdio/u32-u32-vsprintf: Likewise.
26870         * modules/unistdio/u32-vasnprintf: Likewise.
26871         * modules/unistdio/u32-vasprintf: Likewise.
26872         * modules/unistdio/u32-vsnprintf: Likewise.
26873         * modules/unistdio/u32-vsprintf: Likewise.
26874         * modules/unistdio/ulc-asnprintf: Likewise.
26875         * modules/unistdio/ulc-asprintf: Likewise.
26876         * modules/unistdio/ulc-fprintf: Likewise.
26877         * modules/unistdio/ulc-snprintf: Likewise.
26878         * modules/unistdio/ulc-sprintf: Likewise.
26879         * modules/unistdio/ulc-vasnprintf: Likewise.
26880         * modules/unistdio/ulc-vasprintf: Likewise.
26881         * modules/unistdio/ulc-vfprintf: Likewise.
26882         * modules/unistdio/ulc-vsnprintf: Likewise.
26883         * modules/unistdio/ulc-vsprintf: Likewise.
26884         * modules/unistr/u8-check: Likewise.
26885         * modules/unistr/u8-chr: Likewise.
26886         * modules/unistr/u8-cmp: Likewise.
26887         * modules/unistr/u8-cmp2: Likewise.
26888         * modules/unistr/u8-cpy: Likewise.
26889         * modules/unistr/u8-cpy-alloc: Likewise.
26890         * modules/unistr/u8-endswith: Likewise.
26891         * modules/unistr/u8-mblen: Likewise.
26892         * modules/unistr/u8-mbsnlen: Likewise.
26893         * modules/unistr/u8-mbtouc: Likewise.
26894         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26895         * modules/unistr/u8-mbtoucr: Likewise.
26896         * modules/unistr/u8-move: Likewise.
26897         * modules/unistr/u8-next: Likewise.
26898         * modules/unistr/u8-prev: Likewise.
26899         * modules/unistr/u8-set: Likewise.
26900         * modules/unistr/u8-startswith: Likewise.
26901         * modules/unistr/u8-stpcpy: Likewise.
26902         * modules/unistr/u8-stpncpy: Likewise.
26903         * modules/unistr/u8-strcat: Likewise.
26904         * modules/unistr/u8-strchr: Likewise.
26905         * modules/unistr/u8-strcmp: Likewise.
26906         * modules/unistr/u8-strcoll: Likewise.
26907         * modules/unistr/u8-strcpy: Likewise.
26908         * modules/unistr/u8-strcspn: Likewise.
26909         * modules/unistr/u8-strdup: Likewise.
26910         * modules/unistr/u8-strlen: Likewise.
26911         * modules/unistr/u8-strmblen: Likewise.
26912         * modules/unistr/u8-strmbtouc: Likewise.
26913         * modules/unistr/u8-strncat: Likewise.
26914         * modules/unistr/u8-strncmp: Likewise.
26915         * modules/unistr/u8-strncpy: Likewise.
26916         * modules/unistr/u8-strnlen: Likewise.
26917         * modules/unistr/u8-strpbrk: Likewise.
26918         * modules/unistr/u8-strrchr: Likewise.
26919         * modules/unistr/u8-strspn: Likewise.
26920         * modules/unistr/u8-strstr: Likewise.
26921         * modules/unistr/u8-strtok: Likewise.
26922         * modules/unistr/u8-to-u16: Likewise.
26923         * modules/unistr/u8-to-u32: Likewise.
26924         * modules/unistr/u8-uctomb: Likewise.
26925         * modules/unistr/u16-check: Likewise.
26926         * modules/unistr/u16-chr: Likewise.
26927         * modules/unistr/u16-cmp: Likewise.
26928         * modules/unistr/u16-cmp2: Likewise.
26929         * modules/unistr/u16-cpy: Likewise.
26930         * modules/unistr/u16-cpy-alloc: Likewise.
26931         * modules/unistr/u16-endswith: Likewise.
26932         * modules/unistr/u16-mblen: Likewise.
26933         * modules/unistr/u16-mbsnlen: Likewise.
26934         * modules/unistr/u16-mbtouc: Likewise.
26935         * modules/unistr/u16-mbtouc-unsafe: Likewise.
26936         * modules/unistr/u16-mbtoucr: Likewise.
26937         * modules/unistr/u16-move: Likewise.
26938         * modules/unistr/u16-next: Likewise.
26939         * modules/unistr/u16-prev: Likewise.
26940         * modules/unistr/u16-set: Likewise.
26941         * modules/unistr/u16-startswith: Likewise.
26942         * modules/unistr/u16-stpcpy: Likewise.
26943         * modules/unistr/u16-stpncpy: Likewise.
26944         * modules/unistr/u16-strcat: Likewise.
26945         * modules/unistr/u16-strchr: Likewise.
26946         * modules/unistr/u16-strcmp: Likewise.
26947         * modules/unistr/u16-strcoll: Likewise.
26948         * modules/unistr/u16-strcpy: Likewise.
26949         * modules/unistr/u16-strcspn: Likewise.
26950         * modules/unistr/u16-strdup: Likewise.
26951         * modules/unistr/u16-strlen: Likewise.
26952         * modules/unistr/u16-strmblen: Likewise.
26953         * modules/unistr/u16-strmbtouc: Likewise.
26954         * modules/unistr/u16-strncat: Likewise.
26955         * modules/unistr/u16-strncmp: Likewise.
26956         * modules/unistr/u16-strncpy: Likewise.
26957         * modules/unistr/u16-strnlen: Likewise.
26958         * modules/unistr/u16-strpbrk: Likewise.
26959         * modules/unistr/u16-strrchr: Likewise.
26960         * modules/unistr/u16-strspn: Likewise.
26961         * modules/unistr/u16-strstr: Likewise.
26962         * modules/unistr/u16-strtok: Likewise.
26963         * modules/unistr/u16-to-u32: Likewise.
26964         * modules/unistr/u16-to-u8: Likewise.
26965         * modules/unistr/u16-uctomb: Likewise.
26966         * modules/unistr/u32-check: Likewise.
26967         * modules/unistr/u32-chr: Likewise.
26968         * modules/unistr/u32-cmp: Likewise.
26969         * modules/unistr/u32-cmp2: Likewise.
26970         * modules/unistr/u32-cpy: Likewise.
26971         * modules/unistr/u32-cpy-alloc: Likewise.
26972         * modules/unistr/u32-endswith: Likewise.
26973         * modules/unistr/u32-mblen: Likewise.
26974         * modules/unistr/u32-mbsnlen: Likewise.
26975         * modules/unistr/u32-mbtouc: Likewise.
26976         * modules/unistr/u32-mbtouc-unsafe: Likewise.
26977         * modules/unistr/u32-mbtoucr: Likewise.
26978         * modules/unistr/u32-move: Likewise.
26979         * modules/unistr/u32-next: Likewise.
26980         * modules/unistr/u32-prev: Likewise.
26981         * modules/unistr/u32-set: Likewise.
26982         * modules/unistr/u32-startswith: Likewise.
26983         * modules/unistr/u32-stpcpy: Likewise.
26984         * modules/unistr/u32-stpncpy: Likewise.
26985         * modules/unistr/u32-strcat: Likewise.
26986         * modules/unistr/u32-strchr: Likewise.
26987         * modules/unistr/u32-strcmp: Likewise.
26988         * modules/unistr/u32-strcoll: Likewise.
26989         * modules/unistr/u32-strcpy: Likewise.
26990         * modules/unistr/u32-strcspn: Likewise.
26991         * modules/unistr/u32-strdup: Likewise.
26992         * modules/unistr/u32-strlen: Likewise.
26993         * modules/unistr/u32-strmblen: Likewise.
26994         * modules/unistr/u32-strmbtouc: Likewise.
26995         * modules/unistr/u32-strncat: Likewise.
26996         * modules/unistr/u32-strncmp: Likewise.
26997         * modules/unistr/u32-strncpy: Likewise.
26998         * modules/unistr/u32-strnlen: Likewise.
26999         * modules/unistr/u32-strpbrk: Likewise.
27000         * modules/unistr/u32-strrchr: Likewise.
27001         * modules/unistr/u32-strspn: Likewise.
27002         * modules/unistr/u32-strstr: Likewise.
27003         * modules/unistr/u32-strtok: Likewise.
27004         * modules/unistr/u32-to-u16: Likewise.
27005         * modules/unistr/u32-to-u8: Likewise.
27006         * modules/unistr/u32-uctomb: Likewise.
27007         * modules/uniwbrk/u8-wordbreaks: Likewise.
27008         * modules/uniwbrk/u16-wordbreaks: Likewise.
27009         * modules/uniwbrk/u32-wordbreaks: Likewise.
27010         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27011         * modules/uniwbrk/wordbreak-property: Likewise.
27012         * modules/uniwidth/u8-strwidth: Likewise.
27013         * modules/uniwidth/u8-width: Likewise.
27014         * modules/uniwidth/u16-strwidth: Likewise.
27015         * modules/uniwidth/u16-width: Likewise.
27016         * modules/uniwidth/u32-strwidth: Likewise.
27017         * modules/uniwidth/u32-width: Likewise.
27018         * modules/uniwidth/width: Likewise.
27019         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27020         with $(LIBUNISTRING).
27021         * modules/unicase/ignorable-tests: Likewise.
27022         * modules/unicase/locale-language-tests: Likewise.
27023         * modules/unicase/tolower-tests: Likewise.
27024         * modules/unicase/totitle-tests: Likewise.
27025         * modules/unicase/toupper-tests: Likewise.
27026         * modules/unicase/u8-casecmp-tests: Likewise.
27027         * modules/unicase/u8-casecoll-tests: Likewise.
27028         * modules/unicase/u8-casefold-tests: Likewise.
27029         * modules/unicase/u8-is-cased-tests: Likewise.
27030         * modules/unicase/u8-is-casefolded-tests: Likewise.
27031         * modules/unicase/u8-is-lowercase-tests: Likewise.
27032         * modules/unicase/u8-is-titlecase-tests: Likewise.
27033         * modules/unicase/u8-is-uppercase-tests: Likewise.
27034         * modules/unicase/u8-tolower-tests: Likewise.
27035         * modules/unicase/u8-totitle-tests: Likewise.
27036         * modules/unicase/u8-toupper-tests: Likewise.
27037         * modules/unicase/u16-casecmp-tests: Likewise.
27038         * modules/unicase/u16-casecoll-tests: Likewise.
27039         * modules/unicase/u16-casefold-tests: Likewise.
27040         * modules/unicase/u16-is-cased-tests: Likewise.
27041         * modules/unicase/u16-is-casefolded-tests: Likewise.
27042         * modules/unicase/u16-is-lowercase-tests: Likewise.
27043         * modules/unicase/u16-is-titlecase-tests: Likewise.
27044         * modules/unicase/u16-is-uppercase-tests: Likewise.
27045         * modules/unicase/u16-tolower-tests: Likewise.
27046         * modules/unicase/u16-totitle-tests: Likewise.
27047         * modules/unicase/u16-toupper-tests: Likewise.
27048         * modules/unicase/u32-casecmp-tests: Likewise.
27049         * modules/unicase/u32-casecoll-tests: Likewise.
27050         * modules/unicase/u32-casefold-tests: Likewise.
27051         * modules/unicase/u32-is-cased-tests: Likewise.
27052         * modules/unicase/u32-is-casefolded-tests: Likewise.
27053         * modules/unicase/u32-is-lowercase-tests: Likewise.
27054         * modules/unicase/u32-is-titlecase-tests: Likewise.
27055         * modules/unicase/u32-is-uppercase-tests: Likewise.
27056         * modules/unicase/u32-tolower-tests: Likewise.
27057         * modules/unicase/u32-totitle-tests: Likewise.
27058         * modules/unicase/u32-toupper-tests: Likewise.
27059         * modules/unicase/ulc-casecmp-tests: Likewise.
27060         * modules/unicase/ulc-casecoll-tests: Likewise.
27061         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27062         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27063         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27064         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27065         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27066         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27067         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27068         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27069         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27070         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27071         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27072         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27073         * modules/unictype/bidicategory-byname-tests: Likewise.
27074         * modules/unictype/bidicategory-name-tests: Likewise.
27075         * modules/unictype/bidicategory-of-tests: Likewise.
27076         * modules/unictype/bidicategory-test-tests: Likewise.
27077         * modules/unictype/block-list-tests: Likewise.
27078         * modules/unictype/block-of-tests: Likewise.
27079         * modules/unictype/block-test-tests: Likewise.
27080         * modules/unictype/category-C-tests: Likewise.
27081         * modules/unictype/category-Cc-tests: Likewise.
27082         * modules/unictype/category-Cf-tests: Likewise.
27083         * modules/unictype/category-Cn-tests: Likewise.
27084         * modules/unictype/category-Co-tests: Likewise.
27085         * modules/unictype/category-Cs-tests: Likewise.
27086         * modules/unictype/category-L-tests: Likewise.
27087         * modules/unictype/category-Ll-tests: Likewise.
27088         * modules/unictype/category-Lm-tests: Likewise.
27089         * modules/unictype/category-Lo-tests: Likewise.
27090         * modules/unictype/category-Lt-tests: Likewise.
27091         * modules/unictype/category-Lu-tests: Likewise.
27092         * modules/unictype/category-M-tests: Likewise.
27093         * modules/unictype/category-Mc-tests: Likewise.
27094         * modules/unictype/category-Me-tests: Likewise.
27095         * modules/unictype/category-Mn-tests: Likewise.
27096         * modules/unictype/category-N-tests: Likewise.
27097         * modules/unictype/category-Nd-tests: Likewise.
27098         * modules/unictype/category-Nl-tests: Likewise.
27099         * modules/unictype/category-No-tests: Likewise.
27100         * modules/unictype/category-P-tests: Likewise.
27101         * modules/unictype/category-Pc-tests: Likewise.
27102         * modules/unictype/category-Pd-tests: Likewise.
27103         * modules/unictype/category-Pe-tests: Likewise.
27104         * modules/unictype/category-Pf-tests: Likewise.
27105         * modules/unictype/category-Pi-tests: Likewise.
27106         * modules/unictype/category-Po-tests: Likewise.
27107         * modules/unictype/category-Ps-tests: Likewise.
27108         * modules/unictype/category-S-tests: Likewise.
27109         * modules/unictype/category-Sc-tests: Likewise.
27110         * modules/unictype/category-Sk-tests: Likewise.
27111         * modules/unictype/category-Sm-tests: Likewise.
27112         * modules/unictype/category-So-tests: Likewise.
27113         * modules/unictype/category-Z-tests: Likewise.
27114         * modules/unictype/category-Zl-tests: Likewise.
27115         * modules/unictype/category-Zp-tests: Likewise.
27116         * modules/unictype/category-Zs-tests: Likewise.
27117         * modules/unictype/category-and-not-tests: Likewise.
27118         * modules/unictype/category-and-tests: Likewise.
27119         * modules/unictype/category-byname-tests: Likewise.
27120         * modules/unictype/category-name-tests: Likewise.
27121         * modules/unictype/category-none-tests: Likewise.
27122         * modules/unictype/category-of-tests: Likewise.
27123         * modules/unictype/category-or-tests: Likewise.
27124         * modules/unictype/category-test-withtable-tests: Likewise.
27125         * modules/unictype/combining-class-tests: Likewise.
27126         * modules/unictype/ctype-alnum-tests: Likewise.
27127         * modules/unictype/ctype-alpha-tests: Likewise.
27128         * modules/unictype/ctype-blank-tests: Likewise.
27129         * modules/unictype/ctype-cntrl-tests: Likewise.
27130         * modules/unictype/ctype-digit-tests: Likewise.
27131         * modules/unictype/ctype-graph-tests: Likewise.
27132         * modules/unictype/ctype-lower-tests: Likewise.
27133         * modules/unictype/ctype-print-tests: Likewise.
27134         * modules/unictype/ctype-punct-tests: Likewise.
27135         * modules/unictype/ctype-space-tests: Likewise.
27136         * modules/unictype/ctype-upper-tests: Likewise.
27137         * modules/unictype/ctype-xdigit-tests: Likewise.
27138         * modules/unictype/decimal-digit-tests: Likewise.
27139         * modules/unictype/digit-tests: Likewise.
27140         * modules/unictype/mirror-tests: Likewise.
27141         * modules/unictype/numeric-tests: Likewise.
27142         * modules/unictype/property-alphabetic-tests: Likewise.
27143         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27144         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27145         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27146         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27147         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27148         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27149         * modules/unictype/property-bidi-control-tests: Likewise.
27150         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27151         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27152         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27153         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27154         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27155         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27156         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27157         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27158         * modules/unictype/property-bidi-pdf-tests: Likewise.
27159         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27160         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27161         * modules/unictype/property-byname-tests: Likewise.
27162         * modules/unictype/property-combining-tests: Likewise.
27163         * modules/unictype/property-composite-tests: Likewise.
27164         * modules/unictype/property-currency-symbol-tests: Likewise.
27165         * modules/unictype/property-dash-tests: Likewise.
27166         * modules/unictype/property-decimal-digit-tests: Likewise.
27167         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27168         * modules/unictype/property-deprecated-tests: Likewise.
27169         * modules/unictype/property-diacritic-tests: Likewise.
27170         * modules/unictype/property-extender-tests: Likewise.
27171         * modules/unictype/property-format-control-tests: Likewise.
27172         * modules/unictype/property-grapheme-base-tests: Likewise.
27173         * modules/unictype/property-grapheme-extend-tests: Likewise.
27174         * modules/unictype/property-grapheme-link-tests: Likewise.
27175         * modules/unictype/property-hex-digit-tests: Likewise.
27176         * modules/unictype/property-hyphen-tests: Likewise.
27177         * modules/unictype/property-id-continue-tests: Likewise.
27178         * modules/unictype/property-id-start-tests: Likewise.
27179         * modules/unictype/property-ideographic-tests: Likewise.
27180         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27181         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27182         * modules/unictype/property-ignorable-control-tests: Likewise.
27183         * modules/unictype/property-iso-control-tests: Likewise.
27184         * modules/unictype/property-join-control-tests: Likewise.
27185         * modules/unictype/property-left-of-pair-tests: Likewise.
27186         * modules/unictype/property-line-separator-tests: Likewise.
27187         * modules/unictype/property-logical-order-exception-tests: Likewise.
27188         * modules/unictype/property-lowercase-tests: Likewise.
27189         * modules/unictype/property-math-tests: Likewise.
27190         * modules/unictype/property-non-break-tests: Likewise.
27191         * modules/unictype/property-not-a-character-tests: Likewise.
27192         * modules/unictype/property-numeric-tests: Likewise.
27193         * modules/unictype/property-other-alphabetic-tests: Likewise.
27194         * modules/unictype/property-other-default-ignorable-code-point-tests:
27195         Likewise.
27196         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27197         * modules/unictype/property-other-id-continue-tests: Likewise.
27198         * modules/unictype/property-other-id-start-tests: Likewise.
27199         * modules/unictype/property-other-lowercase-tests: Likewise.
27200         * modules/unictype/property-other-math-tests: Likewise.
27201         * modules/unictype/property-other-uppercase-tests: Likewise.
27202         * modules/unictype/property-paired-punctuation-tests: Likewise.
27203         * modules/unictype/property-paragraph-separator-tests: Likewise.
27204         * modules/unictype/property-pattern-syntax-tests: Likewise.
27205         * modules/unictype/property-pattern-white-space-tests: Likewise.
27206         * modules/unictype/property-private-use-tests: Likewise.
27207         * modules/unictype/property-punctuation-tests: Likewise.
27208         * modules/unictype/property-quotation-mark-tests: Likewise.
27209         * modules/unictype/property-radical-tests: Likewise.
27210         * modules/unictype/property-sentence-terminal-tests: Likewise.
27211         * modules/unictype/property-soft-dotted-tests: Likewise.
27212         * modules/unictype/property-space-tests: Likewise.
27213         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27214         * modules/unictype/property-test-tests: Likewise.
27215         * modules/unictype/property-titlecase-tests: Likewise.
27216         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27217         * modules/unictype/property-unified-ideograph-tests: Likewise.
27218         * modules/unictype/property-uppercase-tests: Likewise.
27219         * modules/unictype/property-variation-selector-tests: Likewise.
27220         * modules/unictype/property-white-space-tests: Likewise.
27221         * modules/unictype/property-xid-continue-tests: Likewise.
27222         * modules/unictype/property-xid-start-tests: Likewise.
27223         * modules/unictype/property-zero-width-tests: Likewise.
27224         * modules/unictype/scripts-tests: Likewise.
27225         * modules/unictype/syntax-c-ident-tests: Likewise.
27226         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27227         * modules/unictype/syntax-java-ident-tests: Likewise.
27228         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27229         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27230         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27231         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27232         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27233         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27234         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27235         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27236         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27237         * modules/uniname/uniname-tests: Likewise.
27238         * modules/uninorm/canonical-decomposition-tests: Likewise.
27239         * modules/uninorm/compat-decomposition-tests: Likewise.
27240         * modules/uninorm/composition-tests: Likewise.
27241         * modules/uninorm/decomposing-form-tests: Likewise.
27242         * modules/uninorm/decomposition-tests: Likewise.
27243         * modules/uninorm/filter-tests: Likewise.
27244         * modules/uninorm/nfc-tests: Likewise.
27245         * modules/uninorm/nfd-tests: Likewise.
27246         * modules/uninorm/nfkc-tests: Likewise.
27247         * modules/uninorm/nfkd-tests: Likewise.
27248         * modules/uninorm/u8-normcmp-tests: Likewise.
27249         * modules/uninorm/u8-normcoll-tests: Likewise.
27250         * modules/uninorm/u16-normcmp-tests: Likewise.
27251         * modules/uninorm/u16-normcoll-tests: Likewise.
27252         * modules/uninorm/u32-normcmp-tests: Likewise.
27253         * modules/uninorm/u32-normcoll-tests: Likewise.
27254         * modules/unistdio/u8-asnprintf-tests: Likewise.
27255         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27256         * modules/unistdio/u8-vasprintf-tests: Likewise.
27257         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27258         * modules/unistdio/u8-vsprintf-tests: Likewise.
27259         * modules/unistdio/u16-asnprintf-tests: Likewise.
27260         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27261         * modules/unistdio/u16-vasprintf-tests: Likewise.
27262         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27263         * modules/unistdio/u16-vsprintf-tests: Likewise.
27264         * modules/unistdio/u32-asnprintf-tests: Likewise.
27265         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27266         * modules/unistdio/u32-vasprintf-tests: Likewise.
27267         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27268         * modules/unistdio/u32-vsprintf-tests: Likewise.
27269         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27270         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27271         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27272         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27273         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27274         * modules/unistr/u8-check-tests: Likewise.
27275         * modules/unistr/u8-chr-tests: Likewise.
27276         * modules/unistr/u8-cmp-tests: Likewise.
27277         * modules/unistr/u8-cmp2-tests: Likewise.
27278         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27279         * modules/unistr/u8-cpy-tests: Likewise.
27280         * modules/unistr/u8-mblen-tests: Likewise.
27281         * modules/unistr/u8-mbsnlen-tests: Likewise.
27282         * modules/unistr/u8-mbtouc-tests: Likewise.
27283         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27284         * modules/unistr/u8-mbtoucr-tests: Likewise.
27285         * modules/unistr/u8-move-tests: Likewise.
27286         * modules/unistr/u8-next-tests: Likewise.
27287         * modules/unistr/u8-prev-tests: Likewise.
27288         * modules/unistr/u8-set-tests: Likewise.
27289         * modules/unistr/u8-stpcpy-tests: Likewise.
27290         * modules/unistr/u8-stpncpy-tests: Likewise.
27291         * modules/unistr/u8-strcat-tests: Likewise.
27292         * modules/unistr/u8-strcmp-tests: Likewise.
27293         * modules/unistr/u8-strcoll-tests: Likewise.
27294         * modules/unistr/u8-strcpy-tests: Likewise.
27295         * modules/unistr/u8-strdup-tests: Likewise.
27296         * modules/unistr/u8-strlen-tests: Likewise.
27297         * modules/unistr/u8-strmblen-tests: Likewise.
27298         * modules/unistr/u8-strmbtouc-tests: Likewise.
27299         * modules/unistr/u8-strncat-tests: Likewise.
27300         * modules/unistr/u8-strncmp-tests: Likewise.
27301         * modules/unistr/u8-strncpy-tests: Likewise.
27302         * modules/unistr/u8-strnlen-tests: Likewise.
27303         * modules/unistr/u8-to-u16-tests: Likewise.
27304         * modules/unistr/u8-to-u32-tests: Likewise.
27305         * modules/unistr/u8-uctomb-tests: Likewise.
27306         * modules/unistr/u16-check-tests: Likewise.
27307         * modules/unistr/u16-chr-tests: Likewise.
27308         * modules/unistr/u16-cmp-tests: Likewise.
27309         * modules/unistr/u16-cmp2-tests: Likewise.
27310         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27311         * modules/unistr/u16-cpy-tests: Likewise.
27312         * modules/unistr/u16-mblen-tests: Likewise.
27313         * modules/unistr/u16-mbsnlen-tests: Likewise.
27314         * modules/unistr/u16-mbtouc-tests: Likewise.
27315         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27316         * modules/unistr/u16-mbtoucr-tests: Likewise.
27317         * modules/unistr/u16-move-tests: Likewise.
27318         * modules/unistr/u16-next-tests: Likewise.
27319         * modules/unistr/u16-prev-tests: Likewise.
27320         * modules/unistr/u16-set-tests: Likewise.
27321         * modules/unistr/u16-stpcpy-tests: Likewise.
27322         * modules/unistr/u16-stpncpy-tests: Likewise.
27323         * modules/unistr/u16-strcat-tests: Likewise.
27324         * modules/unistr/u16-strcmp-tests: Likewise.
27325         * modules/unistr/u16-strcoll-tests: Likewise.
27326         * modules/unistr/u16-strcpy-tests: Likewise.
27327         * modules/unistr/u16-strdup-tests: Likewise.
27328         * modules/unistr/u16-strlen-tests: Likewise.
27329         * modules/unistr/u16-strmblen-tests: Likewise.
27330         * modules/unistr/u16-strmbtouc-tests: Likewise.
27331         * modules/unistr/u16-strncat-tests: Likewise.
27332         * modules/unistr/u16-strncmp-tests: Likewise.
27333         * modules/unistr/u16-strncpy-tests: Likewise.
27334         * modules/unistr/u16-strnlen-tests: Likewise.
27335         * modules/unistr/u16-to-u32-tests: Likewise.
27336         * modules/unistr/u16-to-u8-tests: Likewise.
27337         * modules/unistr/u16-uctomb-tests: Likewise.
27338         * modules/unistr/u32-check-tests: Likewise.
27339         * modules/unistr/u32-chr-tests: Likewise.
27340         * modules/unistr/u32-cmp-tests: Likewise.
27341         * modules/unistr/u32-cmp2-tests: Likewise.
27342         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27343         * modules/unistr/u32-cpy-tests: Likewise.
27344         * modules/unistr/u32-mblen-tests: Likewise.
27345         * modules/unistr/u32-mbsnlen-tests: Likewise.
27346         * modules/unistr/u32-mbtouc-tests: Likewise.
27347         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27348         * modules/unistr/u32-mbtoucr-tests: Likewise.
27349         * modules/unistr/u32-move-tests: Likewise.
27350         * modules/unistr/u32-next-tests: Likewise.
27351         * modules/unistr/u32-prev-tests: Likewise.
27352         * modules/unistr/u32-set-tests: Likewise.
27353         * modules/unistr/u32-stpcpy-tests: Likewise.
27354         * modules/unistr/u32-stpncpy-tests: Likewise.
27355         * modules/unistr/u32-strcat-tests: Likewise.
27356         * modules/unistr/u32-strcmp-tests: Likewise.
27357         * modules/unistr/u32-strcoll-tests: Likewise.
27358         * modules/unistr/u32-strcpy-tests: Likewise.
27359         * modules/unistr/u32-strdup-tests: Likewise.
27360         * modules/unistr/u32-strlen-tests: Likewise.
27361         * modules/unistr/u32-strmblen-tests: Likewise.
27362         * modules/unistr/u32-strmbtouc-tests: Likewise.
27363         * modules/unistr/u32-strncat-tests: Likewise.
27364         * modules/unistr/u32-strncmp-tests: Likewise.
27365         * modules/unistr/u32-strncpy-tests: Likewise.
27366         * modules/unistr/u32-strnlen-tests: Likewise.
27367         * modules/unistr/u32-to-u16-tests: Likewise.
27368         * modules/unistr/u32-to-u8-tests: Likewise.
27369         * modules/unistr/u32-uctomb-tests: Likewise.
27370         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27371         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27372         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27373         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27374         * modules/uniwidth/u8-strwidth-tests: Likewise.
27375         * modules/uniwidth/u8-width-tests: Likewise.
27376         * modules/uniwidth/u16-strwidth-tests: Likewise.
27377         * modules/uniwidth/u16-width-tests: Likewise.
27378         * modules/uniwidth/u32-strwidth-tests: Likewise.
27379         * modules/uniwidth/u32-width-tests: Likewise.
27380         * modules/uniwidth/width-tests: Likewise.
27381
27382 2010-05-18  Richard Jones  <rjones@redhat.com>
27383
27384         doc: users.txt: list hivex
27385         * users.txt: Add hivex.
27386
27387 2010-05-18  Richard Jones  <rjones@redhat.com>
27388
27389         doc: users.txt: list febootstrap
27390         * users.txt: Add febootstrap.
27391
27392 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27393
27394         bootstrap: fix an error when gnulib is not used as a git submodule
27395         * build-aux/bootstrap (gnulib_path): If its length is zero then
27396         assign "gnulib" to it.
27397         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27398
27399 2010-05-16  Bruno Haible  <bruno@clisp.org>
27400
27401         Avoid autoconf warnings about AM_ICONV.
27402         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27403         2.64.
27404
27405 2010-05-16  Bruno Haible  <bruno@clisp.org>
27406
27407         absolute-header: Make the macro usable in more situations.
27408         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27409         from gl_ABSOLUTE_HEADER.
27410         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27411
27412 2010-05-16  James Youngman  <jay@gnu.org>
27413
27414         doc: update users.txt
27415         * users.txt: Add CSSC.
27416
27417 2010-05-16  Jim Meyering  <meyering@redhat.com>
27418
27419         init.sh: fix an error in the previous change; add more comments
27420         * tests/init.sh: Compare exit code in loop against 9, not 2.
27421         Patch by Bruno Haible.
27422         Make the two tests more similar by adding an empty "then" clause.
27423         Add comments.
27424
27425         init.sh: avoid unnecessary shell re-exec
27426         * tests/init.sh: Improve the re-exec-required check to first test the
27427         current shell.  If it passes the test, do not search for a shell that
27428         does pass, and do not re-exec.  This test is particularly contorted to
27429         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27430         of $(...) evokes a syntax error and causes immediate shell exit with
27431         status 2.  Bruno Haible reported that the re-exec made it impossible
27432         to single-step through any init.sh-using script.
27433
27434 2010-05-16  Bruno Haible  <bruno@clisp.org>
27435
27436         Fix collision between gnulib's and libintl's printf replacements.
27437         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27438         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27439         (printf): When using GNU C, map the __printf__ function to rpl_printf
27440         via __asm__. When not using GNU C, define rpl_printf instead of
27441         __printf__.
27442         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27443         commit.
27444         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27445         commit.
27446         * m4/asm-underscore.m4: New file.
27447         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27448         * modules/stdio (Files): Add m4/asm-underscore.m4.
27449         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27450         Reported by Ben Pfaff.
27451
27452 2010-05-16  Bruno Haible  <bruno@clisp.org>
27453
27454         verify: Avoid skipping the test on openSUSE 11.0.
27455         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27456
27457 2010-05-13  Bruno Haible  <bruno@clisp.org>
27458
27459         Avoid useless warnings from G++.
27460         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27461         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27462         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27463
27464 2010-05-11  Jim Meyering  <meyering@redhat.com>
27465
27466         maint.mk: tweak preceding change
27467         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27468         regexps tighter by anchoring at EOL, and make the new group "shy"
27469         for slightly decreased overhead.
27470
27471 2010-05-11  Eric Blake  <eblake@redhat.com>
27472
27473         maint.mk: gnulib doesn't guarantee NSIG
27474         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27475
27476 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27477
27478         test-pwrite.c: Remove unused variable declaration.
27479         * tests/test-pwrite.c (main): Remove read_buf declaration.
27480
27481         Remove useless test-pwrite.sh file.
27482         * tests/test-pwrite.sh: Delete file.
27483         * modules/pwrite-tests: Remove references.
27484         Reported by Bruno Haible.
27485
27486 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27487
27488         init.sh: fix a typo
27489         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27490
27491 2010-05-10  Jim Meyering  <meyering@redhat.com>
27492
27493         maint.mk: avoid using a temporary file in the always-defined-macros check
27494         * top/maint.mk (.re-defmac): Remove rule.
27495         (gl_trap_): Remove definition.
27496         (sc_prohibit_always-defined_macros): Rewrite not to create and
27497         depend on a temporary file.  Instead, depend on GNU grep's ability
27498         to read a list of regular expressions from stdin when given "-f -".
27499
27500 2010-05-09  Bruno Haible  <bruno@clisp.org>
27501
27502         Update to GNU gettext 0.18, part 1.
27503         * m4/gettext.m4: Update to GNU gettext 0.18.
27504         * m4/intl.m4: Likewise.
27505         * m4/po.m4: Likewise.
27506         * modules/gettext (Files): Add m4/fcntl-o.m4.
27507         (configure.ac): Require gettext infrastructure from version 0.18.
27508
27509 2010-05-09  Jim Meyering  <meyering@redhat.com>
27510
27511         init.sh: enable MALLOC_PERTURB_
27512         * tests/init.sh: Enable glibc's malloc-perturbing option.
27513
27514         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27515         With my recent change in init.sh from the two-line form:
27516             -#   : ${srcdir=.}
27517             -#   . "$srcdir/init.sh"; path_prepend_ .
27518             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27519         I noticed that using the one-line form would cause this test
27520         to fail with a false-positive, or to stop working altogether,
27521         depending on whether help-version changed or all the tests did.
27522         * top/maint.mk (_hv_regex): Remove this definition.
27523         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27524         (_hv_regex_strong): Use a stronger regex to check for conformance.
27525         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27526         Give a separate diagnostic for lack of conforming use.
27527
27528         maint.mk: prohibit definition of symbols defined by gnulib
27529         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27530         definition of symbols defined by gnulib.
27531
27532 2010-05-09  Bruno Haible  <bruno@clisp.org>
27533
27534         acl: Avoid test failure on Cygwin-hosted mingw.
27535         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27536
27537 2010-05-09  Bruno Haible  <bruno@clisp.org>
27538
27539         error: Use system's fcntl function.
27540         * lib/error.c (fcntl): Undefine.
27541
27542 2010-05-09  Jim Meyering  <meyering@redhat.com>
27543
27544         verify: adjust formatting to be more consistent
27545         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27546         argument-list '('s, and after one comma.
27547
27548 2010-05-09  Bruno Haible  <bruno@clisp.org>
27549
27550         error: More reliable output on mingw.
27551         * lib/error.c: Include <windows.h>.
27552         (is_open): New function.
27553         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27554         defined.
27555
27556 2010-05-09  Bruno Haible  <bruno@clisp.org>
27557
27558         vasnprintf: Fix syntax errors in libintl build on mingw.
27559         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27560         pad_ourselves and prec_ourselves after use.
27561
27562 2010-05-08  Bruno Haible  <bruno@clisp.org>
27563
27564         * lib/config.charset: Update comments for Cygwin 1.7.
27565         * lib/localcharset.c: Likewise.
27566
27567 2010-05-07  Jim Meyering  <meyering@redhat.com>
27568
27569         init.sh: improve comments
27570         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27571         . "${srcdir=.}/init.sh"; path_prepend_ .
27572         Add a note about path_prepend_ and the alternative of using
27573         TESTS_ENVIRONMENT.
27574
27575 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27576
27577         exclude: Unescape hashed patterns in wildcard mode.
27578         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27579         to the hash list.
27580         * tests/test-exclude8.sh: New test case.
27581         * modules/exclude-tests: Add new test.
27582
27583 2010-05-05  Eric Blake  <eblake@redhat.com>
27584
27585         verify: automate tests
27586         * modules/verify-tests: New module.
27587         * tests/test-verify.sh: New file.
27588         * tests/test-verify.c: Guard each negative test with a unique id.
27589         Also avoid warning about unused left hand of comma expressions.
27590
27591 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27592
27593         Further improvements to verify.h, suggested by Eric Blake.
27594         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27595         the GL_* versions, to avoid collision with OpenGL.
27596         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27597         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27598         than testing merely whether it's defined.
27599
27600         Modify verify.h to pacify gcc -Wredundant_decls.
27601         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27602         These use the prefix "GL_" since they're likely to be useful elsewhere.
27603         We may need to break them out into a different .h file.
27604         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27605         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27606         of verify_function__.
27607
27608 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27609
27610         Tests for module pwrite.
27611         * modules/pwrite-tests: New file.
27612         * tests/test-pwrite.sh: New file.
27613         * tests/test-pwrite.c: New file.
27614
27615         New module pwrite.
27616         * lib/unistd.in.h (pwrite): New declaration.
27617         * lib/pwrite.c: New file, from glibc with modifications.
27618         * m4/pwrite.m4: New file.
27619         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27620         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27621         REPLACE_PWRITE.
27622         * modules/pwrite: New file.
27623         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27624         REPLACE_PWRITE.
27625         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27626         * doc/posix-functions/pwrite.texi: Mention the new module.
27627
27628 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27629
27630         pread: Update documentation.
27631         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27632
27633 2010-05-04  Eric Blake  <eblake@redhat.com>
27634
27635         docs: update cygwin progress
27636         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27637         this bug.
27638         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27639         Added in cygwin 1.7.2.
27640         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27641         Likewise.
27642         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27643         Likewise.
27644         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27645         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27646         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27647         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27648         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27649         Mention nproc module.
27650         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27651         bug in cygwin 1.7.5 addition.
27652         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27653         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27654         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27655         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27656         1.7.5.
27657         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27658         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27659         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27660         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27661         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27662         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27663         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27664         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27665         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27666         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27667         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27668         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27669         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27670         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27671         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27672         Likewise.
27673         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27674         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27675         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27676         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27677         Likewise.
27678         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27679         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27680         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27681         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27682         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27683         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27684         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27685         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27686         Likewise.
27687         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27688         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27689         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27690         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27691         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27692         Likewise.
27693         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27694         Likewise.
27695         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27696         Likewise.
27697         * doc/glibc-functions/xdrrec_endofrecord.texi
27698         (xdrrec_endofrecord): Likewise.
27699         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27700         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27701         Likewise.
27702         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27703         Likewise.
27704
27705 2010-05-04  Jim Meyering  <meyering@redhat.com>
27706
27707         gendocs.sh: make its "-s FILE" option more useful
27708         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27709         $PACKAGE to reflect the probably-different basename of "FILE".
27710
27711 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27712
27713         bootstrap: don't ignore download_po_files failure
27714         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27715         failure.
27716
27717 2010-05-03  Jim Meyering  <meyering@redhat.com>
27718
27719         maint.mk: allow to pass options to gendocs.sh
27720         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27721         (gendocs_options_): New overridable variable.
27722
27723         gnu-web-doc-update: don't ignore configure or build failure
27724         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27725
27726         announce-gen: backslash-escape '@'s in --help output
27727         * build-aux/announce-gen: Fix syntax errors.
27728
27729         maint.mk, announce-gen: allow project-specific announcement mail headers
27730         * top/maint.mk (translation_project_): Define default.
27731         (announcement_Cc_, announcement_mail_headers_): Likewise.
27732         (announcement): Invoke announce-gen with new --mail-headers option.
27733         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27734
27735         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27736         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27737         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27738         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27739         line in the "err2" output file when running "make check" in verbose
27740         mode (i.e., with set -x enabled).
27741
27742 2010-05-03  Bruno Haible  <bruno@clisp.org>
27743
27744         wctob: Fix for weird platforms.
27745         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27746         argument value.
27747
27748 2010-05-03  Jim Meyering  <meyering@redhat.com>
27749
27750         maint.mk: prohibit unwarranted use of <strings.h>
27751         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27752         strings.h in a file that does not also use strcasecmp, strncasecmp,
27753         ffs or ffsll.
27754
27755         maint.mk: remove obsolete comments
27756         * top/maint.mk: Remove stale, commented-out rules.
27757
27758 2010-05-02  Bruno Haible  <bruno@clisp.org>
27759
27760         wcwidth: Declare also when it's aliased.
27761         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27762         macro.
27763
27764 2010-05-02  Bruno Haible  <bruno@clisp.org>
27765
27766         Fix regression from 2010-04-25.
27767         * gnulib-tool (func_modules_transitive_closure): Check the status of
27768         all modules, not only of the tests that are of the form foo-tests where
27769         foo is a module.
27770
27771 2010-05-02  Bruno Haible  <bruno@clisp.org>
27772
27773         wctob: Work around nasty Cygwin 1.7.2 bug.
27774         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27775         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27776
27777 2010-05-01  Bruno Haible  <bruno@clisp.org>
27778
27779         fpurge: Sharper test.
27780         * tests/test-fpurge.c (main): Add one more ftell check.
27781         * modules/fpurge-tests (Depends-on): Add ftell.
27782         Suggested by Eric Blake.
27783
27784 2010-05-01  Bruno Haible  <bruno@clisp.org>
27785
27786         ftello: Another test.
27787         * tests/test-ftello3.c: New file.
27788         * modules/ftello-tests (Files): Add it.
27789         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27790         MOSTLYCLEANFILES.
27791
27792         ftell: Another test.
27793         * tests/test-ftell3.c: New file.
27794         * modules/ftell-tests (Files): Add it.
27795         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27796         MOSTLYCLEANFILES.
27797
27798 2010-05-01  Bruno Haible  <bruno@clisp.org>
27799
27800         ftell, ftello: Work around Solaris bug.
27801         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
27802         * lib/ftello.c: Include stdio-impl.h.
27803         (ftello): On Solaris, when _IOWRT is set, compute the result without
27804         looking at _IOREAD.
27805         * modules/ftello (Files): Add lib/stdio-impl.h.
27806         * doc/posix-functions/ftell.texi: Mention Solaris bug.
27807         * doc/posix-functions/ftello.texi: Likewise.
27808         Reported by Eric Blake.
27809
27810 2010-05-01  Bruno Haible  <bruno@clisp.org>
27811
27812         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27813         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27814         the _IOWRT flag is also set.
27815
27816 2010-05-01  Bruno Haible  <bruno@clisp.org>
27817
27818         Fix doc about a HP-UX stdio bug.
27819         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27820         * doc/posix-functions/ftello.texi: Likewise.
27821
27822 2010-05-01  Bruno Haible  <bruno@clisp.org>
27823
27824         lseek test: Fix failure on Solaris.
27825         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27826         output.
27827
27828 2010-04-30  Jim Meyering  <meyering@redhat.com>
27829
27830         bootstrap: don't ignore failure to generate po*/Makevars
27831         * build-aux/bootstrap (with_gettext): Don't ignore failure
27832         to create po/Makevars or runtime-po/Makevars.
27833
27834 2010-04-29  Eric Blake  <eblake@redhat.com>
27835
27836         headers: relax license to LGPLv2+
27837         * modules/fcntl-h (License): Relax license.
27838         * modules/getopt-posix (License): Likewise.
27839         * modules/locale (License): Likewise.
27840         * modules/math (License): Likewise.
27841         * modules/pty (License): Likewise.
27842         * modules/sched (License): Likewise.
27843         * modules/search (License): Likewise.
27844         * modules/spawn (License): Likewise.
27845         * modules/stdarg (License): Likewise.
27846         * modules/sysexits (License): Likewise.
27847
27848 2010-04-29  Jim Meyering  <meyering@redhat.com>
27849
27850         inttypes: relax license to LGPLv2+
27851         * modules/inttypes (License): Relax license.
27852
27853 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27854
27855         * top/maint.mk (indent): Run twice to produce idempotent results.
27856
27857 2010-04-28  Bruno Haible  <bruno@clisp.org>
27858
27859         getdate: Generate getdate.c in the source directory.
27860         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27861         MOSTLYCLEANFILES.
27862         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27863
27864 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27865
27866         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27867         is not declared as a const *; avoid warnings in that case.
27868
27869 2010-04-28  Eric Blake  <eblake@redhat.com>
27870
27871         canonicalize-lgpl: avoid compiler warning
27872         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27873         declaration' / 'extraneous semicolon' warning with some compilers.
27874         Reported by Andreas Gruenbacher.
27875
27876 2010-04-28  Jim Meyering  <meyering@redhat.com>
27877
27878         init.sh: ensure a more reliable exit status when exiting via trap
27879         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27880         Inspired by patches from Dmitry V. Levin.
27881         Also trap on signal 3 (SIGQUIT).
27882
27883 2010-04-27  Bruno Haible  <bruno@clisp.org>
27884
27885         Update doc about utimes().
27886         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27887         'utimens' module.
27888         Reported by Andreas Gruenbacher <agruen@suse.de>.
27889
27890 2010-04-27  Eric Blake  <eblake@redhat.com>
27891
27892         full-read, full-write: relax license
27893         * modules/full-read (License): Drop to LGPLv2+.
27894         * modules/full-write (License): Likewise.
27895         * modules/safe-read (License): Likewise.
27896         * modules/safe-write (License): Likewise.
27897
27898         pthread: mention library for linking
27899         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27900
27901 2010-04-27  Jim Meyering  <meyering@redhat.com>
27902
27903         maint.mk: fix a bug introduced in last change
27904         * top/maint.mk (gl_assured_headers_): Now that all names are on
27905         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27906         is not anchored to end of word, it should be adequate.
27907
27908         maint.mk: avoid side-effect in latest syntax-check
27909         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27910         to run commands via $(shell...), and hence to incur cost only when
27911         the new rule is actually run.
27912
27913         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27914         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27915         and use that to create a regexp used to detect all #if HAVE_..._H uses.
27916         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
27917         (gl_assured_headers_, az_, AZ_): Define.
27918         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
27919
27920 2010-04-26  Jim Meyering  <jim@meyering.net>
27921             Bruno Haible  <bruno@clisp.org>
27922
27923         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
27924         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
27925         Prompted by an exchange with Gilles Espinasse.
27926
27927 2010-04-26  Jim Meyering  <meyering@redhat.com>
27928
27929         git-version-gen: aesthetic tweak
27930         * build-aux/git-version-gen: Use "$nl" rather than a literal,
27931         so that the command remains on a single line.
27932
27933 2010-04-26  Eric Blake  <eblake@redhat.com>
27934
27935         git-version-gen: allow use on EBCDIC hosts
27936         * build-aux/git-version-gen (dirty): Use literal rather than tying
27937         ourselves to ascii.
27938         Reported by Steve Goetze.
27939
27940 2010-04-25  Bruno Haible  <bruno@clisp.org>
27941
27942         netdb: Add support for GNULIB_POSIXCHECK.
27943         * lib/netdb.in.h: Include warn-on-use.h.
27944         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
27945         functions are used when GNULIB_POSIXCHECK is defined and the
27946         getaddrinfo module is not in use.
27947         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
27948         freeaddrinfo, gai_strerror, getnameinfo are declared.
27949         * modules/netdb (Depends-on): Add warn-on-use.
27950         (Makefile.am): Include warn-on-use.h in netdb.h.
27951
27952 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
27953
27954         build: avoid "make check" failure without .git/ directory
27955         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
27956         there is no .git/ directory.
27957
27958 2010-04-25  Bruno Haible  <bruno@clisp.org>
27959
27960         ptsname: Fix misuse of ttyname_r.
27961         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
27962         of errno.
27963
27964 2010-04-25  Bruno Haible  <bruno@clisp.org>
27965
27966         ttyname_r: Make it work on Solaris 10.
27967         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
27968         if the system function has the POSIX declaration. Test whether the
27969         function fails if the buffer is less than 128 bytes large.
27970         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
27971         system's ttyname_r function. Provide a reasonably large buffer.
27972         * modules/ttyname_r (Depends-on): Add extensions.
27973         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
27974
27975 2010-04-25  Bruno Haible  <bruno@clisp.org>
27976
27977         Use the 'extensions' module for some more functions on Solaris.
27978         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
27979         module.
27980         * doc/posix-functions/ctime_r.texi: Likewise.
27981         * doc/posix-functions/getgrgid_r.texi: Likewise.
27982         * doc/posix-functions/getgrnam_r.texi: Likewise.
27983         * doc/posix-functions/getpwnam_r.texi: Likewise.
27984         * doc/posix-functions/getpwuid_r.texi: Likewise.
27985         * doc/posix-functions/readdir_r.texi: Likewise.
27986         * doc/posix-functions/sigwait.texi: Likewise.
27987         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
27988         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
27989
27990 2010-04-25  Bruno Haible  <bruno@clisp.org>
27991
27992         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
27993         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
27994         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
27995         * lib/ttyname_r.c: Include <limits.h>.
27996         (ttyname_r): Define using the system's ttyname_r function, if it exists
27997         and not on Solaris.
27998         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
27999         set.
28000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28001         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28002         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28003         Reported by Simon Josefsson.
28004
28005 2010-04-25  Bruno Haible  <bruno@clisp.org>
28006
28007         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28008         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28009         * doc/posix-functions/ctime_r.texi: Likewise.
28010         * doc/posix-functions/getgrgid_r.texi: Likewise.
28011         * doc/posix-functions/getgrnam_r.texi: Likewise.
28012         * doc/posix-functions/getlogin_r.texi: Likewise.
28013         * doc/posix-functions/getpwnam_r.texi: Likewise.
28014         * doc/posix-functions/getpwuid_r.texi: Likewise.
28015         * doc/posix-functions/readdir_r.texi: Likewise.
28016         * doc/posix-functions/sigwait.texi: Likewise.
28017         * doc/posix-functions/ttyname_r.texi: Likewise.
28018         Reported by Simon Josefsson.
28019
28020 2010-04-25  Bruno Haible  <bruno@clisp.org>
28021
28022         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28023         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28024         also to --create-testdir.
28025         (func_acceptable): Don't consider the status of *-tests modules here.
28026         (func_modules_transitive_closure): Consider it here, before including a
28027         test module.
28028         (func_import, func_create_testdir): Set inc_all_direct_tests,
28029         inc_all_indirect_tests.
28030         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28031         --create-testdir and --create-megatestdir.
28032
28033 2010-04-25  Bruno Haible  <bruno@clisp.org>
28034
28035         gnulib-tool: Add --without-*-tests options.
28036         * gnulib-tool (func_usage): Document the --without-*-tests options.
28037         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28038         excl_unportable_tests): New variables.
28039         Fail if they are specified with --import or --update.
28040         (func_acceptable): Respect the excl_*_tests variables.
28041         (func_import): Set the excl_*_tests variables to empty.
28042
28043 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28044             Bruno Haible  <bruno@clisp.org>
28045
28046         Work around a MacOS X 10.4 bug with openpty.
28047         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28048         * tests/test-openpty.c (main): Close the master side explicitly.
28049
28050 2010-04-25  Bruno Haible  <bruno@clisp.org>
28051
28052         strnlen: Fix a C++ test error on MacOS X and Solaris.
28053         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28054         the function is not declared.
28055         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28056         Simon Josefsson.
28057
28058 2010-04-24  Bruno Haible  <bruno@clisp.org>
28059
28060         Avoid a gcc warning.
28061         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28062         of correct type for %08lx directive.
28063         Reported by Eric Blake.
28064
28065 2010-04-24  Bruno Haible  <bruno@clisp.org>
28066
28067         vasnprintf: Correct errno value in case of out-of-memory.
28068         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28069         or sprintf. Use the errno value from SNPRINTF or sprintf.
28070         Reported by Ian Beckwith <ianb@erislabs.net>.
28071
28072 2010-04-24  Bruno Haible  <bruno@clisp.org>
28073
28074         ansi-c++-opt: Find correct compiler when cross-compiling.
28075         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28076         AC_CHECK_PROGS.
28077         Reported by Simon Josefsson.
28078
28079 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28080
28081         vc-list-files: Add support for subversion
28082         * build-aux/vc-list-files: Use "svn list" to generate the list of
28083         files controlled by subversion.
28084
28085 2010-04-23  Jim Meyering  <meyering@redhat.com>
28086
28087         vc-list-files tests: convert to use init.sh
28088         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28089         path_prepend_.
28090         Use Exit, not exit.
28091         Use skip_ rather than open coding it.
28092         Remove trap set-up and compare definitions.
28093         * tests/test-vc-list-files-git.sh: Likewise.
28094         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28095
28096 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28097
28098         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28099         backup files.
28100
28101 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28102
28103         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28104
28105 2010-04-20  Eric Blake  <eblake@redhat.com>
28106
28107         tests: be robust to ignored SIGPIPE
28108         * tests/test-select-in.sh: Consume all output.
28109         * tests/test-lseek.sh: Check correct exit status, while avoiding
28110         EPIPE.
28111
28112 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28113             Bruno Haible  <bruno@clisp.org>
28114
28115         visibility: Don't use -fvisibility if it leads to a warning.
28116         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28117         yes, don't pretend that visibility works if it leads to a warning.
28118         Reported by Mike Gran <spk121@yahoo.com>.
28119
28120 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28121
28122         * build-aux/bootstrap: Use "git -h" for testing for supported options
28123         instead of "git --help".  The short-form option only shows a summary,
28124         and doesn't layout the full man page.  Grep for the full option name
28125         in the summary, too.
28126
28127 2010-04-19  Bruno Haible  <bruno@clisp.org>
28128
28129         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28130         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28131         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28132         mention of RELOCATABLE_STRIP.
28133         Reported by Sylvain Beucler <beuc@beuc.net>.
28134
28135 2010-04-19  Bruno Haible  <bruno@clisp.org>
28136
28137         * lib/diffseq.h: Fix typo in comment.
28138         Reported by Eric Blake.
28139
28140 2010-04-19  Bruno Haible  <bruno@clisp.org>
28141
28142         ioctl: Move autoconf macro to a .m4 file.
28143         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28144         * modules/ioctl (Files): Add it.
28145         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28146         Reported by Ian Beckwith <ianb@erislabs.net>.
28147
28148 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28149             Bruno Haible  <bruno@clisp.org>
28150
28151         diffseq: Accommodate use-case with abstract arrays.
28152         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28153         is not defined.
28154         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28155         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28156
28157 2010-04-18  Bruno Haible  <bruno@clisp.org>
28158
28159         * doc/posix-headers/stdbool.texi: More precise wording.
28160
28161 2010-04-17  Jim Meyering  <meyering@redhat.com>
28162
28163         maint.mk: use gnu-style indentation in an embedded perl script
28164         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28165         Rename variable: s/two/last_two_bytes/
28166
28167 2010-04-16  Eric Blake  <eblake@redhat.com>
28168
28169         test-stdbool: skip test that fails with Solaris CC
28170         * tests/test-stdbool.c (f): Skip test that causes compilation
28171         error under buggy C++ compiler.
28172         * lib/stdbool.in.h: Document the limitation.
28173         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28174
28175         setenv: allow compilation with C++
28176         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28177         register keyword.
28178
28179         stdint: allow test to pass with C++
28180         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28181
28182         getopt: allow compilation with C++
28183         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28184         struct.
28185         * lib/getopt.c (_getopt_internal_r): Use correct type.
28186         Reported by Dagobert Michelson, via Joel E. Denny.
28187
28188 2010-04-16  Bruno Haible  <bruno@clisp.org>
28189
28190         Override netdb.h always.
28191         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28192         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28193         Reported by Ludovic Courtès <ludo@gnu.org>.
28194
28195 2010-04-15  Bruno Haible  <bruno@clisp.org>
28196
28197         openpty: Fix mistake from 2010-03-21.
28198         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28199         Reported by Simon Josefsson.
28200
28201 2010-04-15  Eric Blake  <eblake@redhat.com>
28202
28203         test-forkpty: fix expected signature
28204         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28205         Reported by Simon Josefsson.
28206
28207 2010-04-15  Jim Meyering  <meyering@redhat.com>
28208
28209         maint.mk: texinfo_suffix_re_: correct the default regexp
28210         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28211
28212         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28213         make it configurable via texinfo_suffix_re_.
28214
28215 2010-04-14  Eric Blake  <eblake@redhat.com>
28216
28217         strtok_r: relax license to LGPLv2+
28218         * modules/strtok_r (License): Relax license.
28219         Reported by Matthias Bolte.
28220
28221 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28222
28223         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28224         version 1.4.4 by default instead of requiring the libgcrypt
28225         version used during build.  This makes it possible to use the
28226         application with older but still binary compatible libgcrypt
28227         versions.
28228
28229 2010-04-13  Eric Blake  <eblake@redhat.com>
28230
28231         getopt-gnu: match recent glibc fixes and posix ruling
28232         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28233         '+' handling, when requesting extensions.
28234         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28235         'W;' handling.
28236         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28237         * doc/posix-functions/getopt.texi (getopt): Document this.
28238         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28239         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28240         Likewise.
28241
28242         getopt: merge bug fixes from glibc
28243         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28244         diagnostics.  Honor '+:' correctly.  Reject ';'.
28245
28246         getopt-posix: detect MacOS bug
28247         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28248         optind when missing a required argument.
28249         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28250         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28251         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28252         Likewise.
28253
28254         getopt-posix: avoid spurious failure on Solaris
28255         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28256         an indicator that setting optind=1 is sufficient for reset.
28257
28258         getopt-posix: avoid spurious failure on FreeBSD
28259         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28260         in POSIX mode, since the m4 test uses it.
28261
28262         gnulib-tool: silence warning on BSD sh
28263         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28264
28265 2010-04-13  Jim Meyering  <meyering@redhat.com>
28266
28267         doc: users.txt: GNU patch now uses gnulib
28268         * users.txt: Add patch.
28269
28270 2010-04-12  Jim Meyering  <meyering@redhat.com>
28271
28272         maint.mk: generate more concise timing data for syntax-check rules
28273         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28274         " done" from each line that reports a syntax-check test duration.
28275
28276 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28277
28278         git-version-gen: use "git update-index..." rather than "git status"
28279         * build-aux/git-version-gen: Use git update-index --refresh, not
28280         "git status".  With some versions of git, "git status" would fail
28281         to update the index and result in an unwarranted "-dirty" suffix.
28282
28283 2010-04-11  Jim Meyering  <meyering@redhat.com>
28284
28285         openat: correct formatting (no semantic change)
28286         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28287         Suggested by Bruno Haible.
28288
28289 2010-04-11  Bruno Haible  <bruno@clisp.org>
28290
28291         Stricter declaration checking in testdirs.
28292         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28293         If for_tests is true, augment AM_CPPFLAGS to define
28294         GNULIB_STRICT_CHECKING.
28295         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28296         GNULIB_STRICT_CHECKING is defined, verify that the function is
28297         declared.
28298
28299 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28300             Bruno Haible  <bruno@clisp.org>
28301
28302         libunistring: Improve configure output.
28303         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28304         Don't say "consider installing GNU libunistring" when checking again
28305         with libiconv.
28306
28307 2010-04-11  Bruno Haible  <bruno@clisp.org>
28308
28309         libunistring: Correct value of $LTLIBUNISTRING.
28310         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28311         correct the value of $LTLIBUNISTRING.
28312
28313 2010-04-11  Bruno Haible  <bruno@clisp.org>
28314
28315         havelib: Add static libraries to LIBS in the right order.
28316         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28317         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28318
28319 2010-04-11  Bruno Haible  <bruno@clisp.org>
28320
28321         libunistring: Detect libunistring also when it depends on libiconv.
28322         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28323         the second AC_LIB_HAVE_LINKFLAGS invocation.
28324
28325 2010-04-11  James Youngman  <jay@gnu.org>
28326
28327         close-stream: declare local scalars to be "const"
28328         * lib/close-stream.c (close_stream): Make boolean variables const
28329         to document the fact that we set but do not change them.
28330
28331 2010-04-11  Bruno Haible  <bruno@clisp.org>
28332
28333         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28334
28335 2010-04-11  Jim Meyering  <meyering@redhat.com>
28336
28337         maint.mk: don't include dist-check.mk
28338         * top/maint.mk: Remove bogus include directive.
28339
28340         maint.mk: improve empty-line-at-EOF check
28341         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28342         solution, rather than tail+Perl-based one.  The latter would read
28343         a few kilobytes from the end of each file, and did not handle empty
28344         files properly.
28345
28346         maint.mk: print the elapsed time for each syntax-check rule
28347         * top/maint.mk (sc_m_rules_): Save start time in a file.
28348         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28349         (local-check): Interpose the .z rules
28350
28351 2010-04-11  Jim Meyering  <meyering@redhat.com>
28352
28353         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28354         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28355         empty file with one that ends in an empty line.
28356
28357 2010-04-10  Bruno Haible  <bruno@clisp.org>
28358
28359         mkdir: Make it work on mingw64.
28360         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28361         * lib/mkdir.c: Update comment.
28362         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
28363
28364 2010-04-10  Bruno Haible  <bruno@clisp.org>
28365
28366         Don't override improved macro from newer autoconf.
28367         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28368         autoconf >= 2.62.
28369         Reported by Joel E. Denny <jdenny@clemson.edu>.
28370
28371 2010-04-10  Jim Meyering  <meyering@redhat.com>
28372
28373         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28374         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28375
28376         maint.mk: correct a diagnostic
28377         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28378         in diagnostic; now use $prohibit.
28379
28380 2010-04-10  Bruno Haible  <address@hidden>
28381
28382         fchownat: Fix a C++ test error on Solaris 8.
28383         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28384         the function does not exist.
28385
28386 2010-04-10  Bruno Haible  <bruno@clisp.org>
28387
28388         vasnprintf: Add more tests.
28389         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28390         (test_function): Test converting an invalid wide string.
28391
28392         vasnprintf: Correct handling of unconvertible wide string arguments.
28393         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28394         VASNPRINTF.
28395         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28396         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28397         smaller than the expected maximum need for the directive. Set errno to
28398         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28399         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28400         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28401         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28402         * modules/vasnprintf (Files): Add m4/printf.m4.
28403         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28404
28405 2010-04-10  Bruno Haible  <bruno@clisp.org>
28406
28407         vasnprintf: Fix crash in %ls directive.
28408         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28409         string is passed as argument to %ls, with no precision and no width.
28410         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28411
28412 2010-04-10  Bruno Haible  <bruno@clisp.org>
28413
28414         vasnprintf: Fix multiple test failures on mingw.
28415         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28416         _snprintf, or snwprintf, not _snwprintf.
28417
28418 2010-04-10  Bruno Haible  <bruno@clisp.org>
28419
28420         write: Fix a C++ test error on mingw.
28421         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28422
28423 2010-04-10  Bruno Haible  <bruno@clisp.org>
28424
28425         vasnprintf test: Reduce code duplication.
28426         * tests/test-vasnprintf.c (test_function): New function, extracted from
28427         test_vasnprintf.
28428         (test_vasnprintf, test_asnprintf): Invoke it.
28429
28430 2010-04-10  Bruno Haible  <bruno@clisp.org>
28431
28432         strnlen: Fix warning in C++ mode on MacOS X.
28433         * lib/string.in.h (strnlen): Use the modern idiom.
28434         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28435         defining strnlen as a macro already in <config.h>.
28436         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28437         REPLACE_STRNLEN.
28438         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28439         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28440
28441 2010-04-08  James Youngman  <jay@gnu.org>
28442
28443         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28444         the example.
28445
28446 2010-04-09  Jim Meyering  <meyering@redhat.com>
28447
28448         maint.mk: print better diagnostic when there is no $(_hv_file)
28449         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28450         announce that when $(_hv_file) (aka help-version) does not exist.
28451
28452         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28453         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28454         not try to interpret its random input bytes.  Jarno Rajahalme reported
28455         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28456         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28457         (mktempd_): Likewise, just in case.
28458
28459         ftruncate: add two years to projected module removal date: 2012
28460         * m4/ftruncate.m4: Adjust comments.
28461
28462         ftruncate: mark module as obsolete; even MinGW provides it, now
28463         * modules/ftruncate (Status): Obsolete.
28464         (Notice): Say that.
28465         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28466         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28467
28468 2010-04-08  Bruno Haible  <bruno@clisp.org>
28469
28470         Fix side effects from tests-related modules.
28471         * modules/dprintf-posix (Comment): New section.
28472         * modules/fprintf-posix (Comment): Likewise.
28473         * modules/obstack-printf-posix (Comment): Likewise.
28474         * modules/printf-posix (Comment): Likewise.
28475         * modules/snprintf-posix (Comment): Likewise.
28476         * modules/sprintf-posix (Comment): Likewise.
28477         * modules/vasnprintf-posix (Comment): Likewise.
28478         * modules/vasprintf-posix (Comment): Likewise.
28479         * modules/vdprintf-posix (Comment): Likewise.
28480         * modules/vfprintf-posix (Comment): Likewise.
28481         * modules/vprintf-posix (Comment): Likewise.
28482         * modules/vsnprintf-posix (Comment): Likewise.
28483         * modules/vsprintf-posix (Comment): Likewise.
28484         * modules/xprintf-posix (Comment): Likewise.
28485         * modules/xvasprintf-posix (Comment): Likewise.
28486         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28487         * modules/floorf-tests (Depends-on): Likewise.
28488         * modules/round-tests (Depends-on): Likewise.
28489         * modules/roundf-tests (Depends-on): Likewise.
28490         * modules/trunc-tests (Depends-on): Likewise.
28491         * modules/truncf-tests (Depends-on): Likewise.
28492         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28493         'fprintf-posix' module is not present.
28494         * tests/test-floorf2.c (check): Likewise.
28495         * tests/test-trunc2.c (check): Likewise.
28496         * tests/test-truncf2.c (check): Likewise.
28497         * tests/test-round2.c (equal): Likewise.
28498         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28499
28500 2010-04-07  Karl Berry  <karl@gnu.org>
28501
28502         * config/srclist.txt,
28503         * config/srclistvars.sh,
28504         * config/srclist-update: doc fixes.
28505
28506 2010-04-07  Jim Meyering  <meyering@redhat.com>
28507
28508         maint.mk: add a PATH crosschecking syntax-check rule
28509         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28510         Useful if you use a test like the one in help-version (coreutils,
28511         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28512         printed by prog --version.
28513
28514 2010-04-06  Bruno Haible  <bruno@clisp.org>
28515
28516         Fix link error on mingw.
28517         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28518         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28519
28520 2010-04-06  Bruno Haible  <bruno@clisp.org>
28521
28522         Assume rmdir exists.
28523         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28524
28525 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28526
28527         doc: update users.txt
28528         * users.txt: Add gcal.
28529
28530 2010-04-06  Jim Meyering  <meyering@redhat.com>
28531
28532         init.sh: simply unset TMPDIR rather than risking env -i
28533         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28534         although it probably works fine on all Unix-based systems, some
28535         systems (Cygwin?) cannot tolerate a totally cleared environment.
28536         Suggestion from Eric Blake.
28537
28538 2010-04-06  Jim Meyering  <meyering@redhat.com>
28539
28540         init.sh: portability fix: use env's POSIX-specified -i option not -u
28541         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28542         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28543
28544 2010-04-05  Bruno Haible  <bruno@clisp.org>
28545
28546         btowc: Work around Cygwin 1.7.2 bug.
28547         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28548         does not map NUL to 0.
28549         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28550
28551 2010-04-05  Bruno Haible  <bruno@clisp.org>
28552
28553         Make the multithread modules work on Cygwin 1.7.2.
28554         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28555         imported symbols can be declared weak, so that it returns "no" on
28556         Cygwin 1.7.2.
28557
28558 2010-04-05  Bruno Haible  <bruno@clisp.org>
28559
28560         Use the module 'strncat'.
28561         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28562
28563         Tests for module 'strncat'.
28564         * modules/strncat-tests: New file.
28565         * tests/test-strncat.c: New file.
28566
28567         New module 'strncat'.
28568         * lib/string.in.h (strncat): New declaration.
28569         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28570         * m4/strncat.m4: New file, based on m4/memchr.m4.
28571         * modules/strncat: New file.
28572         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28573         is declared.
28574         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28575         REPLACE_STRNCAT.
28576         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28577         REPLACE_STRNCAT.
28578         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28579         module.
28580         * tests/test-string-c++.cc: Check signature of strncat.
28581
28582 2010-04-05  Jim Meyering  <meyering@redhat.com>
28583
28584         xstrtoumax-tests: convert to use init.sh
28585         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28586         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28587         Use Exit, not exit.
28588         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28589
28590         xstrtoimax-tests: convert to use init.sh
28591         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28592         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28593         Use Exit, not exit.
28594         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28595
28596 2010-04-05  Bruno Haible  <bruno@clisp.org>
28597
28598         sys_socket: Avoid #define replacements in C++ mode.
28599         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28600         warning to the function if possible, rather than #defining the symbol
28601         to a dysfunctional alias.
28602
28603 2010-04-05  Bruno Haible  <bruno@clisp.org>
28604
28605         fseeko: Fix C++ test error on mingw.
28606         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28607         gl_FUNC_FSEEKO.
28608         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28609         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28610         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28611         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28612
28613 2010-04-05  Bruno Haible  <bruno@clisp.org>
28614
28615         duplocale: Improve test output.
28616         * tests/test-duplocale.c (main): Print reason for skipped test.
28617
28618 2010-04-05  Bruno Haible  <bruno@clisp.org>
28619
28620         Assume rmdir exists.
28621         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28622         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28623
28624 2010-04-05  Bruno Haible  <bruno@clisp.org>
28625
28626         Fix link error on Solaris 8 with cc.
28627         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28628
28629 2010-04-05  Bruno Haible  <bruno@clisp.org>
28630
28631         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28632         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28633
28634 2010-04-05  Bruno Haible  <bruno@clisp.org>
28635
28636         vasprintf: Update documentation.
28637         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28638
28639 2010-04-05  Bruno Haible  <bruno@clisp.org>
28640
28641         ptsname: Improve test.
28642         * tests/test-ptsname.c (main): Also try the various master names of BSD
28643         systems.
28644
28645 2010-04-05  Bruno Haible  <bruno@clisp.org>
28646
28647         memchr: Avoid a possible C++ test error.
28648         * lib/string.in.h (memchr): Provide declaration if function is missing.
28649         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28650         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28651         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28652         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28653
28654 2010-04-05  Bruno Haible  <bruno@clisp.org>
28655
28656         strtok_r: Improve idiom.
28657         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28658         AC_LIBOBJ is used.
28659
28660 2010-04-05  Bruno Haible  <bruno@clisp.org>
28661
28662         strdup: Improve idiom.
28663         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28664         AC_LIBOBJ is used.
28665         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28666         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28667         when AC_LIBOBJ is used.
28668
28669 2010-04-05  Bruno Haible  <bruno@clisp.org>
28670
28671         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28672         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28673         don't set REPLACE_MBSINIT to 1.
28674         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28675         don't set REPLACE_MBRTOWC to 1.
28676         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28677         exist, don't set REPLACE_MBSRTOWCS to 1.
28678         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28679         exist, don't set REPLACE_MBSNRTOWCS to 1.
28680         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28681         don't set REPLACE_WCRTOMB to 1.
28682         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28683         exist, don't set REPLACE_WCSRTOMBS to 1.
28684         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28685         exist, don't set REPLACE_WCSNRTOMBS to 1.
28686
28687 2010-04-05  Bruno Haible  <bruno@clisp.org>
28688
28689         ldexpl: Improve idiom.
28690         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28691         make sure to set HAVE_DECL_LDEXPL to 0.
28692
28693 2010-04-05  Jim Meyering  <meyering@redhat.com>
28694
28695         xstrtol-tests: convert to use init.sh
28696         * modules/xstrtol-tests (Files): Add tests/init.sh.
28697         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28698         Use Exit, not exit.
28699         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28700
28701         atexit-tests: convert to use init.sh
28702         * modules/atexit-tests (Files): Add tests/init.sh.
28703         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28704         Use Exit, not exit.
28705         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28706
28707         init.sh: fix typo
28708         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28709
28710         init.sh: make it easier for a test script to write to the tty, ...
28711         when using automake's parallel-tests mode.
28712         * tests/init.sh (stderr_fileno_): Define overridable variable.
28713         (warn_): New function, to use it.
28714         (fail_, skip_, framework_failure_): Use warn_.
28715
28716 2010-04-04  Bruno Haible  <bruno@clisp.org>
28717
28718         btowc: Avoid warning.
28719         * lib/btowc.c: Include <stdlib.h>.
28720         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28721
28722 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28723             Bruno Haible  <bruno@clisp.org>
28724
28725         wchar: Port to NetBSD 1.5.
28726         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28727         * lib/wctype.in.h (WEOF): Likewise.
28728
28729 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28730             Bruno Haible  <bruno@clisp.org>
28731
28732         Port extended stdio to NetBSD 1.5.
28733         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28734         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28735         older.
28736
28737 2010-04-04  Bruno Haible  <bruno@clisp.org>
28738
28739         string: Remove unused substitution.
28740         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28741         HAVE_DECL_STRERROR.
28742         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28743
28744 2010-04-04  Bruno Haible  <bruno@clisp.org>
28745
28746         strtod: Avoid a possible C++ test error.
28747         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28748         set REPLACE_STRTOD.
28749
28750 2010-04-04  Bruno Haible  <bruno@clisp.org>
28751
28752         strerror: Update documentation.
28753         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28754
28755 2010-04-04  Bruno Haible  <bruno@clisp.org>
28756
28757         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28758         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28759         _GL_CXXALIAS_SYS_CAST.
28760
28761 2010-04-04  Bruno Haible  <bruno@clisp.org>
28762
28763         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28764         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28765         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28766         REPLACE_FREXPL to 1.
28767         * doc/posix-functions/frexpl.texi: Update documentation.
28768
28769 2010-04-04  Bruno Haible  <bruno@clisp.org>
28770
28771         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28772         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28773
28774 2010-04-04  Bruno Haible  <bruno@clisp.org>
28775
28776         Implement nanosleep for native Windows.
28777         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28778
28779 2010-04-04  Bruno Haible  <bruno@clisp.org>
28780
28781         math: Fix some C++ test errors on Solaris 8.
28782         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28783
28784 2010-04-04  Bruno Haible  <bruno@clisp.org>
28785
28786         math: Fix some C++ test errors on Cygwin.
28787         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28788         truncl): Provide declaration if the system does not have it.
28789         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28790         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28791         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28792         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28793         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28794         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28795         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28796         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28797         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
28798         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
28799         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
28800         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
28801         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
28802         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
28803         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
28804         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
28805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
28806         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28807         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28808         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
28809         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28810         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28811
28812 2010-04-04  Bruno Haible  <bruno@clisp.org>
28813
28814         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28815         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28816         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28817         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28818         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28819         * m4/isinf.m4 (gl_ISINF): Likewise.
28820         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28821
28822 2010-04-04  Bruno Haible  <bruno@clisp.org>
28823
28824         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28825         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28826
28827 2010-04-04  Bruno Haible  <bruno@clisp.org>
28828
28829         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28830         * modules/tmpfile (configure.ac): Update.
28831
28832         tmpfile: Fix C++ test error on mingw.
28833         * lib/stdio.in.h (tmpfile): New declaration.
28834         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28835         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28836         * modules/tmpfile (Depends-on): Add stdio.
28837         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28838         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28839         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28840         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28841         REPLACE_TMPFILE.
28842         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28843
28844 2010-04-04  Bruno Haible  <bruno@clisp.org>
28845
28846         ioctl: Fix C++ test error on mingw.
28847         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28848         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28849         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28850
28851 2010-04-03  Bruno Haible  <bruno@clisp.org>
28852
28853         wcwidth: Fix C++ test error on mingw.
28854         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28855         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28856         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28857
28858 2010-04-03  Bruno Haible  <bruno@clisp.org>
28859
28860         nanosleep: Fix C++ test error on mingw.
28861         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28862         * lib/time.in.h (nanosleep): Use modern idiom.
28863         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28864         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28865         REPLACE_NANOSLEEP to 1.
28866         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28867         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28868
28869 2010-04-03  Bruno Haible  <bruno@clisp.org>
28870
28871         strptime: Fix C++ test error on mingw.
28872         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28873         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28874         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28875         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28876         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28877         not REPLACE_STRPTIME.
28878         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28879         REPLACE_STRPTIME.
28880
28881 2010-04-03  Bruno Haible  <bruno@clisp.org>
28882
28883         timegm: Fix C++ test error on mingw.
28884         * lib/time.in.h (timegm): Use modern idiom.
28885         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28886         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28887         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28888         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28889
28890 2010-04-03  Bruno Haible  <bruno@clisp.org>
28891
28892         timegm: Assume declaration if function exists.
28893         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28894         if it exists. Don't clobber ac_cv_func_timegm.
28895
28896 2010-04-03  Bruno Haible  <bruno@clisp.org>
28897
28898         time_r: Fix C++ test error on mingw.
28899         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28900         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28901         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28902         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28903         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28904
28905 2010-04-03  Bruno Haible  <bruno@clisp.org>
28906
28907         time_r: Minor updates.
28908         * modules/time_r (Description): Mention the provided functions.
28909         * lib/time_r.c: Don't include <string.h>.
28910         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28911         * doc/posix-functions/localtime_r.texi: Likewise.
28912
28913 2010-04-03  Bruno Haible  <bruno@clisp.org>
28914
28915         time: Fix regression introduced on 2010-03-08.
28916         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
28917         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
28918
28919 2010-04-03  Jim Meyering  <meyering@redhat.com>
28920
28921         maint.mk: don't silently disable project-specific syntax-check rules
28922         * top/maint.mk (_prohibit_regexp): Define, to help people realize
28923         that they need to convert their project-specific syntax-check rules
28924         to use the new _sc_search_regexp.
28925
28926 2010-04-03  Bruno Haible  <bruno@clisp.org>
28927
28928         fchdir: Fix regression introduced on 2010-03-08.
28929         * lib/unistd.in.h (fchdir): Fix declaration.
28930         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
28931         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
28932         REPLACE_FCHDIR.
28933         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
28934         REPLACE_FCHDIR.
28935
28936 2010-04-03  Bruno Haible  <bruno@clisp.org>
28937
28938         getpagesize: Fix C++ test error on mingw.
28939         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
28940         system does not declare the function.
28941         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
28942         declared.
28943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28944         HAVE_DECL_GETPAGESIZE.
28945         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
28946
28947 2010-04-03  Bruno Haible  <bruno@clisp.org>
28948
28949         stdio: Make C++ tests work on mingw.
28950         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
28951         does not declare the function.
28952
28953 2010-04-03  Bruno Haible  <bruno@clisp.org>
28954
28955         ftello: Fix C++ test error on mingw.
28956         * lib/stdio.in.h (ftello): Use modern idiom.
28957         * lib/ftello.c (ftello): Renamed from rpl_ftello.
28958         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
28959         is missing and that it needs to be replaced.
28960         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
28961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
28962         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
28963
28964 2010-04-03  Bruno Haible  <bruno@clisp.org>
28965
28966         fseeko: Fix C++ test error on mingw.
28967         * lib/stdio.in.h (fseeko): Use modern idiom.
28968         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
28969         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
28970         is missing and that it needs to be replaced.
28971         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
28972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
28973         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
28974
28975 2010-04-03  Bruno Haible  <bruno@clisp.org>
28976
28977         mkstemp: Fix C++ test error on mingw.
28978         * lib/stdlib.in.h (mkstemp): Use modern idiom.
28979         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
28980         function is missing and that it needs to be replaced.
28981         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
28982         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
28983
28984 2010-04-03  Bruno Haible  <bruno@clisp.org>
28985
28986         stpncpy: Fix C++ test error on mingw.
28987         * lib/string.in.h (stpncpy): Use modern idiom.
28988         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
28989         function is missing and that it needs to be replaced.
28990         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28991         REPLACE_STPNCPY.
28992         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
28993
28994 2010-04-03  Bruno Haible  <bruno@clisp.org>
28995
28996         sys_stat: Fix C++ test error on mingw.
28997         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
28998         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
28999
29000 2010-04-03  Bruno Haible  <bruno@clisp.org>
29001
29002         pty: Update doc.
29003         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29004
29005 2010-04-03  Bruno Haible  <bruno@clisp.org>
29006
29007         unistd: Fix C++ test error on mingw.
29008         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29009
29010 2010-04-03  Bruno Haible  <bruno@clisp.org>
29011
29012         Update doc regarding mingw.
29013         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29014         * doc/glibc-functions/login_tty.texi: Likewise.
29015         * doc/glibc-functions/forkpty.texi: Likewise.
29016
29017 2010-04-03  Bruno Haible  <bruno@clisp.org>
29018
29019         stdlib: Avoid compilation failure of c-strtold on mingw.
29020         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29021
29022 2010-04-03  Bruno Haible  <bruno@clisp.org>
29023
29024         locale: Make C++ tests work on Cygwin and mingw.
29025         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29026         cannot provide the function.
29027         Reported by Simon Josefsson.
29028
29029 2010-04-03  Bruno Haible  <bruno@clisp.org>
29030
29031         localename: Port to MacOS X 10.6.
29032         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29033         memory layout of the locales in MacOS X 10.6 as well.
29034         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29035
29036 2010-04-02  Bruno Haible  <bruno@clisp.org>
29037
29038         gnulib-tool: Ensure that long-running tests are executed last.
29039         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29040         running tests after the one for the other tests.
29041
29042 2010-04-02  Bruno Haible  <bruno@clisp.org>
29043
29044         gnulib-tool: Ensure the tests in the main directory are executed first.
29045         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29046         start with the current directory.
29047
29048 2010-04-02  Bruno Haible  <bruno@clisp.org>
29049
29050         Tests for module 'havelib', moved here from GNU gettext.
29051         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29052         modifications.
29053         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29054         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29055         with modifications.
29056         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29057         modifications.
29058         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29059         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29060         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29061         with modifications.
29062         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29063         with modifications.
29064         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29065         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29066         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29067         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29068         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29069         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29070         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29071         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29072         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29073         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29074         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29075         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29076         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29077         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29078         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29079         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29080         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29081         with modifications.
29082         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29083         with modifications.
29084         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29085         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29086         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29087         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29088         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29089         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29090         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29091         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29092         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29093         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29094         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29095         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29096         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29097         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29098         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29099         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29100         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29101         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29102         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29103         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29104         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29105         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29106         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29107         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29108         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29109         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29110         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29111         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29112         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29113         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29114         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29115         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29116         * tests/havelib/rpathx/rpathx.c: New file, from
29117         gettext/autoconf-lib-link.
29118         * tests/havelib/rpathx/Makefile.am: New file, from
29119         gettext/autoconf-lib-link.
29120         * tests/havelib/rpathx/configure.ac: New file, from
29121         gettext/autoconf-lib-link with modifications.
29122         * tests/havelib/rpathy/rpathy.c: New file, from
29123         gettext/autoconf-lib-link.
29124         * tests/havelib/rpathy/Makefile.am: New file, from
29125         gettext/autoconf-lib-link.
29126         * tests/havelib/rpathy/configure.ac: New file, from
29127         gettext/autoconf-lib-link with modifications.
29128         * tests/havelib/rpathz/rpathz.c: New file, from
29129         gettext/autoconf-lib-link.
29130         * tests/havelib/rpathz/Makefile.am: New file, from
29131         gettext/autoconf-lib-link.
29132         * tests/havelib/rpathz/configure.ac: New file, from
29133         gettext/autoconf-lib-link with modifications.
29134         * tests/havelib/rpathlx/usex.c: New file, from
29135         gettext/autoconf-lib-link.
29136         * tests/havelib/rpathlx/Makefile.am: New file, from
29137         gettext/autoconf-lib-link.
29138         * tests/havelib/rpathlx/configure.ac: New file, from
29139         gettext/autoconf-lib-link with modifications.
29140         * tests/havelib/rpathly/usey.c: New file, from
29141         gettext/autoconf-lib-link.
29142         * tests/havelib/rpathly/Makefile.am: New file, from
29143         gettext/autoconf-lib-link.
29144         * tests/havelib/rpathly/configure.ac: New file, from
29145         gettext/autoconf-lib-link with modifications.
29146         * tests/havelib/rpathlz/usez.c: New file, from
29147         gettext/autoconf-lib-link.
29148         * tests/havelib/rpathlz/Makefile.am: New file, from
29149         gettext/autoconf-lib-link.
29150         * tests/havelib/rpathlz/configure.ac: New file, from
29151         gettext/autoconf-lib-link with modifications.
29152         * tests/havelib/rpathlyx/usey.c: New file, from
29153         gettext/autoconf-lib-link.
29154         * tests/havelib/rpathlyx/Makefile.am: New file, from
29155         gettext/autoconf-lib-link.
29156         * tests/havelib/rpathlyx/configure.ac: New file, from
29157         gettext/autoconf-lib-link with modifications.
29158         * tests/havelib/rpathlzyx/usez.c: New file, from
29159         gettext/autoconf-lib-link.
29160         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29161         gettext/autoconf-lib-link.
29162         * tests/havelib/rpathlzyx/configure.ac: New file, from
29163         gettext/autoconf-lib-link with modifications.
29164         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29165         with modifications.
29166
29167 2010-04-02  Bruno Haible  <bruno@clisp.org>
29168
29169         gnulib-tool: Create distributed built sources also for the tests.
29170         * gnulib-tool (func_create_testdir): Also generate distributed built
29171         sources in the tests directory.
29172
29173 2010-04-02  Bruno Haible  <bruno@clisp.org>
29174
29175         gnulib-tool: Obey user's environment variables.
29176         * gnulib-tool (func_create_testdir): When creating built sources,
29177         respect the environment variables for autoconf, automake, etc. given by
29178         the user.
29179
29180 2010-04-02  Bruno Haible  <bruno@clisp.org>
29181
29182         gnulib-tool: Provide the value of --m4-base to modules.
29183         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29184         of gl_m4_base.
29185
29186 2010-04-02  Eric Blake  <eblake@redhat.com>
29187
29188         maint.mk: fix some fallout
29189         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29190         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29191
29192 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29193
29194         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29195         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29196         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29197         (sc_cast_of_x_alloc_return_value): Likewise.
29198         (sc_cast_of_alloca_return_value): Likewise.
29199         (sc_space_tab): Likewise.
29200         (sc_prohibit_atoi_atof): Likewise.
29201         (sc_prohibit_magic_number_exit): Likewise.
29202         (sc_error_exit_success): Likewise.
29203         (sc_file_system): Likewise.
29204         (sc_prohibit_have_config_h): Likewise.
29205         (sc_require_config_h): Likewise.
29206         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29207         (sc_obsolete_symbols): Likewise.
29208         (sc_changelog): Likewise.
29209         (sc_program_name): Likewise.
29210         (sc_the_the): Likewise.
29211         (sc_trailing_blank): Likewise.
29212         (sc_two_space_separator_in_usage): Likewise.
29213         (sc_useless_cpp_parens): Likewise.
29214         (sc_GPL_version): Likewise.
29215         (sc_GFDL_version): Likewise.
29216         (sc_texinfo_acronym): Likewise.
29217         (sc_prohibit_cvs_keyword): Likewise.
29218         (sc_prohibit_stat_st_blocks): Likewise.
29219         (sc_prohibit_S_IS_definition): Likewise.
29220         (sc_redundant_const): Likewise.
29221         (sc_makefile_TAB_only_indentation): Likewise.
29222         (sc_m4_quote_check): Likewise.
29223         (sc_makefile_path_separator_check): Likewise.
29224         (sc_copyright_check): Likewise.
29225         (sc_Wundef_boolean): Likewise.
29226         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29227
29228         maint.mk: match 0 or more whitespace-before-function-call '('
29229         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29230         that have zero or two-and-more spaces between the function name
29231         and the open parenthesis.
29232         (sc_error_message_warn_fatal): Likewise.
29233         (sc_error_message_uppercase): Likewise.
29234         (sc_error_message_period): Likewise.
29235
29236 2010-03-31  Eric Blake  <eblake@redhat.com>
29237
29238         maint.mk: check for [ as well as test
29239         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29240         Based on a libvirt report by Matthias Bolte.
29241
29242         gnumakefile: don't squelch _version output
29243         * top/GNUmakefile (_version): Create one-shot dependency rather
29244         than using $(shell) when version must be regenerated.
29245         (_autoreconf): Run verbosely, by default.
29246
29247         sys_time: avoid compiler warnings
29248         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29249         unconditional, fixing regression from 2010-03-29.
29250         Reported by Simon Josefsson.
29251
29252 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29253
29254         maint.mk: s/_header_without_use/_sc_header_without_use/
29255         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29256         (sc_prohibit_assert_without_use): Use the new name.
29257         (sc_prohibit_close_stream_without_use): Likewise.
29258         (sc_prohibit_getopt_without_use): Likewise.
29259         (sc_prohibit_quotearg_without_use): Likewise.
29260         (sc_prohibit_quote_without_use): Likewise.
29261         (sc_prohibit_long_options_without_use): Likewise.
29262         (sc_prohibit_inttostr_without_use): Likewise.
29263         (sc_prohibit_ignore_value_without_use): Likewise.
29264         (sc_prohibit_error_without_use): Likewise.
29265         (sc_prohibit_xalloc_without_use): Likewise.
29266         (sc_prohibit_hash_without_use): Likewise.
29267         (sc_prohibit_hash_pjw_without_use): Likewise.
29268         (sc_prohibit_safe_read_without_use): Likewise.
29269         (sc_prohibit_argmatch_without_use): Likewise.
29270         (sc_prohibit_canonicalize_without_use): Likewise.
29271         (sc_prohibit_root_dev_ino_without_use): Likewise.
29272         (sc_prohibit_openat_without_use): Likewise.
29273         (sc_prohibit_c_ctype_without_use): Likewise.
29274         (sc_prohibit_signal_without_use): Likewise.
29275         (sc_prohibit_intprops_without_use): Likewise.
29276
29277 2010-03-30  Eric Blake  <eblake@redhat.com>
29278
29279         maint: improve module indicators
29280         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29281         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29282         columns, and avoid extra macro expansion.
29283
29284         fdopendir: work around FreeBSD bug
29285         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29286         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29287         * modules/dirent (Makefile.am): Substitute it.
29288         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29289         declaration.
29290         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29291         fix.
29292         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29293
29294 2010-03-29  Bruno Haible  <bruno@clisp.org>
29295
29296         Emit #pragma system_header after the inclusion guard, not before.
29297         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29298         guard that spans the entire file, not before. This enables an
29299         optimization in GCC's preprocessor.
29300         * lib/ctype.in.h: Likewise.
29301         * lib/dirent.in.h: Likewise.
29302         * lib/errno.in.h: Likewise.
29303         * lib/float.in.h: Likewise.
29304         * lib/getopt.in.h: Likewise.
29305         * lib/iconv.in.h: Likewise.
29306         * lib/langinfo.in.h: Likewise.
29307         * lib/locale.in.h: Likewise.
29308         * lib/math.in.h: Likewise.
29309         * lib/netdb.in.h: Likewise.
29310         * lib/netinet_in.in.h: Likewise.
29311         * lib/pty.in.h: Likewise.
29312         * lib/sched.in.h: Likewise.
29313         * lib/se-selinux.in.h: Likewise.
29314         * lib/search.in.h: Likewise.
29315         * lib/spawn.in.h: Likewise.
29316         * lib/stdarg.in.h: Likewise.
29317         * lib/stdint.in.h: Likewise.
29318         * lib/string.in.h: Likewise.
29319         * lib/strings.in.h: Likewise.
29320         * lib/sys_file.in.h: Likewise.
29321         * lib/sys_ioctl.in.h: Likewise.
29322         * lib/sys_time.in.h: Likewise.
29323         * lib/sys_times.in.h: Likewise.
29324         * lib/sys_utsname.in.h: Likewise.
29325         * lib/sys_wait.in.h: Likewise.
29326         * lib/sysexits.in.h: Likewise.
29327         * lib/wctype.in.h: Likewise.
29328
29329 2010-03-28  James Youngman  <jay@gnu.org>
29330
29331         save-cwd: don't leak a file descriptor when the caller execs.
29332         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29333         saved file descriptor.
29334         * modules/save-cwd (Depends-on): Depend on cloexec.
29335
29336 2010-03-29  Bruno Haible  <bruno@clisp.org>
29337
29338         Remove vestiges of fts-lgpl module.
29339         * lib/fts_.h: Assume GNULIB_FTS is 1.
29340         * lib/fts.c: Likewise.
29341         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29342
29343 2010-03-28  Bruno Haible  <bruno@clisp.org>
29344
29345         Fix definition of tests witness macro.
29346         * gnulib-tool (func_import): Fix definition of witness macro.
29347
29348 2010-03-28  Bruno Haible  <bruno@clisp.org>
29349
29350         Fix ioctl's protoype on glibc systems.
29351         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29352         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29353         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29354         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29355         signature. If not, arrange to replace the ioctl function.
29356         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29357         REPLACE_IOCTL.
29358         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29359         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29360         Reported by Ludovic Courtès <ludo@gnu.org>.
29361
29362 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29363
29364         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29365         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29366         made it so grep -r --include=GLOB* ... did not work.
29367
29368 2010-03-26  Jim Meyering  <meyering@redhat.com>
29369             Eric Blake  <eblake@redhat.com>
29370
29371         maint.mk: prohibit use of test's -o and -a operators
29372         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29373
29374 2010-03-28  Bruno Haible  <bruno@clisp.org>
29375
29376         Remove unused GNULIB_XYZ macro definitions.
29377         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29378         invocation.
29379
29380 2010-03-28  Bruno Haible  <bruno@clisp.org>
29381
29382         Mark privileged tests modules.
29383         * modules/idpriv-drop-tests (Status): New section.
29384         * modules/idpriv-droptemp-tests (Status): New section.
29385
29386 2010-03-28  Bruno Haible  <bruno@clisp.org>
29387
29388         Split C++ tests into separate tests modules.
29389         * modules/dirent-c++-tests: New file, extracted from
29390         modules/dirent-tests.
29391         * modules/dirent-tests: Depend on it.
29392         * modules/fcntl-h-c++-tests: New file, extracted from
29393         modules/fcntl-h-tests.
29394         * modules/fcntl-h-tests: Depend on it.
29395         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29396         * modules/glob-tests: Depend on it.
29397         * modules/iconv-h-c++-tests: New file, extracted from
29398         modules/iconv-h-tests.
29399         * modules/iconv-h-tests: Depend on it.
29400         * modules/langinfo-c++-tests: New file, extracted from
29401         modules/langinfo-tests.
29402         * modules/langinfo-tests: Depend on it.
29403         * modules/locale-c++-tests: New file, extracted from
29404         modules/locale-tests.
29405         * modules/locale-tests: Depend on it.
29406         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29407         * modules/math-tests: Depend on it.
29408         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29409         * modules/pty-tests: Depend on it.
29410         * modules/search-c++-tests: New file, extracted from
29411         modules/search-tests.
29412         * modules/search-tests: Depend on it.
29413         * modules/signal-c++-tests: New file, extracted from
29414         modules/signal-tests.
29415         * modules/signal-tests: Depend on it.
29416         * modules/spawn-c++-tests: New file, extracted from
29417         modules/spawn-tests.
29418         * modules/spawn-tests: Depend on it.
29419         * modules/stdio-c++-tests: New file, extracted from
29420         modules/stdio-tests.
29421         * modules/stdio-tests: Depend on it.
29422         * modules/stdlib-c++-tests: New file, extracted from
29423         modules/stdlib-tests.
29424         * modules/stdlib-tests: Depend on it.
29425         * modules/string-c++-tests: New file, extracted from
29426         modules/string-tests.
29427         * modules/string-tests: Depend on it.
29428         * modules/sys_ioctl-c++-tests: New file, extracted from
29429         modules/sys_ioctl-tests.
29430         * modules/sys_ioctl-tests: Depend on it.
29431         * modules/sys_select-c++-tests: New file, extracted from
29432         modules/sys_select-tests.
29433         * modules/sys_select-tests: Depend on it.
29434         * modules/sys_socket-c++-tests: New file, extracted from
29435         modules/sys_socket-tests.
29436         * modules/sys_socket-tests: Depend on it.
29437         * modules/sys_stat-c++-tests: New file, extracted from
29438         modules/sys_stat-tests.
29439         * modules/sys_stat-tests: Depend on it.
29440         * modules/sys_time-c++-tests: New file, extracted from
29441         modules/sys_time-tests.
29442         * modules/sys_time-tests: Depend on it.
29443         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29444         * modules/time-tests: Depend on it.
29445         * modules/unistd-c++-tests: New file, extracted from
29446         modules/unistd-tests.
29447         * modules/unistd-tests: Depend on it.
29448         * modules/wchar-c++-tests: New file, extracted from
29449         modules/wchar-tests.
29450         * modules/wchar-tests: Depend on it.
29451         * modules/wctype-c++-tests: New file, extracted from
29452         modules/wctype-tests.
29453         * modules/wctype-tests: Depend on it.
29454         Reported by Simon Josefsson.
29455
29456 2010-03-28  Bruno Haible  <bruno@clisp.org>
29457
29458         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29459         * gnulib-tool (func_exists_module): New function, extracted from
29460         func_verify_module.
29461         (func_verify_module): Use it.
29462         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29463         'foo' only if 'foo' exists.
29464         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29465         module.
29466
29467 2010-03-28  Bruno Haible  <bruno@clisp.org>
29468
29469         gnulib-tool: Add support for special categories of tests.
29470         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29471         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29472         (func_usage): Document them.
29473         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29474         inc_unportable_tests, inc_all_tests): New variables.
29475         (func_acceptable): Consider these variables.
29476         (func_modules_transitive_closure): Make it work when the 'Status' field
29477         consists of multiple words.
29478         (func_import): Store and restore the values of inc_cxx_tests,
29479         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29480         inc_all_tests in gnulib-comp.m4.
29481         (func_create_testdir): Set inc_all_tests to true.
29482         * doc/gnulib.texi (Extra tests modules): New section.
29483         Suggested by Jim Meyering.
29484
29485 2010-03-28  Bruno Haible  <bruno@clisp.org>
29486
29487         ansi-c++-opt: Allow turning off the C++ build by default.
29488         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29489         gl_CXX_CHOICE_DEFAULT_NO is defined.
29490         Requested by Eric Blake.
29491
29492 2010-03-28  Bruno Haible  <bruno@clisp.org>
29493
29494         unistd: Avoid #define replacements in C++ mode.
29495         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29496         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29497         setsockopt, shutdown, select): In C++, attach a warning to the function
29498         if possible, rather than #defining the symbol to a dysfunctional alias.
29499         Reported by John W. Eaton <jwe@gnu.org>.
29500
29501 2010-03-28  Bruno Haible  <bruno@clisp.org>
29502
29503         Fix link errors on mingw.
29504         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29505         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29506         $(LIBSOCKET).
29507         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29508         $(LIBSOCKET).
29509
29510 2010-03-28  Bruno Haible  <bruno@clisp.org>
29511             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29512
29513         lib-ignore: Determine different options for different compilers.
29514         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29515         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29516         Add comments.
29517         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29518         * NEWS: Mention the change.
29519
29520 2010-03-27  Bruno Haible  <bruno@clisp.org>
29521
29522         Remove unused GNULIB_XYZ macro definitions.
29523         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29524         * modules/fseek (configure.ac): Likewise.
29525         * modules/ioctl (configure.ac): Likewise.
29526         * modules/open (configure.ac): Likewise.
29527         * modules/stdlib-safer (configure.ac): Likewise.
29528
29529 2010-03-27  Bruno Haible  <bruno@clisp.org>
29530
29531         Add a remark about certain modules.
29532         * modules/malloc (Comment): New section.
29533         * modules/realloc (Comment): Likewise.
29534         * modules/sigpipe (Comment): Likewise.
29535
29536 2010-03-27  Bruno Haible  <bruno@clisp.org>
29537
29538         Resolve conflict between the two kinds of module indicators.
29539         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29540         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29541         * modules/canonicalize (configure.ac): Invoke
29542         gl_MODULE_INDICATOR_FOR_TESTS.
29543         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29544         GNULIB_XYZ.
29545         * tests/test-dirent-c++.cc: Likewise.
29546         * tests/test-dirent-safer.c: Likewise.
29547         * tests/test-dup2.c: Likewise.
29548         * tests/test-fchdir.c: Likewise.
29549         * tests/test-fcntl-h-c++.cc: Likewise.
29550         * tests/test-getopt.c: Likewise.
29551         * tests/test-getopt.h: Likewise.
29552         * tests/test-langinfo-c++.cc: Likewise.
29553         * tests/test-locale-c++.cc: Likewise.
29554         * tests/test-math-c++.cc: Likewise.
29555         * tests/test-pty-c++.cc: Likewise.
29556         * tests/test-search-c++.cc: Likewise.
29557         * tests/test-signal-c++.cc: Likewise.
29558         * tests/test-spawn-c++.cc: Likewise.
29559         * tests/test-stdio-c++.cc: Likewise.
29560         * tests/test-stdlib-c++.cc: Likewise.
29561         * tests/test-string-c++.cc: Likewise.
29562         * tests/test-sys_ioctl-c++.cc: Likewise.
29563         * tests/test-sys_select-c++.cc: Likewise.
29564         * tests/test-sys_socket-c++.cc: Likewise.
29565         * tests/test-sys_stat-c++.cc: Likewise.
29566         * tests/test-sys_time-c++.cc: Likewise.
29567         * tests/test-time-c++.cc: Likewise.
29568         * tests/test-unistd-c++.cc: Likewise.
29569         * tests/test-wchar-c++.cc: Likewise.
29570         * tests/uninorm/test-u8-nfc.c: Likewise.
29571         * tests/uninorm/test-u8-nfd.c: Likewise.
29572         * tests/uninorm/test-u8-nfkc.c: Likewise.
29573         * tests/uninorm/test-u8-nfkd.c: Likewise.
29574         * tests/uninorm/test-u16-nfc.c: Likewise.
29575         * tests/uninorm/test-u16-nfd.c: Likewise.
29576         * tests/uninorm/test-u16-nfkc.c: Likewise.
29577         * tests/uninorm/test-u16-nfkd.c: Likewise.
29578         * tests/uninorm/test-u32-nfc.c: Likewise.
29579         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29580         * tests/uninorm/test-u32-nfd.c: Likewise.
29581         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29582         * tests/uninorm/test-u32-nfkc.c: Likewise.
29583         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29584         * tests/uninorm/test-u32-nfkd.c: Likewise.
29585         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29586         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29587
29588 2010-03-27  Bruno Haible  <bruno@clisp.org>
29589
29590         Distinguish two kinds of module indicators.
29591         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29592         gl_MODULE_INDICATOR.
29593         (gl_MODULE_INDICATOR): New macro.
29594         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29595         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29596         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29597         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29598         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29599         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29600         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29601         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29602         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29603         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29604         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29605         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29606         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29607         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29608         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29609         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29610         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29611         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29612         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29613         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29614         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29615         * modules/cloexec (configure.ac): Likewise.
29616         * modules/getopt-gnu (configure.ac): Likewise.
29617         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29618         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29619         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29620         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29621
29622 2010-03-27  Bruno Haible  <bruno@clisp.org>
29623
29624         New module description field 'Comment'.
29625         * gnulib-tool: New option --extract-comment.
29626         (func_usage): Document it.
29627         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29628         (func_get_comment): New function.
29629         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29630
29631 2010-03-27  Bruno Haible  <bruno@clisp.org>
29632
29633         Addendum to 2010-02-07 commit.
29634         * gnulib-tool (func_usage): Document --extract-applicability option.
29635
29636 2010-03-27  Bruno Haible  <bruno@clisp.org>
29637
29638         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29639         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29640         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29641         rather than link errors.
29642
29643 2010-03-27  Bruno Haible  <bruno@clisp.org>
29644
29645         Avoid side effects from tests-related modules on the compilation of lib.
29646         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29647         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29648         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29649         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29650         macro.
29651         (func_import): Define a witness macro. Assign it a value that depends
29652         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29653         tests-related modules.
29654         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29655         Reported by Jim Meyering.
29656
29657 2010-03-27  Bruno Haible  <bruno@clisp.org>
29658
29659         Factorize common .m4 code.
29660         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29661         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29662         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29663         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29664         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29665         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29666         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29667         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29668         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29669         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29670         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29671         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29672         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29673         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29674         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29675         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29676         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29677         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29678         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29679         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29680         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29681         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29682         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29683         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29684         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29685         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29686         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29687         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29688         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29689         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29690         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29691         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29692
29693 2010-03-27  Bruno Haible  <bruno@clisp.org>
29694
29695         Fix a compilation error on Cygwin with g++ >= 4.3.
29696         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29697         if it is undefined or if we alias it to chmod.
29698         (lstat): Don't warn about the use of this function if it is undefined
29699         or if we alias it to stat.
29700         Reported by Simon Josefsson.
29701
29702 2010-03-27  Bruno Haible  <bruno@clisp.org>
29703
29704         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29705         * modules/getlogin (configure.ac): Update.
29706
29707         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29708         * modules/getlogin_r (configure.ac): Update.
29709
29710         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29711         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29712         * modules/inet_ntop (configure.ac): Update.
29713
29714         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29715         * modules/inet_pton (configure.ac): Update.
29716
29717         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29718         * modules/mbslen (configure.ac): Update.
29719
29720         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29721         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29722         * modules/forkpty (configure.ac): Update.
29723         * modules/openpty (configure.ac): Update.
29724
29725 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29726
29727         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29728         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29729
29730 2010-03-25  Eric Blake  <eblake@redhat.com>
29731
29732         maint: use pragma consistently across replacement headers
29733         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29734         * lib/dirent.in.h (system_header): Likewise.
29735         * lib/errno.in.h (system_header): Likewise.
29736         * lib/float.in.h (system_header): Likewise.
29737         * lib/getopt.in.h (system_header): Likewise.
29738         * lib/iconv.in.h (system_header): Likewise.
29739         * lib/inttypes.in.h (system_header): Likewise.
29740         * lib/langinfo.in.h (system_header): Likewise.
29741         * lib/locale.in.h (system_header): Likewise.
29742         * lib/math.in.h (system_header): Likewise.
29743         * lib/netdb.in.h (system_header): Likewise.
29744         * lib/netinet_in.in.h (system_header): Likewise.
29745         * lib/pty.in.h (system_header): Likewise.
29746         * lib/sched.in.h (system_header): Likewise.
29747         * lib/se-selinux.in.h (system_header): Likewise.
29748         * lib/search.in.h (system_header): Likewise.
29749         * lib/spawn.in.h (system_header): Likewise.
29750         * lib/stdarg.in.h (system_header): Likewise.
29751         * lib/stdint.in.h (system_header): Likewise.
29752         * lib/string.in.h (system_header): Likewise.
29753         * lib/strings.in.h (system_header): Likewise.
29754         * lib/sys_file.in.h (system_header): Likewise.
29755         * lib/sys_ioctl.in.h (system_header): Likewise.
29756         * lib/sys_socket.in.h (system_header): Likewise.
29757         * lib/sys_times.in.h (system_header): Likewise.
29758         * lib/sys_utsname.in.h (system_header): Likewise.
29759         * lib/sys_wait.in.h (system_header): Likewise.
29760         * lib/sysexits.in.h (system_header): Likewise.
29761         * lib/unistd.in.h (system_header): Likewise.
29762         * lib/wctype.in.h (system_header): Likewise.
29763
29764         arpa/inet: fix mingw compilation warning
29765         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29766         Reported by Matthew Bolte.
29767
29768 2010-03-25  Bruno Haible  <bruno@clisp.org>
29769
29770         Avoid collision between gnulib wrapper and libintl wrapper.
29771         * lib/printf.c (printf): Don't define if a printf wrapper is already
29772         defined in intl/printf.c.
29773         Reported by Michel Boaventura <michel@michelboaventura.com>.
29774
29775 2010-03-25  Bruno Haible  <bruno@clisp.org>
29776
29777         Use ANSI C.
29778         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29779
29780 2010-03-25  Bruno Haible  <bruno@clisp.org>
29781
29782         Minor formatting changes.
29783         * lib/acosl.c: Insert space before function argument list.
29784         * lib/argz.c: Likewise.
29785         * lib/asinl.c: Likewise.
29786         * lib/expl.c: Likewise.
29787         * lib/gen-uni-tables.c: Likewise.
29788         * lib/gettext.h: Likewise.
29789         * lib/glthread/lock.h: Likewise.
29790         * lib/tanl.c: Likewise.
29791         * lib/uniname/uniname.c: Likewise.
29792         * tests/test-idpriv-drop.c: Likewise.
29793         * tests/test-idpriv-droptemp.c: Likewise.
29794         * tests/test-lock.c: Likewise.
29795         * tests/test-tls.c: Likewise.
29796         * lib/argp-help.c: Insert space before function-like macro argument
29797         list.
29798         * lib/memcmp.c: Likewise.
29799         * tests/test-base64.c: Likewise.
29800         * lib/localename.c: Insert space before sizeof's argument list.
29801         * lib/safe-alloc.h: Likewise.
29802         * lib/file-set.h: Insert space before macro argument list.
29803         * tests/test-argp.c: Likewise.
29804         * lib/argp-namefrob.h: Insert space before function parameter list.
29805         * lib/getaddrinfo.c: Likewise.
29806         * lib/netdb.in.h: Likewise.
29807         * lib/parse-duration.h: Likewise.
29808         * lib/parse-duration.c: Likewise.
29809         * lib/poll.c: Likewise.
29810         * lib/select.c: Likewise.
29811         * lib/trim.h: Likewise.
29812         * tests/test-usleep.c: Likewise.
29813         * lib/ldexpl.c: Insert space before function parameter list and before
29814         function argument list.
29815         * lib/logl.c: Likewise.
29816         * lib/sqrtl.c: Likewise.
29817         * lib/trim.c: Likewise.
29818         * lib/cosl.c: Use GNU style indentation. Insert space before function
29819         argument list.
29820         * lib/sinl.c: Likewise.
29821         * lib/tsearch.c: Insert space after 'for'.
29822         Reported by Jim Meyering.
29823
29824 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29825
29826         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29827         config header before grepping, as it's not present before
29828         autoreconf/configure are run.  Reported by Simon Josefsson.
29829
29830 2010-03-23  Bruno Haible  <bruno@clisp.org>
29831
29832         pt_chown: Make it work with automake < 1.11.
29833         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29834         Reported by Simon Josefsson.
29835
29836 2010-03-23  Bruno Haible  <bruno@clisp.org>
29837
29838         pt_chown: Don't depend on GPLed modules.
29839         * lib/pt_chown.c: Don't include idpriv.h.
29840         (main): Don't drop privileges.
29841         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29842         Reported by Simon Josefsson.
29843
29844 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29845
29846         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29847         suggestions from karl@freefriends.org (Karl Berry).
29848
29849 2010-03-22  Eric Blake  <eblake@redhat.com>
29850
29851         gethostname: further tweaks
29852         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29853         are overriding gethostname.
29854         Suggested by Bruno Haible.
29855
29856 2010-03-21  Bruno Haible  <bruno@clisp.org>
29857
29858         Fix comments.
29859         * lib/forkpty.c (rpl_forkpty): Fix comment.
29860         * lib/openpty.c (rpl_openpty): Likewise.
29861         Reported by Eric Blake.
29862
29863 2010-03-22  Eric Blake  <eblake@redhat.com>
29864
29865         gethostname: fix build on mingw
29866         * lib/unistd.in.h (includes): Work around fact that mingw
29867         <winsock2.h> re-includes <unistd.h>, by avoiding any
29868         redeclarations if we are being included by <winsock2.h>.
29869         Reported by Matthias Bolte.
29870
29871 2010-03-21  Bruno Haible  <bruno@clisp.org>
29872
29873         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29874         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29875         modifications.
29876         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29877         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29878         provide the replacement.
29879         * modules/forkpty (Depends-on): Add openpty, login_tty.
29880         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29881         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29882         * doc/glibc-functions/forkpty.texi: More supported platforms.
29883         * config/srclist.txt: Add forkpty.c (commented).
29884
29885 2010-03-21  Bruno Haible  <bruno@clisp.org>
29886
29887         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29888         (Makefile.am): Verify that PTY_LIB is defined.
29889
29890         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29891
29892 2010-03-21  Bruno Haible  <bruno@clisp.org>
29893
29894         Tests for module 'login_tty'.
29895         * modules/login_tty-tests: New file.
29896         * tests/test-login_tty.c: New file.
29897
29898         New module 'login_tty'.
29899         * lib/login_tty.c: New file.
29900         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29901         * modules/login_tty: New file.
29902         * doc/glibc-functions/login_tty.texi: Mention the new module.
29903
29904 2010-03-21  Bruno Haible  <bruno@clisp.org>
29905
29906         login_tty: Documentation.
29907         * doc/glibc-functions/login_tty.texi: New file.
29908         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29909
29910 2010-03-21  Bruno Haible  <bruno@clisp.org>
29911
29912         pty: Consistent macro naming.
29913         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29914         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29915         * modules/pty (configure.ac): Update.
29916
29917 2010-03-21  Bruno Haible  <bruno@clisp.org>
29918
29919         Tests for openpty: Make stricter.
29920         * tests/test-openpty.c (main): Add test of canonical processing and
29921         erase.
29922         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
29923
29924         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29925         * lib/openpty.c (openpty): New replacement function.
29926         * lib/pty.in.h: Include <termios.h>.
29927         (openpty): Update declaration. Add comments.
29928         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
29929         is not declared, arrange to provide the replacement. Check for _getpty
29930         and posix_openpt.
29931         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
29932         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
29933         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
29934         * modules/pty-tests (test_pty_c___LDADD): New variable.
29935         * doc/glibc-functions/openpty.texi: More supported platforms.
29936
29937 2010-03-21  Bruno Haible  <bruno@clisp.org>
29938
29939         setenv: Tweaks.
29940         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
29941         the test program.
29942         * doc/posix-functions/setenv.texi: Update platforms list.
29943
29944 2010-03-21  Bruno Haible  <bruno@clisp.org>
29945
29946         New module 'unlockpt'.
29947         * lib/unlockpt.c: New file, from glibc with modifications.
29948         * m4/unlockpt.m4: New file.
29949         * modules/unlockpt: New file.
29950         * lib/stdlib.in.h (unlockpt): New declaration.
29951         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
29952         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
29953         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
29954         HAVE_UNLOCKPT.
29955         * doc/posix-functions/unlockpt.texi: Mention the new module.
29956         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
29957         * config/srclist.txt: Add unlockpt.c (commented).
29958
29959 2010-03-21  Jim Meyering  <meyering@redhat.com>
29960
29961         maint.mk: prohibit inclusion of "intprops.h" without use
29962         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
29963
29964 2010-03-21  Bruno Haible  <bruno@clisp.org>
29965
29966         New module 'grantpt'.
29967         * lib/grantpt.c: New file, from glibc with modifications.
29968         * m4/grantpt.m4: New file.
29969         * modules/grantpt: New file.
29970         * lib/stdlib.in.h (grantpt): New declaration.
29971         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
29972         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
29973         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
29974         HAVE_GRANTPT.
29975         * doc/posix-functions/grantpt.texi: Mention the new module.
29976         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
29977         * config/srclist.txt: Add grantpt.c (commented).
29978
29979 2010-03-21  Bruno Haible  <bruno@clisp.org>
29980
29981         New module 'pt_chown'.
29982         * lib/pt_chown.c: New file, from glibc with modifications.
29983         * lib/pty-private.h: New file, from glibc with modifications.
29984         * modules/pt_chown: New file.
29985         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
29986
29987 2010-03-21  Bruno Haible  <bruno@clisp.org>
29988
29989         Tests for module 'ptsname'.
29990         * modules/ptsname-tests: New file.
29991         * tests/test-ptsname.c: New file.
29992
29993         New module 'ptsname'.
29994         * lib/ptsname.c: New file, from glibc with modifications.
29995         * m4/ptsname.m4: New file.
29996         * modules/ptsname: New file.
29997         * lib/stdlib.in.h (ptsname): New declaration.
29998         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
29999         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30000         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30001         HAVE_PTSNAME.
30002         * doc/posix-functions/ptsname.texi: Mention the new module.
30003         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30004         * config/srclist.txt: Add ptsname.c (commented).
30005
30006 2010-03-21  Bruno Haible  <bruno@clisp.org>
30007
30008         Tests for module 'ttyname_r'.
30009         * modules/ttyname_r-tests: New file.
30010         * tests/test-ttyname_r.c: New file.
30011
30012         New module 'ttyname_r'.
30013         * lib/ttyname_r.c: New file.
30014         * m4/ttyname_r.m4: New file.
30015         * modules/ttyname_r: New file.
30016         * lib/unistd.in.h (ttyname_r): New declaration.
30017         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30018         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30019         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30020         HAVE_TTYNAME_R.
30021         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30022         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30023
30024 2010-03-20  Bruno Haible  <bruno@clisp.org>
30025
30026         signal: Undefine macro definitions in C++ mode.
30027         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30028         sigfillset): Undefine macro definitions from the system header in C++
30029         mode.
30030         Reported by John W. Eaton <jwe@gnu.org>.
30031
30032 2010-03-20  Bruno Haible  <bruno@clisp.org>
30033
30034         Ensure no #include statements inside extern "C" { ... }.
30035         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30036         contain #include statements.
30037         * lib/time.in.h: Likewise.
30038
30039 2010-03-20  Bruno Haible  <bruno@clisp.org>
30040
30041         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30042         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30043         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30044         Reported by John W. Eaton <jwe@gnu.org>.
30045
30046 2010-03-20  Bruno Haible  <bruno@clisp.org>
30047
30048         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30049         Reported by Jim Meyering.
30050
30051 2010-03-20  Bruno Haible  <bruno@clisp.org>
30052
30053         pipe: Set errno upon failure.
30054         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30055         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30056         errno value in error message.
30057
30058 2010-03-20  Bruno Haible  <bruno@clisp.org>
30059             Jim Meyering  <meyering@redhat.com>
30060
30061         lchown: Avoid "unused variable" warning.
30062         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30063
30064 2010-03-20  Bruno Haible  <bruno@clisp.org>
30065
30066         Work around unlink() bug on MacOS X 10.5.6.
30067         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30068         attempting to unlink a parent directory.
30069         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30070         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30071         activate for the replacement function.
30072         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30073
30074 2010-03-20  Bruno Haible  <bruno@clisp.org>
30075
30076         Fix link errors on Solaris 8.
30077         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30078         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30079
30080 2010-03-19  Jim Meyering  <meyering@redhat.com>
30081
30082         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30083         The _LIBC implementation of build_range_exp correctly honors the
30084         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30085         However, the non-_LIBC implementation would ignore that syntax-bit
30086         flag and return REG_ERANGE unconditionally.
30087         This change makes it honor that flag.
30088         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30089         Make two pointer parameters "const".
30090         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30091         (parse_bracket_exp): Update caller.
30092
30093         regex.m4: correct the reversed range endpoint ([b-a]) test
30094         * m4/regex.m4: When requiring that [b-a] evoke failure,
30095         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30096         test pass once again for x86-based systems.
30097
30098 2010-03-19  Bruno Haible  <bruno@clisp.org>
30099
30100         scandir: Fix link error on Solaris 8.
30101         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30102         macros.
30103
30104 2010-03-19  Bruno Haible  <bruno@clisp.org>
30105
30106         getusershell: Fix documentation.
30107         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30108         module.
30109         * doc/glibc-functions/setusershell.texi: Likewise.
30110
30111         getusershell: Provide declaration, missing on Solaris 9.
30112         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30113         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30114         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30115         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30117         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30118         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30119         HAVE_GETUSERSHELL.
30120         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30121
30122 2010-03-19  Bruno Haible  <bruno@clisp.org>
30123
30124         wctype: Provide iswblank function.
30125         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30126         exists and is fine.
30127         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30128         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30129         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30130         * doc/posix-functions/iswblank.texi: Update.
30131
30132 2010-03-19  Bruno Haible  <bruno@clisp.org>
30133
30134         Tests of module 'pty' in C++ mode.
30135         * modules/pty-tests: New file.
30136         * tests/test-pty-c++.cc: New file.
30137         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30138
30139 2010-03-19  Eric Blake  <eblake@redhat.com>
30140
30141         logb: fix documentation
30142         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30143         1.5 declaration bug.
30144
30145         forkpty, openpty: prefer glibc's const-safe prototype
30146         * lib/forkpty.c (rpl_forkpty): New file.
30147         * lib/openpty.c (rpl_openpty): Likewise.
30148         * modules/forkpty (Files): Distribute it.
30149         * modules/openpty (Files): Likewise.
30150         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30151         check...
30152         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30153         replacement for for non-const BSD signature.
30154         * modules/pty (Makefile.am): Substitute witnesses.
30155         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30156         * tests/test-forkpty.c: Update signature check.
30157         * tests/test-openpty.c: Likewise.
30158         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30159         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30160
30161         forkpty, openpty: split functions into new modules
30162         * modules/pty (Makefile.am): Substitute new witnesses.
30163         (Libraries): Move library detection...
30164         * modules/forkpty: ...into new module.
30165         * modules/openpty: Another new module.
30166         * modules/pty-tests: Rename and split...
30167         * modules/forkpty-tests: ...to this...
30168         * modules/openpty-tests: ...and this.
30169         * tests/test-pty.c: Rename and split...
30170         * tests/test-forkpty.c: ...to this...
30171         * tests/test-openpty.c: ...and this.
30172         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30173         (gl_PTY): Split library searching...
30174         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30175         (gl_FORKPTY, gl_OPENPTY): New macros.
30176         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30177         * NEWS: Mention the split.
30178         * MODULES.html.sh (Misc): Document the modules.
30179         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30180         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30181
30182         pty: improve replacement header
30183         * lib/pty.in.h: New file.
30184         * modules/pty (Files): Ship it.
30185         (Makefile.am): Always build replacement.
30186         * m4/pty.m4: Rename...
30187         * m4/pty_h.m4: ...to this.
30188         (gl_PTY): Modernize setting of witness macros; update check of
30189         forkpty to take proper advantage of cache.
30190         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30191
30192         getopt: avoid compiler warning
30193         * lib/getopt.c (attribute_hidden): Remove unused macro.
30194
30195 2010-03-18  Bruno Haible  <bruno@clisp.org>
30196
30197         Fix link errors on Solaris 8.
30198         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30199         * modules/search-tests (test_search_c___LDADD): Likewise.
30200         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30201         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30202         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30203         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30204         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30205         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30206         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30207
30208 2010-03-18  Bruno Haible  <bruno@clisp.org>
30209
30210         Fix bug introduced on 2010-03-14.
30211         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30212         (gl_SPAWN_H): Require it.
30213         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30214         Reported by Simon Josefsson.
30215
30216 2010-03-18  Bruno Haible  <bruno@clisp.org>
30217
30218         Fix typo introduced on 2009-12-31.
30219         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30220         posix_spawn_file_actions_adddup2.
30221
30222 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30223         and Eric Blake  <eblake@redhat.com>
30224
30225         test-vc-list-files-git: make more robust
30226         * tests/test-vc-list-files-git.sh: Unset problematic environment
30227         variables.  Chain commands together.
30228
30229 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30230
30231         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30232         `AC_CHECK_DECL' invocation.
30233
30234 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30235
30236         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30237         appears before executable statements. Suggested by Petr Sumbera
30238         <Petr.Sumbera@Sun.COM>.
30239
30240 2010-03-14  Bruno Haible  <bruno@clisp.org>
30241
30242         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30243         portability problems. Instead use a simpler test.
30244         (main): Check that invalid arguments are rejected only on Linux.
30245
30246 2010-03-14  Bruno Haible  <bruno@clisp.org>
30247
30248         Fix bug introduced on 2009-12-31.
30249         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30250         gl_PREREQ_SYS_H_WINSOCK2 always.
30251         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30252         SYS_SOCKET_H variable.
30253         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30254         Update comments.
30255         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30256         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30257         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30258         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30259         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30260
30261 2010-03-14  Bruno Haible  <bruno@clisp.org>
30262
30263         Fix values returned by sinl, cosl.
30264         * lib/trigl.h: Add specification comments.
30265         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30266         that combines the values from the precomputed table with the values of
30267         the Chebyshev polynomials.
30268
30269 2010-03-14  Bruno Haible  <bruno@clisp.org>
30270
30271         Fix compilation error when modules 'posix_spawn[p]' are not used.
30272         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30273         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30274
30275 2010-03-14  Bruno Haible  <bruno@clisp.org>
30276
30277         Fix compilation error on mingw when module 'time_r' is not used.
30278         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30279         is 1.
30280         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30281         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30282         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30283         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30284
30285 2010-03-14  Bruno Haible  <bruno@clisp.org>
30286
30287         Fix compilation error with Sun C.
30288         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30289         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30290         instead of GCC specific ULONG_LONG_MAX.
30291         * lib/xstrtoll.c: Likewise.
30292         * lib/xstrtoull.c: Likewise.
30293
30294 2010-03-13  Bruno Haible  <bruno@clisp.org>
30295
30296         Allow the user to disable C++ code and tests.
30297         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30298         (gl_PROG_ANSI_CXX): Require it.
30299
30300 2010-03-13  Bruno Haible  <bruno@clisp.org>
30301
30302         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30303         cases.
30304
30305 2010-03-13  Bruno Haible  <bruno@clisp.org>
30306
30307         Test that gnulib does not break the standard C++ headers.
30308         * tests/test-locale-c++2.cc: New file.
30309         * modules/locale-tests (Files): Add it.
30310         (Makefile.am): Compile it for test-locale-c++.
30311         * tests/test-math-c++2.cc: New file.
30312         * modules/math-tests (Files): Add it.
30313         (Makefile.am): Compile it for test-math-c++.
30314         * tests/test-signal-c++2.cc: New file.
30315         * modules/signal-tests (Files): Add it.
30316         (Makefile.am): Compile it for test-signal-c++.
30317         * tests/test-stdio-c++2.cc: New file.
30318         * modules/stdio-tests (Files): Add it.
30319         (Makefile.am): Compile it for test-stdio-c++.
30320         * tests/test-stdlib-c++2.cc: New file.
30321         * modules/stdlib-tests (Files): Add it.
30322         (Makefile.am): Compile it for test-stdlib-c++.
30323         * tests/test-string-c++2.cc: New file.
30324         * modules/string-tests (Files): Add it.
30325         (Makefile.am): Compile it for test-string-c++.
30326         * tests/test-time-c++2.cc: New file.
30327         * modules/time-tests (Files): Add it.
30328         (Makefile.am): Compile it for test-time-c++.
30329         Reported by John W. Eaton <jwe@gnu.org>.
30330
30331 2010-03-13  Bruno Haible  <bruno@clisp.org>
30332
30333         * gnulib-tool (func_usage): Clarify which options are available for
30334         --create-testdir and --create-megatestdir.
30335
30336 2010-03-13  Bruno Haible  <bruno@clisp.org>
30337
30338         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30339         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30340         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30341         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30342         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30343         when appropriate.
30344         Reported by Jim Meyering.
30345
30346 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30347
30348         * gnulib-tool (func_import): Explain origin of code.
30349
30350 2010-03-12  Bruno Haible  <bruno@clisp.org>
30351
30352         Fix problem with automake's definition of CXXLINK.
30353         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30354         Reported by Simon Josefsson and Ludovic Courtès.
30355
30356 2010-03-12  Bruno Haible  <bruno@clisp.org>
30357
30358         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30359         stable releases.
30360
30361 2010-03-11  Bruno Haible  <bruno@clisp.org>
30362
30363         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30364         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30365         whether the system provides one variant or multiple variants of the
30366         function.
30367         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30368         C++ compilers.
30369         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30370         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30371         Reported by Jim Meyering.
30372
30373 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30374
30375         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30376
30377 2010-03-08  Bruno Haible  <bruno@clisp.org>
30378
30379         gnulib-tool: Add support for --libtool in --create-testdir.
30380         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30381         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30382
30383 2010-03-08  Eric Blake  <eblake@redhat.com>
30384
30385         gnulib-tool.texi: mention possibility of git submodule
30386         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30387         submodules.
30388         * doc/.gitignore: Ignore another generated file.
30389
30390 2010-03-08  Karl Berry  <karl@gnu.org>
30391
30392         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30393         of committing gnulib files while skipping others.
30394
30395 2010-03-07  Bruno Haible  <bruno@clisp.org>
30396
30397         Tests of module 'wctype' in C++ mode.
30398         * tests/test-wctype-c++.cc: New file.
30399         * modules/wctype-tests (Files): Add it and tests/signature.h.
30400         (Depends-on): Add ansi-c++-opt.
30401         (Makefile.am): Arrange to compile and run test-wctype-c++.
30402
30403         Tests of module 'wchar' in C++ mode.
30404         * tests/test-wchar-c++.cc: New file.
30405         * modules/wchar-tests (Files): Add it and tests/signature.h.
30406         (Depends-on): Add ansi-c++-opt.
30407         (Makefile.am): Arrange to compile and run test-wchar-c++.
30408         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30409         gl_MODULE_INDICATOR.
30410
30411         Tests of module 'unistd' in C++ mode.
30412         * tests/test-unistd-c++.cc: New file.
30413         * modules/unistd-tests (Files): Add it and tests/signature.h.
30414         (Depends-on): Add ansi-c++-opt.
30415         (Makefile.am): Arrange to compile and run test-unistd-c++.
30416         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30417         gl_MODULE_INDICATOR.
30418
30419         Tests of module 'time' in C++ mode.
30420         * tests/test-time-c++.cc: New file.
30421         * modules/time-tests (Files): Add it and tests/signature.h.
30422         (Depends-on): Add ansi-c++-opt.
30423         (Makefile.am): Arrange to compile and run test-time-c++.
30424         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30425
30426         Tests of module 'sys_time' in C++ mode.
30427         * tests/test-sys_time-c++.cc: New file.
30428         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30429         (Depends-on): Add ansi-c++-opt.
30430         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30431         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30432         gl_MODULE_INDICATOR.
30433
30434         Tests of module 'sys_stat' in C++ mode.
30435         * tests/test-sys_stat-c++.cc: New file.
30436         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30437         (Depends-on): Add ansi-c++-opt.
30438         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30439         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30440         gl_MODULE_INDICATOR.
30441
30442         Tests of module 'sys_socket' in C++ mode.
30443         * tests/test-sys_socket-c++.cc: New file.
30444         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30445         (Depends-on): Add ansi-c++-opt.
30446         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30447         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30448         gl_MODULE_INDICATOR.
30449
30450         Tests of module 'sys_select' in C++ mode.
30451         * tests/test-sys_select-c++.cc: New file.
30452         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30453         (Depends-on): Add ansi-c++-opt.
30454         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30455         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30456         gl_MODULE_INDICATOR.
30457
30458         Tests of module 'sys_ioctl' in C++ mode.
30459         * tests/test-sys_ioctl-c++.cc: New file.
30460         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30461         (Depends-on): Add ansi-c++-opt.
30462         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30463         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30464         gl_MODULE_INDICATOR.
30465
30466         Tests of module 'string' in C++ mode.
30467         * tests/test-string-c++.cc: New file.
30468         * modules/string-tests (Files): Add it and tests/signature.h.
30469         (Depends-on): Add ansi-c++-opt.
30470         (Makefile.am): Arrange to compile and run test-string-c++.
30471         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30472         gl_MODULE_INDICATOR.
30473
30474         Tests of module 'stdlib' in C++ mode.
30475         * tests/test-stdlib-c++.cc: New file.
30476         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30477         (Depends-on): Add ansi-c++-opt.
30478         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30479         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30480         gl_MODULE_INDICATOR.
30481
30482         Tests of module 'stdio' in C++ mode.
30483         * tests/test-stdio-c++.cc: New file.
30484         * modules/stdio-tests (Files): Add it and tests/signature.h.
30485         (Depends-on): Add ansi-c++-opt.
30486         (Makefile.am): Arrange to compile and run test-stdio-c++.
30487         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30488         gl_MODULE_INDICATOR.
30489
30490         Tests of module 'spawn' in C++ mode.
30491         * tests/test-spawn-c++.cc: New file.
30492         * modules/spawn-tests (Files): Add it and tests/signature.h.
30493         (Depends-on): Add ansi-c++-opt.
30494         (Makefile.am): Arrange to compile and run test-spawn-c++.
30495         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30496         gl_MODULE_INDICATOR.
30497
30498         Tests of module 'signal' in C++ mode.
30499         * tests/test-signal-c++.cc: New file.
30500         * modules/signal-tests (Files): Add it and tests/signature.h.
30501         (Depends-on): Add ansi-c++-opt.
30502         (Makefile.am): Arrange to compile and run test-signal-c++.
30503         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30504         gl_MODULE_INDICATOR.
30505
30506         Tests of module 'search' in C++ mode.
30507         * tests/test-search-c++.cc: New file.
30508         * modules/search-tests (Files): Add it and tests/signature.h.
30509         (Depends-on): Add ansi-c++-opt.
30510         (Makefile.am): Arrange to compile and run test-search-c++.
30511         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30512         gl_MODULE_INDICATOR.
30513
30514         Tests of module 'math' in C++ mode.
30515         * tests/test-math-c++.cc: New file.
30516         * modules/math-tests (Files): Add it and tests/signature.h.
30517         (Depends-on): Add ansi-c++-opt.
30518         (Makefile.am): Arrange to compile and run test-math-c++.
30519         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30520
30521         Tests of module 'locale' in C++ mode.
30522         * tests/test-locale-c++.cc: New file.
30523         * modules/locale-tests (Files): Add it and tests/signature.h.
30524         (Depends-on): Add ansi-c++-opt.
30525         (Makefile.am): Arrange to compile and run test-locale-c++.
30526         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30527         gl_MODULE_INDICATOR.
30528
30529         Tests of module 'langinfo' in C++ mode.
30530         * tests/test-langinfo-c++.cc: New file.
30531         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30532         (Depends-on): Add ansi-c++-opt.
30533         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30534         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30535         gl_MODULE_INDICATOR.
30536
30537         Tests of module 'iconv-h' in C++ mode.
30538         * tests/test-iconv-h-c++.cc: New file.
30539         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30540         (Depends-on): Add ansi-c++-opt.
30541         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30542
30543         Tests of module 'glob' in C++ mode.
30544         * tests/test-glob-c++.cc: New file.
30545         * modules/glob-tests (Files): Add it.
30546         (Depends-on): Add ansi-c++-opt.
30547         (Makefile.am): Arrange to compile and run test-glob-c++.
30548
30549         Tests of module 'fcntl-h' in C++ mode.
30550         * tests/test-fcntl-h-c++.cc: New file.
30551         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30552         (Depends-on): Add ansi-c++-opt.
30553         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30554         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30555         gl_MODULE_INDICATOR.
30556
30557         Tests of module 'dirent' in C++ mode.
30558         * tests/test-dirent-c++.cc: New file.
30559         * modules/dirent-tests (Files): Add it and tests/signature.h.
30560         (Depends-on): Add ansi-c++-opt.
30561         (Makefile.am): Arrange to compile and run test-dirent-c++.
30562         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30563         gl_MODULE_INDICATOR.
30564
30565         New module 'ansi-c++-opt'.
30566         * modules/ansi-c++-opt: New file.
30567         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30568
30569         Document C++ namespace mode.
30570         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30571
30572         wctype: Avoid #define replacements in C++ mode.
30573         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30574         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30575         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30576         In C++, define a namespaced alias symbol.
30577         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30578         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30579         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30580         rule.
30581
30582         wchar: Avoid #define replacements in C++ mode.
30583         * lib/wchar.in.h: Include c++defs.h.
30584         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30585         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30586         symbol.
30587         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30588         * modules/wchar (Depends-on): Add c++defs.
30589         (Makefile.am): Update wchar.h rule.
30590
30591         unistd: Avoid #define replacements in C++ mode.
30592         * lib/unistd.in.h: Include c++defs.h.
30593         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30594         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30595         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30596         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30597         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30598         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30599         symbol.
30600         (environ): Update.
30601         * modules/unistd (Depends-on): Add c++defs.
30602         (Makefile.am): Update unistd.h rule.
30603
30604         time: Avoid #define replacements in C++ mode.
30605         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30606         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30607         define a namespaced alias symbol.
30608         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30609         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30610         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30611         * modules/time (Depends-on): Add c++defs, warn-on-use.
30612         (Makefile.am): Update time.h rule.
30613         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30614         * modules/nanosleep (configure.ac): Likewise.
30615         * modules/strptime (configure.ac): Likewise.
30616         * modules/timegm (configure.ac): Likewise.
30617
30618         sys_time: Avoid #define replacements in C++ mode.
30619         * lib/sys_time.in.h: Include c++defs.h.
30620         (gettimeofday): In C++, define a namespaced alias symbol.
30621         * modules/sys_time (Depends-on): Add c++defs.
30622         (Makefile.am): Update sys/time.h rule.
30623
30624         sys_stat: Avoid #define replacements in C++ mode.
30625         * lib/sys_stat.in.h: Include c++defs.h.
30626         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30627         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30628         namespaced alias symbol.
30629         In C++, define a namespaced alias symbol.
30630         * modules/sys_stat (Depends-on): Add c++defs.
30631         (Makefile.am): Update sys/stat.h rule.
30632
30633         sys_socket: Avoid #define replacements in C++ mode.
30634         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30635         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30636         definitions also when the system has a <sys/socket.h>.
30637         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30638         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30639         In C++, define a namespaced alias symbol.
30640         * modules/sys_socket (Depends-on): Add c++defs.
30641         (Makefile.am): Update sys/socket.h rule.
30642
30643         sys_select: Avoid #define replacements in C++ mode.
30644         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30645         definitions also when the system has a <sys/select.h>.
30646         (select): In C++, define a namespaced alias symbol.
30647         * modules/sys_select (Depends-on): Add c++defs.
30648         (Makefile.am): Update sys/select.h rule.
30649
30650         sys_ioctl: Avoid #define replacements in C++ mode.
30651         * lib/sys_ioctl.in.h: Include c++defs.h.
30652         (ioctl): In C++, define a namespaced alias symbol.
30653         * modules/sys_ioctl (Depends-on): Add c++defs.
30654         (Makefile.am): Update sys/ioctl.h rule.
30655
30656         string: Avoid #define replacements in C++ mode.
30657         * lib/string.in.h: Include c++defs.h.
30658         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30659         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30660         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30661         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30662         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30663         * modules/string (Depends-on): Add c++defs.
30664         (Makefile.am): Update string.h rule.
30665
30666         stdlib: Avoid #define replacements in C++ mode.
30667         * lib/stdlib.in.h: Include c++defs.h.
30668         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30669         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30670         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30671         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30672         symbol.
30673         * modules/stdlib (Depends-on): Add c++defs.
30674         (Makefile.am): Update stdlib.h rule.
30675
30676         stdio: Avoid #define replacements in C++ mode.
30677         * lib/stdio.in.h: Include c++defs.h.
30678         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30679         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30680         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30681         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30682         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30683         namespaced alias symbol.
30684         * modules/stdio (Depends-on): Add c++defs.
30685         (Makefile.am): Update stdio.h rule.
30686
30687         spawn: Avoid #define replacements in C++ mode.
30688         * lib/spawn.in.h: Include c++defs.h.
30689         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30690         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30691         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30692         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30693         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30694         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30695         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30696         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30697         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30698         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30699         In C++, define a namespaced alias symbol.
30700         * modules/spawn (Depends-on): Add c++defs.
30701         (Makefile.am): Update spawn.h rule.
30702
30703         signal: Avoid #define replacements in C++ mode.
30704         * lib/signal.in.h: Include c++defs.h.
30705         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30706         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30707         namespaced alias symbol.
30708         * modules/signal (Depends-on): Add c++defs.
30709         (Makefile.am): Update signal.h rule.
30710
30711         search: Avoid #define replacements in C++ mode.
30712         * lib/search.in.h: Include c++defs.h.
30713         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30714         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30715         symbol.
30716         * modules/search (Depends-on): Add c++defs.
30717         (Makefile.am): Update search.h rule.
30718
30719         math: Avoid #define replacements in C++ mode.
30720         * lib/math.in.h: Include c++defs.h.
30721         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30722         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30723         trunc, truncl): In C++, define a namespaced alias symbol.
30724         * modules/math (Depends-on): Add c++defs.
30725         (Makefile.am): Update math.h rule.
30726
30727         locale: Avoid #define replacements in C++ mode.
30728         * lib/locale.in.h: Include c++defs.h.
30729         (duplocale): In C++, define a namespaced alias symbol.
30730         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30731         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30732         * modules/locale (Depends-on): Add c++defs.
30733         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30734
30735         langinfo: Avoid #define replacements in C++ mode.
30736         * lib/langinfo.in.h: Include c++defs.h.
30737         (nl_langinfo): In C++, define a namespaced alias symbol.
30738         * modules/langinfo (Depends-on): Add c++defs.
30739         (Makefile.am): Update langinfo.h rule.
30740
30741         iconv-h: Avoid #define replacements in C++ mode.
30742         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30743         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30744         symbol.
30745         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30746         whenever iconv is present.
30747         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30748         (Makefile.am): Update iconv.h rule.
30749
30750         glob: Avoid #define replacements in C++ mode.
30751         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30752         (_gl_glob_errfunc_fn): New type.
30753         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30754         symbol.
30755         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30756         (Makefile.am): Update glob.h rule.
30757
30758         fcntl-h: Avoid #define replacements in C++ mode.
30759         * lib/fcntl.in.h: Include c++defs.h.
30760         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30761         * modules/fcntl-h (Depends-on): Add c++defs.
30762         (Makefile.am): Update fcntl.h rule.
30763
30764         dirent: Avoid #define replacements in C++ mode.
30765         * lib/dirent.in.h: Include c++defs.h.
30766         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30767         namespaced alias symbol.
30768         (dirfd): Update declaration.
30769         * modules/dirent (Depends-on): Add c++defs.
30770         (Makefile.am): Update dirent.h rule.
30771
30772         ctype: Make it usable in C++ code.
30773         * lib/ctype.in.h: Include c++defs.h.
30774         (isblank): Declare as extern "C".
30775         * modules/ctype (Depends-on): Add c++defs.
30776         (Makefile.am): Update ctype.h rule.
30777
30778         New module 'c++defs'.
30779         * modules/c++defs: New file.
30780         * build-aux/c++defs.h: New file.
30781         Reported by John W. Eaton <jwe@gnu.org>.
30782
30783 2010-03-07  Bruno Haible  <bruno@clisp.org>
30784
30785         logb: Provide missing declaration for Cygwin.
30786         * lib/math.in.h (logb): New declaration.
30787         * m4/logb.m4: New file.
30788         * modules/logb (Files): Add m4/logb.m4.
30789         (Depends-on): Add math.
30790         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30791         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30792         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30793         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30794         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30795
30796 2010-03-07  Bruno Haible  <bruno@clisp.org>
30797
30798         Fix test-cond link error.
30799         * tests/test-cond.c: Include <stdio.h>.
30800
30801 2010-03-07  Bruno Haible  <bruno@clisp.org>
30802
30803         Fix test-dirent-safer link error.
30804         * modules/dirent-safer-tests (Makefile.am): Define
30805         test_dirent_safer_LDADD.
30806
30807 2010-03-07  Bruno Haible  <bruno@clisp.org>
30808
30809         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
30810         among default module list.
30811
30812 2010-03-07  Bruno Haible  <bruno@clisp.org>
30813
30814         Fix link error on platforms with GNU libiconv.
30815         * modules/unistr/u8-strcoll-tests (Makefile): Define
30816         test_u8_strcoll_LDADD.
30817         * modules/unistr/u16-strcoll-tests (Makefile): Define
30818         test_u16_strcoll_LDADD.
30819         * modules/unistr/u32-strcoll-tests (Makefile): Define
30820         test_u32_strcoll_LDADD.
30821
30822 2010-03-07  Bruno Haible  <bruno@clisp.org>
30823
30824         Use POSIX declarations for socket functions.
30825         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30826         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30827         rpl_sendto): Change declaration to match POSIX.
30828         * lib/connect.c (rpl_connect): Likewise.
30829         * lib/accept.c (rpl_accept): Likewise.
30830         * lib/bind.c (rpl_bind): Likewise.
30831         * lib/getpeername.c (rpl_getpeername): Likewise.
30832         * lib/getsockname.c (rpl_getsockname): Likewise.
30833         * lib/recv.c (rpl_recv): Likewise.
30834         * lib/send.c (rpl_send): Likewise.
30835         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30836         * lib/sendto.c (rpl_sendto): Likewise.
30837
30838 2010-03-06  Bruno Haible  <bruno@clisp.org>
30839
30840         Clarify access, euidaccess, faccessat.
30841         * doc/posix-functions/faccessat.texi: Mention security problem under
30842         "Other problems", not "Portability problems".
30843         * doc/posix-functions/access.texi: Likewise. Mention a related security
30844         problem.
30845         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30846         * lib/euidaccess.c: Add comments about platforms.
30847         * lib/unistd.in.h (access, euidaccess): Add warnings.
30848
30849 2010-03-07  Bruno Haible  <bruno@clisp.org>
30850
30851         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30852         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30853         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30854         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30855         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30856         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30857         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30858         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30859         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30860         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30861         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30862         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30863         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30864         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30865         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30866         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30867         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30868         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30869         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30870         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30871         Likewise.
30872         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30873         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30874         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30875         Likewise.
30876         * tests/test-spawn.c (main): Make it work when
30877         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30878
30879 2010-03-07  Bruno Haible  <bruno@clisp.org>
30880
30881         Fix incorrect Makefile.am generation in German locale.
30882         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30883         Execute sed command with character range in C locale.
30884
30885 2010-03-06  Bruno Haible  <bruno@clisp.org>
30886
30887         Tests for module 'iconv-h'.
30888         * modules/iconv-h-tests: New file.
30889         * tests/test-iconv-h.c: New file.
30890
30891         New module 'iconv-h'.
30892         * modules/iconv-h: New file.
30893         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30894         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30895         (configure.ac): Remove gl_ICONV_H.
30896         (Makefile.am): Remove rule for iconv.h.
30897
30898 2010-03-06  Bruno Haible  <bruno@clisp.org>
30899
30900         More consistent naming of *.m4 files.
30901         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30902         * modules/wctype (Files): Update.
30903
30904         More consistent naming of *.m4 files.
30905         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30906         * modules/wchar (Files): Update.
30907
30908 2010-03-06  Jim Meyering  <meyering@redhat.com>
30909
30910         euidaccess: relax license to LGPLv2+
30911         * modules/euidaccess (License): Relax to LGPLv2+.
30912
30913 2010-03-06  Bruno Haible  <bruno@clisp.org>
30914
30915         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
30916         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
30917         (Makefile.am): Augment lib_SOURCES instead.
30918
30919 2010-03-04  Jim Meyering  <meyering@redhat.com>
30920
30921         utime: remove obsolete module
30922         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
30923         unnecessary for years, and has been marked as obsolete for 10 months.
30924         * modules/utime: Remove file.
30925         * lib/utime.c: Remove file.
30926         * m4/utime.m4: Remove file.
30927         * m4/utimes-null.m4: Remove file.
30928         * doc/posix-functions/utime.texi (utime): Remove reference to
30929         the module.  Move the sole "fixed by gnulib" item into the
30930         "problems not fixed by Gnulib" list.
30931         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
30932
30933 2010-03-05  Simon Josefsson  <simon@josefsson.org>
30934
30935         * modules/exit (License): Relax license to LGPLv2+.
30936         (Status): Mark as obsolete.
30937         * NEWS: Mention deprecated 'exit' module.
30938         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
30939         of now obsolete 'exit'.
30940
30941 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30942
30943         fts-lgpl: remove unused module
30944         * modules/fts-lgpl: Remove.
30945         * MODULES.html.sh (func_all_modules): Adjust.
30946         * check-module (find_included_lib_files): Adjust.
30947         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
30948
30949 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
30950
30951         copy-acl: enhance Solaris ACL error handling
30952         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
30953         * lib/set-mode-acl.c (qset_acl): Likewise.
30954
30955 2010-03-02  Bruno Haible  <bruno@clisp.org>
30956
30957         spawn: Don't override the system defined values on FreeBSD 8.
30958         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
30959         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
30960         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
30961         if HAVE_POSIX_SPAWN is 1.
30962         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
30963
30964 2010-03-01  Bruno Haible  <bruno@clisp.org>
30965
30966         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
30967         regarding Automake.
30968
30969 2010-02-25  Bruno Haible  <bruno@clisp.org>
30970
30971         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
30972         * gnulib-tool: Define 'echo' as a function only before the ksh alias
30973         setting, not afterwards.
30974         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
30975
30976 2010-02-24  Eric Blake  <eblake@redhat.com>
30977
30978         bootstrap, git-version-gen: use timestamp
30979         * build-aux/git-version-gen (scriptversion): Force UTC.
30980         * build-aux/bootstrap (scriptversion): New variable.
30981
30982         bootstrap: allow older git
30983         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
30984         older than 1.6.4.  Requested by the libvirt project.
30985
30986 2010-02-23  Eric Blake  <eblake@redhat.com>
30987
30988         warn-on-use: work with old autoconf
30989         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
30990         AS_VAR semantics of autoconf 2.60.
30991         Reported by Bruno Haible.
30992
30993         bootstrap: improve some comments
30994         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
30995         clarification comments.
30996
30997         gettimeofday: provide correct function
30998         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
30999         when replacement is declared, otherwise provide gettimeofday.
31000         Reported by Michael Goffioul.
31001
31002 2010-02-23  Jim Meyering  <meyering@redhat.com>
31003
31004         lib-ignore: relax license to "unlimited", not LGPLv2+
31005         * modules/lib-ignore (License): Relax to "unlimited".
31006
31007 2010-02-23  Jim Meyering  <meyering@redhat.com>
31008
31009         lib-ignore: relax license to LGPLv2+
31010         * modules/lib-ignore (License): Relax to LGPLv2+.
31011
31012 2010-02-22  Eric Blake  <eblake@redhat.com>
31013
31014         lseek: avoid bash 3.2 broken pipe bug
31015         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31016         warning from bash 3.2.
31017         Reported by Ben Pfaff, with analysis from Bruno Haible.
31018
31019         bootstrap: support non-FSF copyright holder
31020         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31021         bootstrap.conf override of COPYRIGHT_HOLDER.
31022         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31023
31024         bootstrap: interoperate with gettext 0.14.1
31025         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31026
31027         bootstrap: allow for alternate submodule location
31028         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31029         hardcoding submodule location.
31030         (gnulib_mk): Allow direct use of Makefile.am.
31031
31032         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31033         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31034         rather than reconfiguring where the submodule points.
31035
31036         gettimeofday: restore support for platforms that lack function
31037         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31038         replacement if function is missing.
31039         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31040         * modules/sys_time (Makefile.am): Substitute it.
31041         * lib/sys_time.in.h (gettimeofday): Check it.
31042         Reported by Michael Goffioul.
31043
31044 2010-02-21  Bruno Haible  <bruno@clisp.org>
31045
31046         * lib/stdio.in.h (obstack_printf): Fix typo.
31047
31048 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31049
31050         vc-list-files: use bzr ls's -R option
31051         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31052         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31053
31054 2010-02-21  Jim Meyering  <meyering@redhat.com>
31055
31056         init.sh: fix EXEEXT shims to work also for names like test-prog
31057         * tests/init.sh: Re-exec a better shell, when needed.
31058         If the current shell lacks support for posix $(...), an init.sh-using
31059         test will now try to find a shell that supports that.  If EXEEXT is
31060         nonempty, we also require support for hyphen-in-alias-name and shell
31061         substitutions like ${var#glob}.  Failure to find such a shell results
31062         in a skipped test.
31063
31064 2010-02-21  Bruno Haible  <bruno@clisp.org>
31065
31066         Really work around around "broken pipe" error message from bash 3.2.
31067         * gnulib-tool (func_reset_sigpipe): Remove function.
31068         (echo): In bash 3.2, define to a function that uses printf.
31069         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31070
31071 2010-02-20  Bruno Haible  <bruno@clisp.org>
31072
31073         Restore support for automake 1.9.6 with autoconf 2.61.
31074         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31075         Reported by James Youngman <jay@gnu.org>.
31076
31077 2010-02-20  Bruno Haible  <bruno@clisp.org>
31078
31079         Improve *printf warning condition.
31080         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31081         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31082         and the function is overridden due to SIGPIPE emulation.
31083
31084 2010-02-20  Bruno Haible  <bruno@clisp.org>
31085
31086         * lib/stdio.in.h: Tweak comments.
31087
31088 2010-02-19  Bruno Haible  <bruno@clisp.org>
31089
31090         Make it easier to find modules. New gnulib-tool option '--find'.
31091         * gnulib-tool: New option --find.
31092         (func_usage): Document it.
31093         (func_sanitize_modulelist): New function, extracted from
31094         func_all_modules.
31095         (func_all_modules): Invoke it.
31096         * doc/gnulib-tool.texi (Which modules?): New node.
31097
31098 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31099
31100         * lib/sys_select.in.h: Provide select replacement even if
31101         sys/select.h exists on a system, for Interix.
31102
31103 2010-02-18  Jim Meyering  <meyering@redhat.com>
31104
31105         init.sh: don't use $(...) just yet
31106         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31107         to accommodate e.g., Solaris' /bin/sh.
31108
31109 2010-02-17  Bruno Haible  <bruno@clisp.org>
31110
31111         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31112         Reported by Ludovic Courtès <ludo@gnu.org>.
31113
31114 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31115
31116         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31117         linking with -lintl.
31118
31119 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31120
31121         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31122         if not provided by the system's netdb.h.  Reported by
31123         ludo@gnu.org (Ludovic Courtès).
31124
31125 2010-02-15  Jim Meyering  <meyering@redhat.com>
31126
31127         init.sh: improve portability and efficiency
31128         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31129         "dummy" in a for loop.
31130         Use '!', not '^' to select the complement of a character set used
31131         in a "case" statement.
31132         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31133         Suggestions from Eric Blake.
31134
31135         init.sh: automatically accommodate programs with the .exe suffix
31136         Automatically arrange for an invocation of "prog" to execute the
31137         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31138         may use the simpler "prog", yet still work when built on a system
31139         that requires specifying the added suffix.
31140         Do this by constructing a function named "prog" that invokes
31141         "prog.exe" for each .exe file in selected directories.
31142         * tests/init.sh (find_exe_basenames_): New function.
31143         (create_exe_shim_functions_): New function.
31144         (path_prepend_): Use it.
31145
31146         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31147         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31148         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31149
31150 2010-02-14  Jim Meyering  <meyering@redhat.com>
31151
31152         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31153         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31154         (sc_prohibit_hash_pjw_without_use): New rule.
31155
31156         maint.mk: allow the default upload destination dir to be overridden
31157         * top/maint.mk (upload_dest_dir_): Define with a default that
31158         preserves the status quo.
31159         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31160         Reported by Peter Simons.
31161
31162         maint.mk: prohibit inclusion of "hash.h" without_use
31163         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31164
31165 2010-02-10  Jim Meyering  <meyering@redhat.com>
31166
31167         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31168         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31169
31170 2010-02-09  Eric Blake  <ebb9@byu.net>
31171         and Bruno Haible  <bruno@clisp.org>
31172
31173         obstack-printf-posix: ensure declaration
31174         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31175         extracted from gl_FUNC_OBSTACK_PRINTF.
31176         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31177         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31178         Likewise.
31179         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31180         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31181         0.
31182
31183 2010-02-08  Bruno Haible  <bruno@clisp.org>
31184
31185         gnulib-tool: Fix typo in 2010-02-07 commit.
31186         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31187         Reported by Eric Blake.
31188
31189 2010-02-07  Bruno Haible  <bruno@clisp.org>
31190
31191         gnulib-tool: Fix up caching patches.
31192         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31193         option --no-cache. Use associative arrays when supported by the shell.
31194         (sed_comments): New variable.
31195         (modcache): Renamed from do_cache.
31196         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31197         abbreviate unnecessarily.
31198         (have_associative): New variable.
31199         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31200         way also for ksh and zsh.
31201         (func_init_sed_convert_to_cache_statements): New function, extracted
31202         from func_cache_lookup_module. Add support for associative arrays.
31203         Don't set the c_MODULE_cached variable here. Ignore all lines before
31204         the first field header. Remove only the final newline, not all trailing
31205         newlines. Support empty fields correctly. Limit the use of 'eval' to
31206         assignments.
31207         (func_get_description, func_get_status, func_get_notice,
31208         func_get_applicability, func_get_filelist, func_get_dependencies,
31209         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31210         func_get_automake_snippet, func_get_include_directive,
31211         func_get_link_directive, func_get_license, func_get_maintainer):
31212         Update documentation. List the unoptimized code first. Add support for
31213         associative arrays. Limit the use of 'eval' to assignments.
31214         (func_get_applicability): Undo stylistic pessimisations.
31215         (func_get_automake_snippet, func_get_include_directive): Reduce code
31216         duplication.
31217         (func_modules_transitive_closure, func_modules_add_dummy,
31218         func_modules_notice, func_modules_to_filelist, func_add_file,
31219         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31220         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31221         func_create_testdir, func_create_megatestdir): Update documentation.
31222
31223 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31224
31225         * gnulib-tool (func_cache_lookup_module): Store the module name
31226         belonging to the cache variable; error out if two different
31227         module names map to the same cache variable name.
31228
31229 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31230
31231         gnulib-tool: Make caching optional.
31232         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31233         Update matching short versions of --no-changelog.
31234         (func_usage): Update.
31235         (sed_extract_cache_prog): Renamed from ...
31236         (sed_extract_prog): ... this; revert to old extraction script.
31237         (func_get_description, func_get_status)
31238         (func_get_notice, func_get_applicability, func_get_filelist)
31239         (func_get_dependencies, func_get_autoconf_early_snippet)
31240         (func_get_autoconf_snippet, func_get_automake_snippet)
31241         (func_get_include_directive, func_get_link_directive)
31242         (func_get_license, func_get_maintainer): If $do_cache is false,
31243         use old, non-caching extraction scripts.
31244         Suggestion by Bruno Haible.
31245
31246 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31247
31248         gnulib-tool: cache module metainformation.
31249         * gnulib-tool (sed_extract_prog): Match newline before each
31250         header, and rewrite header to a shell variable suffix.
31251         (func_cache_var, func_cache_lookup_module): New functions,
31252         to turn a module name into a cache variable prefix, and to
31253         look up and cache module metainformation.
31254         (func_get_description, func_get_status)
31255         (func_get_notice, func_get_applicability, func_get_filelist)
31256         (func_get_dependencies, func_get_autoconf_early_snippet)
31257         (func_get_autoconf_snippet, func_get_automake_snippet)
31258         (func_get_include_directive, func_get_link_directive)
31259         (func_get_license, func_get_maintainer): Use
31260         func_cache_lookup_module.
31261
31262 2010-02-07  Bruno Haible  <bruno@clisp.org>
31263
31264         fnctl: Fix missing dependency.
31265         * modules/fcntl (Depends-on): Add getdtablesize.
31266         Reported by John W. Eaton <jwe@gnu.org>.
31267
31268 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31269
31270         Argp: fix recognition of short alias options.
31271
31272         * lib/argp-parse.c (convert_options): Fix improper use of
31273         `|' between character values.
31274         * tests/test-argp.c (group1_option): New alias option
31275         --read (-r).
31276         (group1_parser): Special handling for 'r'.
31277         (test15): New test case.
31278         (test_fun): Add test15.
31279         * tests/test-argp-2.sh: Update expected --help and --usage
31280         outputs.
31281
31282 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31283
31284         * tests/test-argp.c: Fix indentation.
31285
31286 2010-02-04  Eric Blake  <ebb9@byu.net>
31287
31288         gettimeofday: expose type of second argument
31289         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31290         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31291         * tests/test-gettimeofday.c: Use it to silence warning.
31292         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31293         the issue.
31294
31295 2010-02-03  Jim Meyering  <meyering@redhat.com>
31296
31297         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31298         * lib/regcomp.c (TYPE_SIGNED): Define.
31299         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31300
31301         regcomp.c: avoid a new -Wshadow warning
31302         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31303
31304 2010-02-01  Jim Meyering  <meyering@redhat.com>
31305
31306         removing useless parentheses in cpp #define directives
31307         For motivation, see commit c0221df4, "define STREQ(a,b)
31308         consistently, removing useless parentheses"
31309         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31310         * lib/mountlist.c (MNT_IGNORE): Likewise.
31311         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31312
31313 2010-02-01  Eric Blake  <ebb9@byu.net>
31314
31315         sys_time: use link-warning
31316         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31317         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31318         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31319         * modules/sys_time (Depends-on): Add warn-on-use.
31320         (Makefile.am): Always build replacement.
31321         (configure.ac): Update substitutions.
31322         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31323         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31324         bother with SYS_TIME_H.
31325         * modules/gettimeofday (configure.ac): Declare indicator.
31326         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31327         in use.
31328
31329         closein-tests: silence compiler warning
31330         * tests/test-closein.c (main): Ignore fread result.
31331         * modules/closein-tests (Depends-on): Add ignore-value.
31332
31333         tests: silence warning about system return
31334         * tests/test-areadlink-with-size.c (main): Ignore system result.
31335         * tests/test-areadlink.c (main): Likewise.
31336         * tests/test-areadlinkat-with-size.c (main): Likewise.
31337         * tests/test-areadlinkat.c (main): Likewise.
31338         * tests/test-canonicalize-lgpl.c (main): Likewise.
31339         * tests/test-canonicalize.c (main): Likewise.
31340         * tests/test-chown.c (main): Likewise.
31341         * tests/test-fchownat.c (main): Likewise.
31342         * tests/test-fdutimensat.c (main): Likewise.
31343         * tests/test-fstatat.c (main): Likewise.
31344         * tests/test-futimens.c (main): Likewise.
31345         * tests/test-lchown.c (main): Likewise.
31346         * tests/test-link.c (main): Likewise.
31347         * tests/test-linkat.c (main): Likewise.
31348         * tests/test-lstat.c (main): Likewise.
31349         * tests/test-mkdir.c (main): Likewise.
31350         * tests/test-mkdirat.c (main): Likewise.
31351         * tests/test-mkfifo.c (main): Likewise.
31352         * tests/test-mkfifoat.c (main): Likewise.
31353         * tests/test-mknod.c (main): Likewise.
31354         * tests/test-readlink.c (main): Likewise.
31355         * tests/test-remove.c (main): Likewise.
31356         * tests/test-rename.c (main): Likewise.
31357         * tests/test-renameat.c (main): Likewise.
31358         * tests/test-rmdir.c (main): Likewise.
31359         * tests/test-symlink.c (main): Likewise.
31360         * tests/test-symlinkat.c (main): Likewise.
31361         * tests/test-unlink.c (main): Likewise.
31362         * tests/test-unlinkat.c (main): Likewise.
31363         * tests/test-utimens.c (main): Likewise.
31364         * tests/test-utimensat.c (main): Likewise.
31365         * modules/areadlink-tests (Depends-on): Add ignore-value.
31366         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31367         * modules/areadlinkat-tests (Depends-on): Likewise.
31368         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31369         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31370         * modules/canonicalize-tests (Depends-on): Likewise.
31371         * modules/chown-tests (Depends-on): Likewise.
31372         * modules/fdutimensat-tests (Depends-on): Likewise.
31373         * modules/futimens-tests (Depends-on): Likewise.
31374         * modules/lchown-tests (Depends-on): Likewise.
31375         * modules/link-tests (Depends-on): Likewise.
31376         * modules/linkat-tests (Depends-on): Likewise.
31377         * modules/lstat-tests (Depends-on): Likewise.
31378         * modules/mkdir-tests (Depends-on): Likewise.
31379         * modules/mkfifo-tests (Depends-on): Likewise.
31380         * modules/mkfifoat-tests (Depends-on): Likewise.
31381         * modules/mknod-tests (Depends-on): Likewise.
31382         * modules/openat-tests (Depends-on): Likewise.
31383         * modules/readlink-tests (Depends-on): Likewise.
31384         * modules/remove-tests (Depends-on): Likewise.
31385         * modules/rename-tests (Depends-on): Likewise.
31386         * modules/renameat-tests (Depends-on): Likewise.
31387         * modules/rmdir-tests (Depends-on): Likewise.
31388         * modules/symlink-tests (Depends-on): Likewise.
31389         * modules/symlinkat-tests (Depends-on): Likewise.
31390         * modules/unlink-tests (Depends-on): Likewise.
31391         * modules/utimens-tests (Depends-on): Likewise.
31392         * modules/utimensat-tests (Depends-on): Likewise.
31393
31394 2010-01-31  Bruno Haible  <bruno@clisp.org>
31395
31396         Perform the same test for many <math.h> functions.
31397         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31398         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31399         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31400         of gl_MATHFUNC.
31401         * modules/acos (configure.ac): Likewise.
31402         * modules/asin (configure.ac): Likewise.
31403         * modules/atan (configure.ac): Likewise.
31404         * modules/atan2 (configure.ac): Likewise.
31405         * modules/cbrt (configure.ac): Likewise.
31406         * modules/copysign (configure.ac): Likewise.
31407         * modules/cos (configure.ac): Likewise.
31408         * modules/cosh (configure.ac): Likewise.
31409         * modules/erf (configure.ac): Likewise.
31410         * modules/erfc (configure.ac): Likewise.
31411         * modules/exp (configure.ac): Likewise.
31412         * modules/fmod (configure.ac): Likewise.
31413         * modules/hypot (configure.ac): Likewise.
31414         * modules/j0 (configure.ac): Likewise.
31415         * modules/j1 (configure.ac): Likewise.
31416         * modules/jn (configure.ac): Likewise.
31417         * modules/lgamma (configure.ac): Likewise.
31418         * modules/log (configure.ac): Likewise.
31419         * modules/log10 (configure.ac): Likewise.
31420         * modules/log1p (configure.ac): Likewise.
31421         * modules/pow (configure.ac): Likewise.
31422         * modules/remainder (configure.ac): Likewise.
31423         * modules/sin (configure.ac): Likewise.
31424         * modules/sinh (configure.ac): Likewise.
31425         * modules/tan (configure.ac): Likewise.
31426         * modules/tanh (configure.ac): Likewise.
31427         * modules/y0 (configure.ac): Likewise.
31428         * modules/y1 (configure.ac): Likewise.
31429         * modules/yn (configure.ac): Likewise.
31430         Suggested by Paolo Bonzini.
31431
31432 2010-01-31  Bruno Haible  <bruno@clisp.org>
31433
31434         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31435
31436 2010-01-31  Bruno Haible  <bruno@clisp.org>
31437
31438         Work around getdelim() bug on FreeBSD 8.0.
31439         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31440         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31441         not work.
31442         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31443         is 1.
31444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31445         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31446         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31447         a non-zero size.
31448         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31449
31450 2010-01-31  Bruno Haible  <bruno@clisp.org>
31451
31452         Work around getline() bug on FreeBSD 8.0.
31453         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31454         and a non-zero size.
31455         * tests/test-getline.c (main): Likewise.
31456         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31457         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31458
31459 2010-01-28  Eric Blake  <ebb9@byu.net>
31460
31461         regex: fix build failure
31462         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31463         platforms.
31464
31465 2010-01-28  Jim Meyering  <meyering@redhat.com>
31466
31467         regex: do not ignore memory allocation failure
31468         * lib/regex_internal.c (create_cd_newstate): Detect
31469         re_node_set_init_copy failure.   Extracted from glibc commit
31470         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31471
31472         regex: sync more white-space changes from libc
31473         * lib/regex_internal.c: White-space only changes.
31474         * lib/regexec.c: Likewise.
31475
31476         regex: add many uses of __attribute_warn_unused_result__
31477         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31478         * lib/regexec.c: Likewise.
31479         Extracted from a messy glibc commit.
31480
31481         regcomp.c: spelling and merge-artifact from glibc
31482         * lib/regcomp.c: Merge remainder of glibc's
31483         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31484
31485         regcomp.c: sync white-space changes from glibc
31486         * lib/regcomp.c: Merge to accommodate white space
31487         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31488
31489         regcomp.c: do not ignore internal return values
31490         * lib/regcomp.c: Do not ignore internal return values.
31491         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31492         but without its white-space changes and spelling fixes.
31493
31494         regex_internal.h: define __attribute_warn_unused_result__
31495         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31496
31497         maint: add a syntax-check rule to check for vulnerable Makefile.in
31498         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31499
31500 2010-01-27  Jim Meyering  <meyering@redhat.com>
31501
31502         ncftpput-ftp: clean up spaces
31503         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31504         Remove trailing blanks.
31505
31506 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31507
31508         * build-aux/git-version-gen: Fix copyright statement.
31509         * build-aux/gnupload: Likewise.
31510         * tests/test-arcfour.c: Likewise.
31511         * tests/test-arctwo.c: Likewise.
31512         * tests/test-count-one-bits.c: Likewise.
31513         * tests/test-crc.c: Likewise.
31514         * tests/test-des.c: Likewise.
31515         * tests/test-gc-arcfour.c: Likewise.
31516         * tests/test-gc-arctwo.c: Likewise.
31517         * tests/test-gc-des.c: Likewise.
31518         * tests/test-gc-hmac-md5.c: Likewise.
31519         * tests/test-gc-hmac-sha1.c: Likewise.
31520         * tests/test-gc-md2.c: Likewise.
31521         * tests/test-gc-md4.c: Likewise.
31522         * tests/test-gc-md5.c: Likewise.
31523         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31524         * tests/test-gc-rijndael.c: Likewise.
31525         * tests/test-gc-sha1.c: Likewise.
31526         * tests/test-gc.c: Likewise.
31527         * tests/test-gethostname.c: Likewise.
31528         * tests/test-gettimeofday.c: Likewise.
31529         * tests/test-hash.c: Likewise.
31530         * tests/test-hmac-md5.c: Likewise.
31531         * tests/test-hmac-sha1.c: Likewise.
31532         * tests/test-md2.c: Likewise.
31533         * tests/test-md4.c: Likewise.
31534         * tests/test-md5.c: Likewise.
31535         * tests/test-memchr.c: Likewise.
31536         * tests/test-memchr2.c: Likewise.
31537         * tests/test-memcmp.c: Likewise.
31538         * tests/test-memmem.c: Likewise.
31539         * tests/test-memrchr.c: Likewise.
31540         * tests/test-rawmemchr.c: Likewise.
31541         * tests/test-read-file.c: Likewise.
31542         * tests/test-rijndael.c: Likewise.
31543         * tests/test-sockets.c: Likewise.
31544         * tests/test-strchrnul.c: Likewise.
31545         * tests/test-strstr.c: Likewise.
31546         * tests/test-strtod.c: Likewise.
31547         * build-aux/ncftpput-ftp: Likewise.
31548
31549 2010-01-26  Eric Blake  <ebb9@byu.net>
31550
31551         ignore-value: update recommended header name
31552         * modules/ignore-value (Include): Only use <> for headers that
31553         exist in glibc.
31554
31555 2010-01-26  Jim Meyering  <meyering@redhat.com>
31556
31557         test-userspec.c: avoid compiler warnings
31558         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31559         and "initialization discards qualifiers..." warnings.
31560         Put the first "uid" in its own scope, and make char* members "const".
31561
31562 2010-01-25  Bruno Haible  <bruno@clisp.org>
31563
31564         gnulib-tool: Make warning diagnostics consistent.
31565         * gnulib-tool (func_warning): New function.
31566         Use it everywhere where gnulib-tool produces output to stderr and it is
31567         not a fatal error.
31568
31569 2010-01-25  Bruno Haible  <bruno@clisp.org>
31570
31571         Fix test dependencies.
31572         * modules/xstrtol-tests (Depends-on): Add inttypes.
31573         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31574
31575 2010-01-25 Pádraig Brady <P@draigBrady.com>
31576
31577         syntax-check: detect incorrect boolean macro values in config.h
31578         * modules/maintainer-makefile (configure.ac): Parameterize the location
31579         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31580         The logic is from Eric Blake and the location indicated by Jim Meyering.
31581         Note the more natural CONFIG_HEADER name is prohibited by automake
31582         for backwards compatibility reasons.
31583         * top/maint.mk (sc_Wundef_boolean): New rule.
31584
31585 2010-01-25  Jim Meyering  <meyering@redhat.com>
31586
31587         bootstrap: detect MacOS 10.6's shasum, too
31588         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31589         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31590
31591 2010-01-23  Jim Meyering  <meyering@redhat.com>
31592
31593         xstrtoll: new module
31594         * modules/xstrtoll: New file.
31595         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31596         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31597         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31598         ./configure fails if you use this module and lack "long long".
31599         * modules/xstrtoll-tests: New module.
31600         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31601         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31602         new init.sh-based test framework.
31603
31604 2010-01-24  Bruno Haible  <bruno@clisp.org>
31605
31606         Tests for module 'yn'.
31607         * modules/yn-tests: New file.
31608         * tests/test-yn.c: New file.
31609
31610         Tests for module 'y1'.
31611         * modules/y1-tests: New file.
31612         * tests/test-y1.c: New file.
31613
31614         Tests for module 'y0'.
31615         * modules/y0-tests: New file.
31616         * tests/test-y0.c: New file.
31617
31618         Tests for module 'tanh'.
31619         * modules/tanh-tests: New file.
31620         * tests/test-tanh.c: New file.
31621
31622         Tests for module 'tan'.
31623         * modules/tan-tests: New file.
31624         * tests/test-tan.c: New file.
31625
31626         Tests for module 'sqrt'.
31627         * modules/sqrt-tests: New file.
31628         * tests/test-sqrt.c: New file.
31629
31630         Tests for module 'sinh'.
31631         * modules/sinh-tests: New file.
31632         * tests/test-sinh.c: New file.
31633
31634         Tests for module 'sin'.
31635         * modules/sin-tests: New file.
31636         * tests/test-sin.c: New file.
31637
31638         Tests for module 'rint'.
31639         * modules/rint-tests: New file.
31640         * tests/test-rint.c: New file.
31641
31642         Tests for module 'remainder'.
31643         * modules/remainder-tests: New file.
31644         * tests/test-remainder.c: New file.
31645
31646         Tests for module 'pow'.
31647         * modules/pow-tests: New file.
31648         * tests/test-pow.c: New file.
31649
31650         Tests for module 'nextafter'.
31651         * modules/nextafter-tests: New file.
31652         * tests/test-nextafter.c: New file.
31653
31654         Tests for module 'modf'.
31655         * modules/modf-tests: New file.
31656         * tests/test-modf.c: New file.
31657
31658         Tests for module 'logb'.
31659         * modules/logb-tests: New file.
31660         * tests/test-logb.c: New file.
31661
31662         Tests for module 'log1p'.
31663         * modules/log1p-tests: New file.
31664         * tests/test-log1p.c: New file.
31665
31666         Tests for module 'log10'.
31667         * modules/log10-tests: New file.
31668         * tests/test-log10.c: New file.
31669
31670         Tests for module 'log'.
31671         * modules/log-tests: New file.
31672         * tests/test-log.c: New file.
31673
31674         Tests for module 'lgamma'.
31675         * modules/lgamma-tests: New file.
31676         * tests/test-lgamma.c: New file.
31677
31678         Tests for module 'ldexp'.
31679         * modules/ldexp-tests: New file.
31680         * tests/test-ldexp.c: New file.
31681
31682         Tests for module 'jn'.
31683         * modules/jn-tests: New file.
31684         * tests/test-jn.c: New file.
31685
31686         Tests for module 'j1'.
31687         * modules/j1-tests: New file.
31688         * tests/test-j1.c: New file.
31689
31690         Tests for module 'j0'.
31691         * modules/j0-tests: New file.
31692         * tests/test-j0.c: New file.
31693
31694         Tests for module 'hypot'.
31695         * modules/hypot-tests: New file.
31696         * tests/test-hypot.c: New file.
31697
31698         Tests for module 'fmod'.
31699         * modules/fmod-tests: New file.
31700         * tests/test-fmod.c: New file.
31701
31702         Tests for module 'fabs'.
31703         * modules/fabs-tests: New file.
31704         * tests/test-fabs.c: New file.
31705
31706         Tests for module 'exp'.
31707         * modules/exp-tests: New file.
31708         * tests/test-exp.c: New file.
31709
31710         Tests for module 'erfc'.
31711         * modules/erfc-tests: New file.
31712         * tests/test-erfc.c: New file.
31713
31714         Tests for module 'erf'.
31715         * modules/erf-tests: New file.
31716         * tests/test-erf.c: New file.
31717
31718         Tests for module 'cosh'.
31719         * modules/cosh-tests: New file.
31720         * tests/test-cosh.c: New file.
31721
31722         Tests for module 'cos'.
31723         * modules/cos-tests: New file.
31724         * tests/test-cos.c: New file.
31725
31726         Tests for module 'copysign'.
31727         * modules/copysign-tests: New file.
31728         * tests/test-copysign.c: New file.
31729
31730         Tests for module 'cbrt'.
31731         * modules/cbrt-tests: New file.
31732         * tests/test-cbrt.c: New file.
31733
31734         Tests for module 'atan2'.
31735         * modules/atan2-tests: New file.
31736         * tests/test-atan2.c: New file.
31737
31738         Tests for module 'atan'.
31739         * modules/atan-tests: New file.
31740         * tests/test-atan.c: New file.
31741
31742         Tests for module 'asin'.
31743         * modules/asin-tests: New file.
31744         * tests/test-asin.c: New file.
31745
31746         Tests for module 'acos'.
31747         * modules/acos-tests: New file.
31748         * tests/test-acos.c: New file.
31749
31750 2010-01-24  Bruno Haible  <bruno@clisp.org>
31751
31752         Fix tests for common <math.h> functions.
31753         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31754         code snippet that references the function pointer, rather than merely
31755         calling the function. Substitute the FUNC_LIBM variable.
31756         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31757         * modules/acos (configure.ac): Likewise.
31758         * modules/asin (configure.ac): Likewise.
31759         * modules/atan (configure.ac): Likewise.
31760         * modules/atan2 (configure.ac): Likewise.
31761         * modules/cbrt (configure.ac): Likewise.
31762         * modules/copysign (configure.ac): Likewise.
31763         * modules/cos (configure.ac): Likewise.
31764         * modules/cosh (configure.ac): Likewise.
31765         * modules/erf (configure.ac): Likewise.
31766         * modules/erfc (configure.ac): Likewise.
31767         * modules/exp (configure.ac): Likewise.
31768         * modules/fabs (configure.ac): Likewise.
31769         * modules/fmod (configure.ac): Likewise.
31770         * modules/hypot (configure.ac): Likewise.
31771         * modules/j0 (configure.ac): Likewise.
31772         * modules/j1 (configure.ac): Likewise.
31773         * modules/jn (configure.ac): Likewise.
31774         * modules/ldexp (configure.ac): Likewise.
31775         * modules/lgamma (configure.ac): Likewise.
31776         * modules/log (configure.ac): Likewise.
31777         * modules/log10 (configure.ac): Likewise.
31778         * modules/log1p (configure.ac): Likewise.
31779         * modules/logb (configure.ac): Likewise.
31780         * modules/modf (configure.ac): Likewise.
31781         * modules/nextafter (configure.ac): Likewise.
31782         * modules/pow (configure.ac): Likewise.
31783         * modules/remainder (configure.ac): Likewise.
31784         * modules/rint (configure.ac): Likewise.
31785         * modules/sin (configure.ac): Likewise.
31786         * modules/sinh (configure.ac): Likewise.
31787         * modules/tan (configure.ac): Likewise.
31788         * modules/tanh (configure.ac): Likewise.
31789         * modules/y0 (configure.ac): Likewise.
31790         * modules/y1 (configure.ac): Likewise.
31791         * modules/yn (configure.ac): Likewise.
31792
31793 2010-01-24  Bruno Haible  <bruno@clisp.org>
31794
31795         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31796         * tests/test-acosl.c (x): New variable.
31797         (main): Store argument in x and fetch it from x.
31798         * tests/test-asinl.c (x): New variable.
31799         (main): Store argument in x and fetch it from x.
31800         * tests/test-atanl.c (x): New variable.
31801         (main): Store argument in x and fetch it from x.
31802         * tests/test-cosl.c (x): New variable.
31803         (main): Store argument in x and fetch it from x.
31804         * tests/test-expl.c (x): New variable.
31805         (main): Store argument in x and fetch it from x.
31806         * tests/test-logl.c (x): New variable.
31807         (main): Store argument in x and fetch it from x.
31808         * tests/test-sinl.c (x): New variable.
31809         (main): Store argument in x and fetch it from x.
31810         * tests/test-sqrtl.c (x): New variable.
31811         (main): Store argument in x and fetch it from x.
31812         * tests/test-tanl.c (x): New variable.
31813         (main): Store argument in x and fetch it from x.
31814
31815 2010-01-24  Bruno Haible  <bruno@clisp.org>
31816
31817         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31818         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31819         assignments to the initial TESTS_ENVIRONMENT.
31820         * doc/gnulib.texi (Unit test modules): Document it.
31821         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31822         TESTS_ENVIRONMENT.
31823         * modules/btowc-tests (Makefile.am): Likewise.
31824         * modules/c-stack-tests (Makefile.am): Likewise.
31825         * modules/c-strcase-tests (Makefile.am): Likewise.
31826         * modules/copy-file-tests (Makefile.am): Likewise.
31827         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31828         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31829         * modules/mbrtowc-tests (Makefile.am): Likewise.
31830         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31831         * modules/mbscasestr-tests (Makefile.am): Likewise.
31832         * modules/mbschr-tests (Makefile.am): Likewise.
31833         * modules/mbscspn-tests (Makefile.am): Likewise.
31834         * modules/mbsinit-tests (Makefile.am): Likewise.
31835         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31836         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31837         * modules/mbspbrk-tests (Makefile.am): Likewise.
31838         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31839         * modules/mbsrchr-tests (Makefile.am): Likewise.
31840         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31841         * modules/mbsspn-tests (Makefile.am): Likewise.
31842         * modules/mbsstr-tests (Makefile.am): Likewise.
31843         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31844         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31845         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31846         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31847         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31848         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31849         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31850         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31851         * modules/wcrtomb-tests (Makefile.am): Likewise.
31852         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31853         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31854         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31855         assignments from TESTS_ENVIRONMENT.
31856         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31857         augmentation.
31858         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31859         * modules/atexit-tests (Makefile.am): Likewise.
31860         * modules/binary-io-tests (Makefile.am): Likewise.
31861         * modules/closein-tests (Makefile.am): Likewise.
31862         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31863         * modules/exclude-tests (Makefile.am): Likewise.
31864         * modules/fflush-tests (Makefile.am): Likewise.
31865         * modules/fpending-tests (Makefile.am): Likewise.
31866         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31867         * modules/freadahead-tests (Makefile.am): Likewise.
31868         * modules/freadptr-tests (Makefile.am): Likewise.
31869         * modules/freadseek-tests (Makefile.am): Likewise.
31870         * modules/fseek-tests (Makefile.am): Likewise.
31871         * modules/fseeko-tests (Makefile.am): Likewise.
31872         * modules/ftell-tests (Makefile.am): Likewise.
31873         * modules/ftello-tests (Makefile.am): Likewise.
31874         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31875         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31876         * modules/lseek-tests (Makefile.am): Likewise.
31877         * modules/parse-duration-tests (Makefile.am): Likewise.
31878         * modules/perror-tests (Makefile.am): Likewise.
31879         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31880         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31881         * modules/pipe-tests (Makefile.am): Likewise.
31882         * modules/pread-tests (Makefile.am): Likewise.
31883         * modules/printf-posix-tests (Makefile.am): Likewise.
31884         * modules/select-tests (Makefile.am): Likewise.
31885         * modules/sigpipe-tests (Makefile.am): Likewise.
31886         * modules/tsearch-tests (Makefile.am): Likewise.
31887         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31888         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31889         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31890         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31891         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31892         * modules/version-etc-tests (Makefile.am): Likewise.
31893         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31894         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31895         * modules/xalloc-die-tests (Makefile.am): Likewise.
31896         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31897         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31898         * modules/xstrtol-tests (Makefile.am): Likewise.
31899         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31900         * modules/yesno-tests (Makefile.am): Likewise.
31901         Suggested by Jim Meyering.
31902
31903 2010-01-24  Bruno Haible  <bruno@clisp.org>
31904
31905         More documentation.
31906         * doc/gnulib.texi (Writing modules): New chapter.
31907         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31908         the new chapter.
31909
31910 2010-01-24  Jim Meyering  <meyering@redhat.com>
31911
31912         maint.mk: do not prepend "./" after filtering
31913         * top/maint.mk (_prepend_srcdir_prefix): New variable
31914         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31915         "./" when $(srcdir) is ".".
31916
31917         define STREQ(a,b) consistently, removing useless parentheses
31918         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
31919         since the only risk is that "a" or "b" contains an unparenthesized
31920         comma, but if either did that, STREQ would have 3 or more arguments.
31921         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
31922         * lib/fts.c (STREQ): Remove unnecessary parentheses.
31923         * lib/hash-triple.c (STREQ): Likewise.
31924         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
31925         * lib/getugroups.c (STREQ): Likewise.
31926
31927 2010-01-23  Jim Meyering  <meyering@redhat.com>
31928
31929         maint.mk: fix syntax-check in a non-srcdir build directory
31930         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
31931         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
31932
31933 2010-01-22  Jim Meyering  <meyering@redhat.com>
31934
31935         userspec: add unit tests
31936         * tests/test-userspec.c: New file.
31937         * modules/userspec-tests: Likewise.
31938
31939 2010-01-21  Jim Meyering  <meyering@redhat.com>
31940
31941         maint.mk: handle source file names containing "." robustly
31942         * top/maint.mk (_dot_escaped_srcdir): Define.
31943         (VC_LIST): Use it in LHS of sed substitution.
31944
31945 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
31946
31947         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
31948         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
31949         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
31950         from a non-srcdir build.
31951
31952 2010-01-20  Eric Blake  <ebb9@byu.net>
31953
31954         warn-on-use: use instead of link-warning
31955         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
31956         * modules/unistd (Depends-on, Makefile.am): Likewise.
31957         * modules/arpa_inet (Depends-on): Replace link-warning with
31958         warn-on-use.
31959         (Makefile.am): Update rules accordingly.
31960         * modules/ctype (Depends-on, Makefile.am): Likewise.
31961         * modules/dirent (Depends-on, Makefile.am): Likewise.
31962         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
31963         * modules/inttypes (Depends-on, Makefile.am): Likewise.
31964         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31965         * modules/locale (Depends-on, Makefile.am): Likewise.
31966         * modules/math (Depends-on, Makefile.am): Likewise.
31967         * modules/search (Depends-on, Makefile.am): Likewise.
31968         * modules/signal (Depends-on, Makefile.am): Likewise.
31969         * modules/spawn (Depends-on, Makefile.am): Likewise.
31970         * modules/stdlib (Depends-on, Makefile.am): Likewise.
31971         * modules/string (Depends-on, Makefile.am): Likewise.
31972         * modules/strings (Depends-on, Makefile.am): Likewise.
31973         * modules/sys_file (Depends-on, Makefile.am): Likewise.
31974         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
31975         * modules/sys_select (Depends-on, Makefile.am): Likewise.
31976         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
31977         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
31978         * modules/sys_times (Depends-on, Makefile.am): Likewise.
31979         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31980         * modules/wchar (Depends-on, Makefile.am): Likewise.
31981         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
31982         should be poisoned.
31983         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
31984         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
31985         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
31986         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31987         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31988         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31989         * m4/math_h.m4 (gl_MATH_H): Likewise.
31990         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31991         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31992         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31993         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31994         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31995         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31996         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31997         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
31998         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
31999         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32000         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32001         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32002         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32003         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32004         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32005         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32006         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32007         GL_LINK_WARNING.
32008         * lib/ctype.in.h: Likewise.
32009         * lib/dirent.in.h: Likewise.
32010         * lib/fcntl.in.h: Likewise.
32011         * lib/inttypes.in.h: Likewise.
32012         * lib/langinfo.in.h: Likewise.
32013         * lib/locale.in.h: Likewise.
32014         * lib/math.in.h: Likewise.
32015         * lib/search.in.h: Likewise.
32016         * lib/signal.in.h: Likewise.
32017         * lib/spawn.in.h: Likewise.
32018         * lib/stdio.in.h: Likewise.
32019         * lib/stdlib.in.h: Likewise.
32020         * lib/string.in.h: Likewise.
32021         * lib/strings.in.h: Likewise.
32022         * lib/sys_file.in.h: Likewise.
32023         * lib/sys_ioctl.in.h: Likewise.
32024         * lib/sys_select.in.h: Likewise.
32025         * lib/sys_socket.in.h: Likewise.
32026         * lib/sys_stat.in.h: Likewise.
32027         * lib/sys_times.in.h: Likewise.
32028         * lib/sys_utsname.in.h: Likewise.
32029         * lib/unistd.in.h: Likewise.
32030         * lib/wchar.in.h: Likewise.
32031
32032 2010-01-20  Bruno Haible  <bruno@clisp.org>
32033
32034         Avoid duplicate -lm.
32035         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32036         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32037         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32038         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32039         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32040         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32041         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32042         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32043         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32044         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32045         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32046         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32047         Reported by Paolo Bonzini.
32048
32049 2010-01-19  Bruno Haible  <bruno@clisp.org>
32050
32051         langinfo, nl_langinfo: Relicense under LGPLv2+.
32052         * modules/langinfo (License): Change to LGPLv2+.
32053         * modules/nl_langinfo (License): Likewise.
32054         Patch by David Lutterkort <lutter@redhat.com>.
32055
32056 2010-01-19  Bruno Haible  <bruno@clisp.org>
32057
32058         Avoid compilation error with cc on OSF/1 5.1.
32059         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32060         statement, not before.
32061         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32062
32063 2010-01-18  Bruno Haible  <bruno@clisp.org>
32064
32065         Avoid a link error due to the __printf__ symbol.
32066         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32067         and 2.6.x.
32068         (__format__, __printf__): Remove definitions.
32069         * lib/argp-fmtstream.h: Likewise.
32070         * lib/argp.h: Likewise.
32071         * lib/error.h: Likewise.
32072         * lib/vasnprintf.h: Likewise.
32073         * lib/xprintf.h: Likewise.
32074         * lib/xvasprintf.h: Likewise.
32075         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32076
32077 2010-01-18  Bruno Haible  <bruno@clisp.org>
32078
32079         Tests for module 'tanl'.
32080         * modules/tanl-tests: New file.
32081         * tests/test-tanl.c: New file.
32082
32083         Tests for module 'sqrtl'.
32084         * modules/sqrtl-tests: New file.
32085         * tests/test-sqrtl.c: New file.
32086
32087         Tests for module 'sinl'.
32088         * modules/sinl-tests: New file.
32089         * tests/test-sinl.c: New file.
32090
32091         Tests for module 'logl'.
32092         * modules/logl-tests: New file.
32093         * tests/test-logl.c: New file.
32094
32095         Tests for module 'expl'.
32096         * modules/expl-tests: New file.
32097         * tests/test-expl.c: New file.
32098
32099         Tests for module 'cosl'.
32100         * modules/cosl-tests: New file.
32101         * tests/test-cosl.c: New file.
32102
32103         Tests for module 'atanl'.
32104         * modules/atanl-tests: New file.
32105         * tests/test-atanl.c: New file.
32106
32107         Tests for module 'asinl'.
32108         * modules/asinl-tests: New file.
32109         * tests/test-asinl.c: New file.
32110
32111         Tests for module 'acosl'.
32112         * modules/acosl-tests: New file.
32113         * tests/test-acosl.c: New file.
32114
32115         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32116         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32117         tanl): Use the standard gnulib idiom.
32118         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32119         * lib/sinl.c: Likewise.
32120         * lib/tanl.c: Don't include trigl.c.
32121         (kernel_tanl): Make static.
32122         * lib/sincosl.c: Include trigl.h first.
32123         * lib/trigl.c: Likewise.
32124         * m4/acosl.m4: New file.
32125         * m4/asinl.m4: New file.
32126         * m4/atanl.m4: New file.
32127         * m4/cosl.m4: New file.
32128         * m4/expl.m4: New file.
32129         * m4/logl.m4: New file.
32130         * m4/sinl.m4: New file.
32131         * m4/sqrtl.m4: New file.
32132         * m4/tanl.m4: New file.
32133         * m4/mathl.m4: Remove file.
32134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32135         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32136         Don't initialize GNULIB_MATHL.
32137         * modules/acosl: New file.
32138         * modules/asinl: New file.
32139         * modules/atanl: New file.
32140         * modules/cosl: New file.
32141         * modules/expl: New file.
32142         * modules/logl: New file.
32143         * modules/sinl: New file.
32144         * modules/sqrtl: New file.
32145         * modules/tanl: New file.
32146         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32147         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32148         substitute GNULIB_MATHL.
32149         * modules/mathl: Rewritten.
32150         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32151         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32152         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32153         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32154         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32155         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32156         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32157         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32158         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32159
32160 2010-01-18  Bruno Haible  <bruno@clisp.org>
32161
32162         sqrt: Make gl_FUNC_SQRT requirable.
32163         * m4/sqrt.m4: New file.
32164         * modules/sqrt (Files): Add it.
32165         (configure.ac): Invoke gl_FUNC_SQRT.
32166
32167 2010-01-18  Bruno Haible  <bruno@clisp.org>
32168
32169         New modules for common <math.h> functions.
32170         * m4/mathfunc.m4: New file.
32171         * modules/acos: New file.
32172         * modules/asin: New file.
32173         * modules/atan: New file.
32174         * modules/atan2: New file.
32175         * modules/cbrt: New file.
32176         * modules/copysign: New file.
32177         * modules/cos: New file.
32178         * modules/cosh: New file.
32179         * modules/erf: New file.
32180         * modules/erfc: New file.
32181         * modules/exp: New file.
32182         * modules/fabs: New file.
32183         * modules/fmod: New file.
32184         * modules/hypot: New file.
32185         * modules/j0: New file.
32186         * modules/j1: New file.
32187         * modules/jn: New file.
32188         * modules/ldexp: New file.
32189         * modules/lgamma: New file.
32190         * modules/log: New file.
32191         * modules/log10: New file.
32192         * modules/log1p: New file.
32193         * modules/logb: New file.
32194         * modules/modf: New file.
32195         * modules/nextafter: New file.
32196         * modules/pow: New file.
32197         * modules/remainder: New file.
32198         * modules/rint: New file.
32199         * modules/sin: New file.
32200         * modules/sinh: New file.
32201         * modules/sqrt: New file.
32202         * modules/tan: New file.
32203         * modules/tanh: New file.
32204         * modules/y0: New file.
32205         * modules/y1: New file.
32206         * modules/yn: New file.
32207         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32208         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32209         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32210         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32211         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32212         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32213         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32214         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32215         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32216         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32217         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32218         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32219         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32220         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32221         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32222         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32223         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32224         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32225         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32226         * doc/posix-functions/log.texi: Mention the 'log' module.
32227         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32228         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32229         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32230         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32231         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32232         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32233         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32234         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32235         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32236         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32237         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32238         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32239         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32240         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32241         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32242         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32243
32244 2010-01-18  Jim Meyering  <meyering@redhat.com>
32245
32246         ignore-value: relax license to LGPLv2+
32247         * modules/ignore-value (License): Relax to LGPLv2+.
32248
32249         getdate: don't leak when TZ contains two or more '"'s
32250         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32251         double quote in TZ after the first one.
32252
32253         readtokens: do not leak internal token_lengths buffer
32254         * lib/readtokens.c (readtokens): Free the local, lengths,
32255         when the supplied "token_lengths" parameter is NULL.
32256
32257 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32258
32259         Fix a couple of missing LIBTHREAD link failures on AIX.
32260         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32261         $(LIBTHREAD).
32262         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32263
32264         Link test-poll against INET_PTON_LIB.
32265         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32266         for inet_pton on Solaris 10.
32267
32268 2010-01-17  Bruno Haible  <bruno@clisp.org>
32269
32270         unistdio/*-sprintf: Fix typo in module description.
32271         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32272         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32273         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32274         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32275         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32276         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32277         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32278         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32279
32280 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32281
32282         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32283         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32284         variables in shell case patterns, for AIX and HP-UX ksh.
32285
32286         Split large sed scripts, for HP-UX sed.
32287         * modules/stdio: Split sed scripts around 50 sed commands,
32288         to avoid HP-UX limit of 99 commands, in the near future.
32289         * modules/string: Likewise.
32290         * modules/unistd: Likewise.
32291
32292         gnulib-tool: avoid writing in the current directory.
32293         * gnulib-tool (func_emit_lib_Makefile_am)
32294         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32295         not in the current directory, so concurrent gnulib-tool
32296         instances do not interfere.
32297
32298 2010-01-16  Jim Meyering  <meyering@redhat.com>
32299
32300         doc: update users.txt
32301         * users.txt: Add grep.
32302         (diffutils, gzip): Update URLs.
32303
32304 2010-01-12  Bruno Haible  <bruno@clisp.org>
32305
32306         posix_spawn: Avoid test failure on Cygwin.
32307         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32308         characters.
32309         Reported by Simon Josefsson.
32310
32311 2010-01-12  Bruno Haible  <bruno@clisp.org>
32312
32313         * tests/test-cond.c (main): When skipping the test, show the reason.
32314
32315 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32316
32317         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32318
32319 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32320
32321         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32322         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32323
32324 2010-01-12  Eric Blake  <ebb9@byu.net>
32325
32326         build: guarantee AS_VAR_IF
32327         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32328         (gl_AS_VAR_IF): Move...
32329         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32330         Reported by Simon Josefsson.
32331
32332 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32333
32334         * lib/stdio.in.h: Fix typo.
32335
32336 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32337
32338         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32339         libgpg-error.
32340
32341 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32342
32343         * tests/test-xalloc-die.sh: Use $EXEEXT.
32344
32345 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32346             Bruno Haible  <bruno@clisp.org>
32347
32348         getlogin, getlogin_r: Avoid test failure.
32349         * tests/test-getlogin.c: Include <stdio.h>.
32350         (main): Skip the test when the function fails because stdin is not a
32351         tty.
32352         * tests/test-getlogin_r.c: Include <stdio.h>.
32353         (main): Skip the test when the function fails because stdin is not a
32354         tty.
32355
32356 2010-01-11  Eric Blake  <ebb9@byu.net>
32357
32358         tests: avoid more large file warnings
32359         * tests/test-fflush.c: Avoid warning about ftell use.
32360         * tests/test-fseek.c: Avoid warning about fseek use.
32361
32362 2010-01-10  Bruno Haible  <bruno@clisp.org>
32363
32364         nproc: Work better on Linux when /proc and /sys are not mounted.
32365         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32366         as lower bound when, on glibc/Linux systems,
32367         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32368         Suggested by Pádraig Brady <P@draigbrady.com>.
32369         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32370
32371         nproc: Refactor.
32372         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32373         extracted from num_processors.
32374         (num_processors): Call it.
32375
32376 2010-01-11  Jim Meyering  <meyering@redhat.com>
32377
32378         utimecmp: avoid new warning from upcoming gcc-4.5.0
32379         * lib/utimecmp.c (BILLION): Define using #define rather than an
32380         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32381
32382 2010-01-11  Eric Blake  <ebb9@byu.net>
32383
32384         math: add portability warnings for classification macros
32385         * modules/math (Depends-on): Add warn-on-use.
32386         (Makefile.am): Provide new substitutions.
32387         * m4/math_h.m4 (gl_MATH_H): Require inline.
32388         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32389         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32390         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32391         implement warnings.
32392
32393         unistd: warn on use of environ without module
32394         * modules/unistd (Depends-on): Add warn-on-use.
32395         (Makefile.am): Provide new substitutions.
32396         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32397         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32398
32399         stdio: warn on suspicious uses
32400         * modules/stdio (Depends-on): Add warn-on-use.
32401         (Makefile.am): Provide new substitutions.
32402         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32403         fseeko.
32404         * lib/stdio.in.h (gets): Always warn on use.
32405         (fseek, ftell): Adjust when warnings are issued, and honor
32406         _GL_NO_LARGE_FILES as a way to silence the warning.
32407         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32408         any warning about large file offsets.
32409         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32410         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32411         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32412         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32413         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32414         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32415         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32416         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32417
32418         warn-on-use: new module
32419         * modules/warn-on-use: New file.
32420         * build-aux/warn-on-use.h: Likewise.
32421         * m4/warn-on-use.m4: Likewise.
32422         * MODULES.html.sh (Support for building): Mention it.
32423
32424 2010-01-10  Bruno Haible  <bruno@clisp.org>
32425
32426         Tests for module 'unistr/u32-strdup'.
32427         * modules/unistr/u32-strdup-tests: New file.
32428         * tests/unistr/test-u32-strdup.c: New file.
32429
32430         Tests for module 'unistr/u16-strdup'.
32431         * modules/unistr/u16-strdup-tests: New file.
32432         * tests/unistr/test-u16-strdup.c: New file.
32433
32434         Tests for module 'unistr/u8-strdup'.
32435         * modules/unistr/u8-strdup-tests: New file.
32436         * tests/unistr/test-u8-strdup.c: New file.
32437         * tests/unistr/test-strdup.h: New file.
32438
32439         Tests for module 'unistr/u32-strncmp'.
32440         * modules/unistr/u32-strncmp-tests: New file.
32441         * tests/unistr/test-u32-strncmp.c: New file.
32442
32443         Tests for module 'unistr/u16-strncmp'.
32444         * modules/unistr/u16-strncmp-tests: New file.
32445         * tests/unistr/test-u16-strncmp.c: New file.
32446
32447         Tests for module 'unistr/u8-strncmp'.
32448         * modules/unistr/u8-strncmp-tests: New file.
32449         * tests/unistr/test-u8-strncmp.c: New file.
32450         * tests/unistr/test-strncmp.h: New file.
32451
32452         Tests for module 'unistr/u32-strcoll'.
32453         * modules/unistr/u32-strcoll-tests: New file.
32454         * tests/unistr/test-u32-strcoll.c: New file.
32455
32456         Tests for module 'unistr/u16-strcoll'.
32457         * modules/unistr/u16-strcoll-tests: New file.
32458         * tests/unistr/test-u16-strcoll.c: New file.
32459
32460         Tests for module 'unistr/u8-strcoll'.
32461         * modules/unistr/u8-strcoll-tests: New file.
32462         * tests/unistr/test-u8-strcoll.c: New file.
32463
32464         Tests for module 'unistr/u32-strcmp'.
32465         * modules/unistr/u32-strcmp-tests: New file.
32466         * tests/unistr/test-u32-strcmp.c: New file.
32467         * tests/unistr/test-u32-strcmp.h: New file.
32468
32469         Tests for module 'unistr/u16-strcmp'.
32470         * modules/unistr/u16-strcmp-tests: New file.
32471         * tests/unistr/test-u16-strcmp.c: New file.
32472         * tests/unistr/test-u16-strcmp.h: New file.
32473
32474         Tests for module 'unistr/u8-strcmp'.
32475         * modules/unistr/u8-strcmp-tests: New file.
32476         * tests/unistr/test-u8-strcmp.c: New file.
32477         * tests/unistr/test-u8-strcmp.h: New file.
32478         * tests/unistr/test-strcmp.h: New file.
32479
32480         Tests for module 'unistr/u32-strncat'.
32481         * modules/unistr/u32-strncat-tests: New file.
32482         * tests/unistr/test-u32-strncat.c: New file.
32483
32484         Tests for module 'unistr/u16-strncat'.
32485         * modules/unistr/u16-strncat-tests: New file.
32486         * tests/unistr/test-u16-strncat.c: New file.
32487
32488         Tests for module 'unistr/u8-strncat'.
32489         * modules/unistr/u8-strncat-tests: New file.
32490         * tests/unistr/test-u8-strncat.c: New file.
32491         * tests/unistr/test-strncat.h: New file.
32492
32493         Tests for module 'unistr/u32-strcat'.
32494         * modules/unistr/u32-strcat-tests: New file.
32495         * tests/unistr/test-u32-strcat.c: New file.
32496
32497         Tests for module 'unistr/u16-strcat'.
32498         * modules/unistr/u16-strcat-tests: New file.
32499         * tests/unistr/test-u16-strcat.c: New file.
32500
32501         Tests for module 'unistr/u8-strcat'.
32502         * modules/unistr/u8-strcat-tests: New file.
32503         * tests/unistr/test-u8-strcat.c: New file.
32504         * tests/unistr/test-strcat.h: New file.
32505
32506         Tests for module 'unistr/u32-stpncpy'.
32507         * modules/unistr/u32-stpncpy-tests: New file.
32508         * tests/unistr/test-u32-stpncpy.c: New file.
32509
32510         Tests for module 'unistr/u16-stpncpy'.
32511         * modules/unistr/u16-stpncpy-tests: New file.
32512         * tests/unistr/test-u16-stpncpy.c: New file.
32513
32514         Tests for module 'unistr/u8-stpncpy'.
32515         * modules/unistr/u8-stpncpy-tests: New file.
32516         * tests/unistr/test-u8-stpncpy.c: New file.
32517         * tests/unistr/test-stpncpy.h: New file.
32518
32519         Tests for module 'unistr/u32-strncpy'.
32520         * modules/unistr/u32-strncpy-tests: New file.
32521         * tests/unistr/test-u32-strncpy.c: New file.
32522
32523         Tests for module 'unistr/u16-strncpy'.
32524         * modules/unistr/u16-strncpy-tests: New file.
32525         * tests/unistr/test-u16-strncpy.c: New file.
32526
32527         Tests for module 'unistr/u8-strncpy'.
32528         * modules/unistr/u8-strncpy-tests: New file.
32529         * tests/unistr/test-u8-strncpy.c: New file.
32530         * tests/unistr/test-strncpy.h: New file.
32531
32532         Tests for module 'unistr/u32-stpcpy'.
32533         * modules/unistr/u32-stpcpy-tests: New file.
32534         * tests/unistr/test-u32-stpcpy.c: New file.
32535
32536         Tests for module 'unistr/u16-stpcpy'.
32537         * modules/unistr/u16-stpcpy-tests: New file.
32538         * tests/unistr/test-u16-stpcpy.c: New file.
32539
32540         Tests for module 'unistr/u8-stpcpy'.
32541         * modules/unistr/u8-stpcpy-tests: New file.
32542         * tests/unistr/test-u8-stpcpy.c: New file.
32543         * tests/unistr/test-stpcpy.h: New file.
32544
32545         Tests for module 'unistr/u32-strcpy'.
32546         * modules/unistr/u32-strcpy-tests: New file.
32547         * tests/unistr/test-u32-strcpy.c: New file.
32548
32549         Tests for module 'unistr/u16-strcpy'.
32550         * modules/unistr/u16-strcpy-tests: New file.
32551         * tests/unistr/test-u16-strcpy.c: New file.
32552
32553         Tests for module 'unistr/u8-strcpy'.
32554         * modules/unistr/u8-strcpy-tests: New file.
32555         * tests/unistr/test-u8-strcpy.c: New file.
32556         * tests/unistr/test-strcpy.h: New file.
32557
32558         Tests for module 'unistr/u32-strnlen'.
32559         * modules/unistr/u32-strnlen-tests: New file.
32560         * tests/unistr/test-u32-strnlen.c: New file.
32561
32562         Tests for module 'unistr/u16-strnlen'.
32563         * modules/unistr/u16-strnlen-tests: New file.
32564         * tests/unistr/test-u16-strnlen.c: New file.
32565
32566         Tests for module 'unistr/u8-strnlen'.
32567         * modules/unistr/u8-strnlen-tests: New file.
32568         * tests/unistr/test-u8-strnlen.c: New file.
32569         * tests/unistr/test-strnlen.h: New file.
32570
32571         Tests for module 'unistr/u32-strlen'.
32572         * modules/unistr/u32-strlen-tests: New file.
32573         * tests/unistr/test-u32-strlen.c: New file.
32574
32575         Tests for module 'unistr/u16-strlen'.
32576         * modules/unistr/u16-strlen-tests: New file.
32577         * tests/unistr/test-u16-strlen.c: New file.
32578
32579         Tests for module 'unistr/u8-strlen'.
32580         * modules/unistr/u8-strlen-tests: New file.
32581         * tests/unistr/test-u8-strlen.c: New file.
32582
32583         Tests for module 'unistr/u32-prev'.
32584         * modules/unistr/u32-prev-tests: New file.
32585         * tests/unistr/test-u32-prev.c: New file.
32586
32587         Tests for module 'unistr/u16-prev'.
32588         * modules/unistr/u16-prev-tests: New file.
32589         * tests/unistr/test-u16-prev.c: New file.
32590
32591         Tests for module 'unistr/u8-prev'.
32592         * modules/unistr/u8-prev-tests: New file.
32593         * tests/unistr/test-u8-prev.c: New file.
32594
32595         Tests for module 'unistr/u32-next'.
32596         * modules/unistr/u32-next-tests: New file.
32597         * tests/unistr/test-u32-next.c: New file.
32598
32599         Tests for module 'unistr/u16-next'.
32600         * modules/unistr/u16-next-tests: New file.
32601         * tests/unistr/test-u16-next.c: New file.
32602
32603         Tests for module 'unistr/u8-next'.
32604         * modules/unistr/u8-next-tests: New file.
32605         * tests/unistr/test-u8-next.c: New file.
32606
32607         Tests for module 'unistr/u32-strmbtouc'.
32608         * modules/unistr/u32-strmbtouc-tests: New file.
32609         * tests/unistr/test-u32-strmbtouc.c: New file.
32610
32611         Tests for module 'unistr/u16-strmbtouc'.
32612         * modules/unistr/u16-strmbtouc-tests: New file.
32613         * tests/unistr/test-u16-strmbtouc.c: New file.
32614
32615         Tests for module 'unistr/u8-strmbtouc'.
32616         * modules/unistr/u8-strmbtouc-tests: New file.
32617         * tests/unistr/test-u8-strmbtouc.c: New file.
32618
32619         Tests for module 'unistr/u32-strmblen'.
32620         * modules/unistr/u32-strmblen-tests: New file.
32621         * tests/unistr/test-u32-strmblen.c: New file.
32622
32623         Tests for module 'unistr/u16-strmblen'.
32624         * modules/unistr/u16-strmblen-tests: New file.
32625         * tests/unistr/test-u16-strmblen.c: New file.
32626
32627         Tests for module 'unistr/u8-strmblen'.
32628         * modules/unistr/u8-strmblen-tests: New file.
32629         * tests/unistr/test-u8-strmblen.c: New file.
32630
32631         Tests for module 'unistr/u32-cpy-alloc'.
32632         * modules/unistr/u32-cpy-alloc-tests: New file.
32633         * tests/unistr/test-u32-cpy-alloc.c: New file.
32634
32635         Tests for module 'unistr/u16-cpy-alloc'.
32636         * modules/unistr/u16-cpy-alloc-tests: New file.
32637         * tests/unistr/test-u16-cpy-alloc.c: New file.
32638
32639         Tests for module 'unistr/u8-cpy-alloc'.
32640         * modules/unistr/u8-cpy-alloc-tests: New file.
32641         * tests/unistr/test-u8-cpy-alloc.c: New file.
32642         * tests/unistr/test-cpy-alloc.h: New file.
32643
32644         Tests for module 'unistr/u32-mbsnlen'.
32645         * modules/unistr/u32-mbsnlen-tests: New file.
32646         * tests/unistr/test-u32-mbsnlen.c: New file.
32647
32648         Tests for module 'unistr/u16-mbsnlen'.
32649         * modules/unistr/u16-mbsnlen-tests: New file.
32650         * tests/unistr/test-u16-mbsnlen.c: New file.
32651
32652         Tests for module 'unistr/u8-mbsnlen'.
32653         * modules/unistr/u8-mbsnlen-tests: New file.
32654         * tests/unistr/test-u8-mbsnlen.c: New file.
32655
32656         Tests for module 'unistr/u32-chr'.
32657         * modules/unistr/u32-chr-tests: New file.
32658         * tests/unistr/test-u32-chr.c: New file.
32659
32660         Tests for module 'unistr/u16-chr'.
32661         * modules/unistr/u16-chr-tests: New file.
32662         * tests/unistr/test-u16-chr.c: New file.
32663
32664         Tests for module 'unistr/u8-chr'.
32665         * modules/unistr/u8-chr-tests: New file.
32666         * tests/unistr/test-u8-chr.c: New file.
32667         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32668
32669         Tests for module 'unistr/u32-cmp2'.
32670         * modules/unistr/u32-cmp2-tests: New file.
32671         * tests/unistr/test-u32-cmp2.c: New file.
32672
32673         Tests for module 'unistr/u16-cmp2'.
32674         * modules/unistr/u16-cmp2-tests: New file.
32675         * tests/unistr/test-u16-cmp2.c: New file.
32676
32677         Tests for module 'unistr/u8-cmp2'.
32678         * modules/unistr/u8-cmp2-tests: New file.
32679         * tests/unistr/test-u8-cmp2.c: New file.
32680         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32681
32682         Tests for module 'unistr/u32-cmp'.
32683         * modules/unistr/u32-cmp-tests: New file.
32684         * tests/unistr/test-u32-cmp.c: New file.
32685
32686         Tests for module 'unistr/u16-cmp'.
32687         * modules/unistr/u16-cmp-tests: New file.
32688         * tests/unistr/test-u16-cmp.c: New file.
32689
32690         Tests for module 'unistr/u8-cmp'.
32691         * modules/unistr/u8-cmp-tests: New file.
32692         * tests/unistr/test-u8-cmp.c: New file.
32693         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32694
32695         Tests for module 'unistr/u32-set'.
32696         * modules/unistr/u32-set-tests: New file.
32697         * tests/unistr/test-u32-set.c: New file.
32698
32699         Tests for module 'unistr/u16-set'.
32700         * modules/unistr/u16-set-tests: New file.
32701         * tests/unistr/test-u16-set.c: New file.
32702
32703         Tests for module 'unistr/u8-set'.
32704         * modules/unistr/u8-set-tests: New file.
32705         * tests/unistr/test-u8-set.c: New file.
32706         * tests/unistr/test-set.h: New file.
32707
32708         Tests for module 'unistr/u32-move'.
32709         * modules/unistr/u32-move-tests: New file.
32710         * tests/unistr/test-u32-move.c: New file.
32711
32712         Tests for module 'unistr/u16-move'.
32713         * modules/unistr/u16-move-tests: New file.
32714         * tests/unistr/test-u16-move.c: New file.
32715
32716         Tests for module 'unistr/u8-move'.
32717         * modules/unistr/u8-move-tests: New file.
32718         * tests/unistr/test-u8-move.c: New file.
32719         * tests/unistr/test-move.h: New file.
32720
32721         Tests for module 'unistr/u32-cpy'.
32722         * modules/unistr/u32-cpy-tests: New file.
32723         * tests/unistr/test-u32-cpy.c: New file.
32724
32725         Tests for module 'unistr/u16-cpy'.
32726         * modules/unistr/u16-cpy-tests: New file.
32727         * tests/unistr/test-u16-cpy.c: New file.
32728
32729         Tests for module 'unistr/u8-cpy'.
32730         * modules/unistr/u8-cpy-tests: New file.
32731         * tests/unistr/test-u8-cpy.c: New file.
32732         * tests/unistr/test-cpy.h: New file.
32733
32734 2010-01-09  Bruno Haible  <bruno@clisp.org>
32735
32736         Tests for module 'unistr/u32-uctomb'.
32737         * modules/unistr/u32-uctomb-tests: New file.
32738         * tests/unistr/test-u32-uctomb.c: New file.
32739
32740         Tests for module 'unistr/u16-uctomb'.
32741         * modules/unistr/u16-uctomb-tests: New file.
32742         * tests/unistr/test-u16-uctomb.c: New file.
32743
32744         Tests for module 'unistr/u8-uctomb'.
32745         * modules/unistr/u8-uctomb-tests: New file.
32746         * tests/unistr/test-u8-uctomb.c: New file.
32747
32748         Tests for module 'unistr/u32-mbtoucr'.
32749         * modules/unistr/u32-mbtoucr-tests: New file.
32750         * tests/unistr/test-u32-mbtoucr.c: New file.
32751
32752         Tests for module 'unistr/u16-mbtoucr'.
32753         * modules/unistr/u16-mbtoucr-tests: New file.
32754         * tests/unistr/test-u16-mbtoucr.c: New file.
32755
32756         Tests for module 'unistr/u8-mbtoucr'.
32757         * modules/unistr/u8-mbtoucr-tests: New file.
32758         * tests/unistr/test-u8-mbtoucr.c: New file.
32759
32760         Tests for module 'unistr/u32-mbtouc'.
32761         * modules/unistr/u32-mbtouc-tests: New file.
32762         * tests/unistr/test-u32-mbtouc.c: New file.
32763
32764         Tests for module 'unistr/u16-mbtouc'.
32765         * modules/unistr/u16-mbtouc-tests: New file.
32766         * tests/unistr/test-u16-mbtouc.c: New file.
32767
32768         Tests for module 'unistr/u8-mbtouc'.
32769         * modules/unistr/u8-mbtouc-tests: New file.
32770         * tests/unistr/test-u8-mbtouc.c: New file.
32771
32772         Tests for module 'unistr/u32-mbtouc-unsafe'.
32773         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32774         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32775         * tests/unistr/test-u32-mbtouc.h: New file.
32776
32777         Tests for module 'unistr/u16-mbtouc-unsafe'.
32778         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32779         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32780         * tests/unistr/test-u16-mbtouc.h: New file.
32781
32782         Tests for module 'unistr/u8-mbtouc-unsafe'.
32783         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32784         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32785         * tests/unistr/test-u8-mbtouc.h: New file.
32786
32787         Tests for module 'unistr/u32-mblen'.
32788         * modules/unistr/u32-mblen-tests: New file.
32789         * tests/unistr/test-u32-mblen.c: New file.
32790
32791         Tests for module 'unistr/u16-mblen'.
32792         * modules/unistr/u16-mblen-tests: New file.
32793         * tests/unistr/test-u16-mblen.c: New file.
32794
32795         Tests for module 'unistr/u8-mblen'.
32796         * modules/unistr/u8-mblen-tests: New file.
32797         * tests/unistr/test-u8-mblen.c: New file.
32798
32799         Tests for module 'unistr/u32-to-u16'.
32800         * modules/unistr/u32-to-u16-tests: New file.
32801         * tests/unistr/test-u32-to-u16.c: New file.
32802
32803         Tests for module 'unistr/u32-to-u8'.
32804         * modules/unistr/u32-to-u8-tests: New file.
32805         * tests/unistr/test-u32-to-u8.c: New file.
32806
32807         Tests for module 'unistr/u16-to-u32'.
32808         * modules/unistr/u16-to-u32-tests: New file.
32809         * tests/unistr/test-u16-to-u32.c: New file.
32810
32811         Tests for module 'unistr/u16-to-u8'.
32812         * modules/unistr/u16-to-u8-tests: New file.
32813         * tests/unistr/test-u16-to-u8.c: New file.
32814
32815         Tests for module 'unistr/u8-to-u32'.
32816         * modules/unistr/u8-to-u32-tests: New file.
32817         * tests/unistr/test-u8-to-u32.c: New file.
32818
32819         Tests for module 'unistr/u8-to-u16'.
32820         * modules/unistr/u8-to-u16-tests: New file.
32821         * tests/unistr/test-u8-to-u16.c: New file.
32822
32823         Tests for module 'unistr/u32-check'.
32824         * modules/unistr/u32-check-tests: New file.
32825         * tests/unistr/test-u32-check.c: New file.
32826
32827         Tests for module 'unistr/u16-check'.
32828         * modules/unistr/u16-check-tests: New file.
32829         * tests/unistr/test-u16-check.c: New file.
32830
32831         Tests for module 'unistr/u8-check'.
32832         * modules/unistr/u8-check-tests: New file.
32833         * tests/unistr/test-u8-check.c: New file.
32834
32835         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32836         (category_equals): New function.
32837         (main): Add more tests.
32838         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32839
32840         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32841
32842 2010-01-10  Bruno Haible  <bruno@clisp.org>
32843
32844         unistr/u*-strcoll: Try harder to distinguish different strings.
32845         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32846         compare s1 and s2 to see if they are different.
32847
32848 2010-01-10  Bruno Haible  <bruno@clisp.org>
32849
32850         unistr/u*-stpncpy: Fix the return value.
32851         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32852         description of the return value consistent with stpncpy in glibc.
32853         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32854         written non-NUL unit.
32855
32856 2010-01-10  Bruno Haible  <bruno@clisp.org>
32857
32858         unistr/u*-next: Add missing dependencies.
32859         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32860         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32861         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32862
32863 2010-01-10  Bruno Haible  <bruno@clisp.org>
32864
32865         unistr/u8-mbsnlen: Fix return value for incomplete character.
32866         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32867         u8_mblen.
32868         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32869         Remove unistr/u8-mblen.
32870         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32871         u16_mblen.
32872         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32873         Remove unistr/u16-mblen.
32874
32875 2010-01-10  Bruno Haible  <bruno@clisp.org>
32876
32877         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32878         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32879         Reported by Brian Gough <bjg@gnu.org> and
32880         Chris Clayton <chris2553@googlemail.com> via
32881         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32882
32883 2010-01-09  Bruno Haible  <bruno@clisp.org>
32884
32885         unistr/u16-to-u32: Reject invalid input.
32886         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32887         u16_mbtouc.
32888         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32889         Remove unistr/u16-mbtouc.
32890
32891         unistr/u16-to-u8: Reject invalid input.
32892         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32893         u16_mbtouc.
32894         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32895         Remove unistr/u16-mbtouc.
32896
32897         unistr/u8-to-u32: Reject invalid input.
32898         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32899         u8_mbtouc.
32900         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32901         Remove unistr/u8-mbtouc.
32902
32903         unistr/u8-to-u16: Reject invalid input.
32904         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32905         u8_mbtouc.
32906         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32907         Remove unistr/u8-mbtouc.
32908
32909 2010-01-09  Bruno Haible  <bruno@clisp.org>
32910
32911         Tests for module 'getlogin'.
32912         * modules/getlogin-tests: New file.
32913         * tests/test-getlogin.c: New file.
32914
32915         New module 'getlogin'.
32916         * lib/unistd.in.h (getlogin): New declaration.
32917         * lib/getlogin.c: New file.
32918         * m4/getlogin.m4: New file.
32919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
32920         HAVE_GETLOGIN.
32921         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
32922         HAVE_GETLOGIN.
32923         * modules/getlogin: New file.
32924         * doc/posix-functions/getlogin.texi: Mention the new module.
32925         Reported by John W. Eaton <jwe@gnu.org>.
32926
32927 2010-01-09  Bruno Haible  <bruno@clisp.org>
32928
32929         getlogin_r: Support for native Windows.
32930         * lib/getlogin_r.c: Include <windows.h>
32931         (getlogin_r): Implement for native Windows.
32932         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
32933         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
32934         via John W. Eaton <jwe@gnu.org>.
32935
32936 2010-01-09  Bruno Haible  <bruno@clisp.org>
32937
32938         getlogin_r: Small fixes.
32939         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
32940         succeeds.
32941         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
32942         before testing whether getlogin_r is declared. No need to set
32943         HAVE_DECL_GETLOGIN_R to 1.
32944         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
32945
32946 2010-01-09  Bruno Haible  <bruno@clisp.org>
32947
32948         * lib/unistd.in.h (getlogin_r): Add comment.
32949
32950 2010-01-09  Bruno Haible  <bruno@clisp.org>
32951
32952         Tests for module 'getlogin_r'.
32953         * modules/getlogin_r-tests: New file.
32954         * tests/test-getlogin_r.c: New file.
32955
32956 2010-01-09  Jim Meyering  <meyering@redhat.com>
32957
32958         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
32959         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
32960         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
32961
32962 2010-01-08  Simon Josefsson  <simon@josefsson.org>
32963
32964         * lib/dup2.c (rpl_dup2): Improve comment.
32965
32966 2010-01-08  Eric Blake  <ebb9@byu.net>
32967
32968         maint.mk: allow packages to add makefile @@ exceptions
32969         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
32970         (sc_makefile_check): Rename...
32971         (sc_makefile_at_at_check): ...to this, and use hook.
32972
32973         dup2: work around mingw bug
32974         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
32975         Reported by Simon Josefsson.
32976
32977 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
32978
32979         glob: Fix C++ compilation.
32980         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
32981         C++.
32982
32983 2010-01-07  Bruno Haible  <bruno@clisp.org>
32984
32985         Fix indentation of wctype.in.h, broken since 2007-01-06.
32986         * lib/wctype.in.h: Fix indentation of preprocessor directives.
32987
32988 2010-01-07  Bruno Haible  <bruno@clisp.org>
32989
32990         mbslen: Avoid collision with system function.
32991         * lib/string.in.h [MirBSD]: Include <wchar.h>.
32992         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
32993         * m4/mbslen.m4: New file.
32994         * modules/mbslen (Files): Add it.
32995         (configure.ac): Invoke gl_MBSLEN.
32996         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
32997         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
32998         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
32999         via Ian Beckwith <ianb@erislabs.net>.
33000
33001 2010-01-07  Bruno Haible  <bruno@clisp.org>
33002
33003         dirent: Document the last fix.
33004         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33005
33006 2010-01-07  Bruno Haible  <bruno@clisp.org>
33007
33008         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33009         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33010         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33011         va_list are defined.
33012         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33013         Reported by Eric Blake.
33014
33015 2010-01-07  Bruno Haible  <bruno@clisp.org>
33016
33017         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33018         * modules/xlist (Depends-on): Add 'list',
33019         * modules/xoset (Depends-on): Add 'oset'.
33020         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33021
33022 2010-01-07  Bruno Haible  <bruno@clisp.org>
33023
33024         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33025         * doc/posix-functions/strncasecmp.texi: Likewise.
33026
33027 2010-01-07  Bruno Haible  <bruno@clisp.org>
33028
33029         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33030
33031 2010-01-07  John W. Eaton  <jwe@octave.org>
33032
33033         wctype: allow C++ use
33034         * lib/wctype.in.h: Add extern "C" block for C++.
33035
33036 2010-01-06  Eric Blake  <ebb9@byu.net>
33037
33038         maint.mk: detect incorrect GFDL usage
33039         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33040
33041 2010-01-06  Jim Meyering  <meyering@redhat.com>
33042         and Eric Blake  <ebb9@byu.net>
33043
33044         maint.mk: ignore multi-line copyright in NEWS
33045         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33046
33047 2010-01-06  Eric Blake  <ebb9@byu.net>
33048
33049         select: add missing dependency
33050         * modules/select-tests (Depends-on): Move sockets dependency...
33051         * modules/select (Depends-on): ...here.
33052         Reported by Ian Beckwith.
33053
33054         doc: regenerate INSTALL
33055         * doc/INSTALL: Reflect recent autoconf update.
33056         * doc/INSTALL.ISO: Likewise.
33057         * doc/INSTALL.UTF-8: Likewise.
33058
33059         pread: fix compilation on glibc
33060         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33061         Reported by Ralf Wildenhues.
33062
33063         dirent: fix test failure
33064         * lib/dirent.in.h (includes): Guarantee ino_t.
33065         Reported by Ralf Wildenhues.
33066
33067 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33068
33069         linkat, renameat: avoid bad free
33070         * lib/at-func2.c (at_func2): Fix typo.
33071         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33072
33073 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33074
33075         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33076         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33077         to avoid failure of symlink test later.
33078
33079 2010-01-06  Eric Blake  <ebb9@byu.net>
33080
33081         stdio, unistd: guarantee ssize_t
33082         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33083         2008 are exposed when needed.
33084         * lib/stdio.in.h (includes): Likewise.
33085         Reported by Ralf Wildenhues.
33086
33087 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33088
33089         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33090         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33091         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33092
33093 2010-01-06  Jim Meyering  <meyering@redhat.com>
33094
33095         readtokens: this module *does* require xalloc.h
33096         It uses only functions that were omitted by the old syntax-check rule.
33097         * lib/readtokens.c: Include "xalloc.h" once again.
33098         * modules/readtokens (Depends-on): Add xalloc.
33099         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33100
33101 2010-01-05  Eric Blake  <ebb9@byu.net>
33102
33103         maint: support 'make announcement' from a VPATH build
33104         * top/maint.mk (announcement): Look for correct NEWS file.
33105
33106 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33107
33108         utimens (fdutimens): ignore a negative FD, per contract
33109         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33110         when we have a valid file descriptor.  Otherwise, using a brand
33111         new glibc (with just-patched futimens that now fails with EBADF)
33112         would cause this function to fail with ENOSYS.
33113         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33114         See also http://bugzilla.redhat.com/552320.
33115
33116 2010-01-05  Eric Blake  <ebb9@byu.net>
33117
33118         strcase: document what it provides
33119         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33120         gnulib module.
33121         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33122         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33123
33124 2010-01-05  Jim Meyering  <meyering@redhat.com>
33125
33126         maint: remove useless inclusions of "xalloc.h"
33127         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33128         * lib/readtokens.c: Likewise.
33129         * lib/same.c: Likewise.
33130         * modules/getloadavg (Depends-on): Remove xalloc.
33131         * modules/readtokens: Likewise.
33132         * modules/same: Likewise.
33133
33134         maint.mk: include 4 more function names in alloca.h-checking regexp
33135         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33136         regexp.  Before, we would give a false-positive (saying alloca.h
33137         is included unnecessarily) when the only uses involved omitted symbols.
33138
33139         xalloc.h: use consistent formatting
33140         * lib/xalloc.h: Move declarations to start in the first column.
33141
33142 2010-01-05  Eric Blake  <ebb9@byu.net>
33143
33144         mkdir: avoid xalloc
33145         * lib/mkdir.c (includes): Drop unused header.
33146         Reported by John W. Eaton.
33147
33148 2010-01-04  Jim Meyering  <meyering@redhat.com>
33149
33150         nl_langinfo: avoid configure-time syntax error
33151         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33152         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33153         the empty string.  Don't let that provoke a shell syntax error.
33154
33155         regcomp, regexec, fnmatch: avoid array bounds read error
33156         * lib/regcomp.c (build_equiv_class): From glibc:
33157         Use only the low 24 bits of a findidx return value as an index
33158         into the weights array.  Patch by Ulrich Drepper:
33159         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33160         * lib/regexec.c (check_node_accept_bytes): Likewise.
33161         * lib/fnmatch_loop.c (FCT): Likewise.
33162
33163         regcomp: skip collseq lookup when there are no rules
33164         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33165         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33166
33167         regcomp: recognize ill-formed { } expressions
33168         * lib/regcomp.c (parse_dup_op): From glibc:
33169         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33170
33171         regcomp: fix typo in comment
33172         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33173         s/satisfy/satisfies/.
33174
33175         regcomp: sync from glibc: remove dead store
33176         * lib/regcomp.c (duplicate_node_closure): Remove useless
33177         search_duplicated_node call and dead store.
33178
33179         regcomp: sync from glibc; always use nl_langinfo
33180         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33181         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33182         * modules/regex (Depends-on): Add nl_langinfo.
33183
33184 2010-01-04  Eric Blake  <ebb9@byu.net>
33185
33186         fdopendir: fix configure test
33187         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33188
33189 2010-01-01  Bruno Haible  <bruno@clisp.org>
33190
33191         wchar: Remove unused configure check.
33192         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33193
33194 2010-01-01  Eric Blake  <ebb9@byu.net>
33195
33196         headers: make check of system header explicit
33197         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33198         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33199         ourselves.
33200         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33201         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33202         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33203         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33204         internals.
33205         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33206         missing.
33207         Suggested by Bruno Haible.
33208
33209 2010-01-01  Jim Meyering  <meyering@redhat.com>
33210
33211         ChangeLog: tweak to eliminate unnecessary copyright line
33212         * ChangeLog: Remove a copyright line that was mistakenly updated
33213         by today's update-copyright run.  Reported by Eric Blake.
33214
33215         test-update-copyright: don't let envvar setting cause test failure
33216         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33217
33218 2010-01-01  Bruno Haible  <bruno@clisp.org>
33219
33220         localename: Avoid gcc warning.
33221         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33222         function if it is not used.
33223
33224 2010-01-01  Jim Meyering  <meyering@redhat.com>
33225
33226         update nearly all FSF copyright year lists to include 2010
33227         Use the same procedure as for 2009, outlined in
33228         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33229
33230         version-etc: set COPYRIGHT_YEAR to 2010
33231         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33232
33233 2009-12-31  Eric Blake  <ebb9@byu.net>
33234
33235         doc: correct availability of cygwin 1.5.x getopt
33236         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33237         variables.
33238         * doc/posix-functions/opterr.texi (opterr): Likewise.
33239         * doc/posix-functions/optind.texi (optind): Likewise.
33240         * doc/posix-functions/optopt.texi (optopt): Likewise.
33241         * doc/posix-functions/tzname.texi (tzname): Likewise.
33242
33243         openat: update maintainer
33244         * modules/openat (Maintainer): Add myself.
33245
33246         utimens: avoid shadowing warning
33247         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33248         buffers into one, to avoid shadowing, as well as avoiding a
33249         redundant stat.
33250         Reported by Jim Meyering.
33251
33252         test-dup2: avoid compiler warning
33253         * tests/test-dup2.c (is_inheritable): Only define if used.
33254
33255 2010-01-01  Bruno Haible  <bruno@clisp.org>
33256
33257         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33258         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33259         defined, use wctomb instead of wcrtomb.
33260
33261 2010-01-01  Bruno Haible  <bruno@clisp.org>
33262
33263         iconv: Reject native Solaris iconv.
33264         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33265         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33266
33267 2009-12-31  Bruno Haible  <bruno@clisp.org>
33268
33269         * tests/test-signal.c (main): Remove test of 'SIG'.
33270
33271 2009-12-31  Bruno Haible  <bruno@clisp.org>
33272
33273         spawn: Fix incomplete fix.
33274         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33275         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33276         warnings for GNULIB_POSIXCHECK again.
33277         Reported by Eric Blake.
33278
33279 2009-12-31  Bruno Haible  <bruno@clisp.org>
33280
33281         Avoid namespace pollution on glibc systems.
33282         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33283         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33284         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33285         glibc systems.
33286
33287 2009-12-31  Bruno Haible  <bruno@clisp.org>
33288
33289         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33290         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33291         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33292         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33293         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33294         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33295         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33296
33297 2009-12-31  Bruno Haible  <bruno@clisp.org>
33298
33299         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33300         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33301         afterwards.
33302
33303 2009-12-31  Bruno Haible  <bruno@clisp.org>
33304
33305         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33306         SYS_UTSNAME_H.
33307
33308 2009-12-31  Bruno Haible  <bruno@clisp.org>
33309
33310         spawn: Fix misapplied patch.
33311         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33312         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33313         warnings for GNULIB_POSIXCHECK.
33314
33315 2009-12-31  Bruno Haible  <bruno@clisp.org>
33316
33317         times: Update after sys_times changed.
33318         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33319         * modules/times (Files): Add it.
33320         (configure.ac): Invoke gl_FUNC_TIMES.
33321
33322 2009-12-31  Bruno Haible  <bruno@clisp.org>
33323
33324         Use AC_C_INLINE where necessary.
33325         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33326         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33327         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33328         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33329         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33330         * m4/mbiter.m4 (gl_MBITER): Likewise.
33331         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33332         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33333         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33334         * modules/u64 (configure.ac): Likewise.
33335
33336 2009-12-31  Bruno Haible  <bruno@clisp.org>
33337
33338         Use AC_C_INLINE instead of module 'inline' where possible.
33339         * modules/inline (Description): Clarify purpose.
33340         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33341         * modules/count-one-bits (Depends-on): Remove inline.
33342         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33343         * modules/openat (Depends-on): Remove inline.
33344         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33345         instead of depending on module 'inline'.
33346         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33347         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33348         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33349         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33350         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33351         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33352         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33353         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33354         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33355         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33356         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33357         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33358         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33359         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33360         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33361         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33362         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33363         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33364         Likewise.
33365         * modules/unictype/property-ascii-hex-digit (Depends-on,
33366         configure.ac): Likewise.
33367         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33368         configure.ac): Likewise.
33369         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33370         configure.ac): Likewise.
33371         * modules/unictype/property-bidi-block-separator (Depends-on,
33372         configure.ac): Likewise.
33373         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33374         configure.ac): Likewise.
33375         * modules/unictype/property-bidi-common-separator (Depends-on,
33376         configure.ac): Likewise.
33377         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33378         Likewise.
33379         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33380         configure.ac): Likewise.
33381         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33382         configure.ac): Likewise.
33383         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33384         configure.ac): Likewise.
33385         * modules/unictype/property-bidi-european-digit (Depends-on,
33386         configure.ac): Likewise.
33387         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33388         configure.ac): Likewise.
33389         * modules/unictype/property-bidi-left-to-right (Depends-on,
33390         configure.ac): Likewise.
33391         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33392         configure.ac): Likewise.
33393         * modules/unictype/property-bidi-other-neutral (Depends-on,
33394         configure.ac): Likewise.
33395         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33396         Likewise.
33397         * modules/unictype/property-bidi-segment-separator (Depends-on,
33398         configure.ac): Likewise.
33399         * modules/unictype/property-bidi-whitespace (Depends-on,
33400         configure.ac): Likewise.
33401         * modules/unictype/property-combining (Depends-on, configure.ac):
33402         Likewise.
33403         * modules/unictype/property-composite (Depends-on, configure.ac):
33404         Likewise.
33405         * modules/unictype/property-currency-symbol (Depends-on,
33406         configure.ac): Likewise.
33407         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33408         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33409         Likewise.
33410         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33411         configure.ac): Likewise.
33412         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33413         Likewise.
33414         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33415         Likewise.
33416         * modules/unictype/property-extender (Depends-on, configure.ac):
33417         Likewise.
33418         * modules/unictype/property-format-control (Depends-on, configure.ac):
33419         Likewise.
33420         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33421         Likewise.
33422         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33423         Likewise.
33424         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33425         Likewise.
33426         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33427         Likewise.
33428         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33429         Likewise.
33430         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33431         Likewise.
33432         * modules/unictype/property-id-start (Depends-on, configure.ac):
33433         Likewise.
33434         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33435         Likewise.
33436         * modules/unictype/property-ids-binary-operator (Depends-on,
33437         configure.ac): Likewise.
33438         * modules/unictype/property-ids-trinary-operator (Depends-on,
33439         configure.ac): Likewise.
33440         * modules/unictype/property-ignorable-control (Depends-on,
33441         configure.ac): Likewise.
33442         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33443         Likewise.
33444         * modules/unictype/property-join-control (Depends-on, configure.ac):
33445         Likewise.
33446         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33447         Likewise.
33448         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33449         Likewise.
33450         * modules/unictype/property-logical-order-exception (Depends-on,
33451         configure.ac): Likewise.
33452         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33453         Likewise.
33454         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33455         * modules/unictype/property-non-break (Depends-on, configure.ac):
33456         Likewise.
33457         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33458         Likewise.
33459         * modules/unictype/property-numeric (Depends-on, configure.ac):
33460         Likewise.
33461         * modules/unictype/property-other-alphabetic (Depends-on,
33462         configure.ac): Likewise.
33463         * modules/unictype/property-other-default-ignorable-code-point
33464         (Depends-on, configure.ac): Likewise.
33465         * modules/unictype/property-other-grapheme-extend (Depends-on,
33466         configure.ac): Likewise.
33467         * modules/unictype/property-other-id-continue (Depends-on,
33468         configure.ac): Likewise.
33469         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33470         Likewise.
33471         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33472         Likewise.
33473         * modules/unictype/property-other-math (Depends-on, configure.ac):
33474         Likewise.
33475         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33476         Likewise.
33477         * modules/unictype/property-paired-punctuation (Depends-on,
33478         configure.ac): Likewise.
33479         * modules/unictype/property-paragraph-separator (Depends-on,
33480         configure.ac): Likewise.
33481         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33482         Likewise.
33483         * modules/unictype/property-pattern-white-space (Depends-on,
33484         configure.ac): Likewise.
33485         * modules/unictype/property-private-use (Depends-on, configure.ac):
33486         Likewise.
33487         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33488         Likewise.
33489         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33490         Likewise.
33491         * modules/unictype/property-radical (Depends-on, configure.ac):
33492         Likewise.
33493         * modules/unictype/property-sentence-terminal (Depends-on,
33494         configure.ac): Likewise.
33495         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33496         Likewise.
33497         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33498         * modules/unictype/property-terminal-punctuation (Depends-on,
33499         configure.ac): Likewise.
33500         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33501         Likewise.
33502         * modules/unictype/property-unassigned-code-value (Depends-on,
33503         configure.ac): Likewise.
33504         * modules/unictype/property-unified-ideograph (Depends-on,
33505         configure.ac): Likewise.
33506         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33507         Likewise.
33508         * modules/unictype/property-variation-selector (Depends-on,
33509         configure.ac): Likewise.
33510         * modules/unictype/property-white-space (Depends-on, configure.ac):
33511         Likewise.
33512         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33513         Likewise.
33514         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33515         Likewise.
33516         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33517         Likewise.
33518         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33519         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33520         Likewise.
33521
33522 2009-12-31  Bruno Haible  <bruno@clisp.org>
33523
33524         Remove unnecessary AC_C_INLINE invocation.
33525         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33526         since 2009-08-21.
33527
33528 2009-12-31  Jim Meyering  <meyering@redhat.com>
33529
33530         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33531         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33532         With this change, we can all remove the gpg_key_ID = ... definition
33533         from our respective cfg.mk files.
33534
33535         maint.mk: create announcement template in ~/, not in /tmp
33536         * top/maint.mk (emit_upload_commands): Adjust.
33537         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33538         Remove temporary file, .ci-msg.
33539
33540 2009-12-31  Eric Blake  <ebb9@byu.net>
33541
33542         link-warning: always build headers with link warnings
33543         * modules/arpa_inet (Makefile.am): Always build replacement
33544         header.
33545         * modules/ctype (Makefile.am): Likewise.
33546         * modules/dirent (Makefile.am): Likewise.
33547         * modules/inttypes (Makefile.am): Likewise.
33548         * modules/langinfo (Makefile.am): Likewise.
33549         * modules/locale (Makefile.am): Likewise.
33550         * modules/spawn (Makefile.am): Likewise.
33551         * modules/sys_file (Makefile.am): Likewise.
33552         * modules/sys_ioctl (Makefile.am): Likewise.
33553         * modules/sys_select (Makefile.am): Likewise.
33554         * modules/sys_socket (Makefile.am): Likewise.
33555         * modules/sys_times (Makefile.am): Likewise.
33556         * modules/sys_utsname (Makefile.am): Likewise.
33557         * modules/sys_wait (Makefile.am): Likewise.
33558         * modules/wchar (Makefile.am): Likewise.
33559         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33560         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33561         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33562         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33563         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33564         Likewise.
33565         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33566         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33567         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33568         Likewise.
33569         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33570         Likewise.
33571         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33572         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33573         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33574         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33575         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33576         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33577         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33578         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33579         (gl_WCHAR_H_DEFAULTS): Likewise.
33580
33581 2009-12-31  Eric Blake  <ebb9@byu.net>
33582
33583         signal, spawn: use link warnings
33584         * lib/signal.in.h (sigset_t): Make unconditional.
33585         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33586         (sigpending, sigprocmask, sigaction): Add link warnings.
33587         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33588         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33589         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33590         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33591         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33592         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33593         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33594         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33595         (posix_spawn_file_actions_destroy)
33596         (posix_spawn_file_actions_addopen)
33597         (posix_spawn_file_actions_addclose)
33598         (posix_spawn_file_actions_adddup2): Likewise.
33599         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33600         * tests/test-signal.c (main): Enhance test.
33601
33602         spawn: improve wrapper support
33603         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33604         (gl_SPAWN_H_DEFAULTS): New defaults.
33605         * modules/spawn (Makefile.am): Substitute them.
33606         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33607         Only declare if missing or broken.
33608
33609         sys_times, sys_utsname: use include_next
33610         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33611         header.
33612         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33613         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33614         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33615         * modules/sys_times (Depends-on): Add include_next.
33616         (Makefile.am): Substitute additional values.
33617         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33618         * lib/sys_times.in.h (includes): Include native header, if
33619         available.
33620         * lib/sys_utsname.in.h (includes): Likewise.
33621         * tests/test-sys_times.c (main): Enhance test.
33622
33623         fdutimensat: revert prior patch
33624         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33625         utimens.h.
33626         Reported by Bruno Haible.
33627
33628 2009-12-30  Eric Blake  <ebb9@byu.net>
33629
33630         sys_wait: drop link-warning dependency
33631         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33632         link-warning efforts.
33633         * lib/sys_wait.in.h: Likewise.
33634
33635         fdutimensat: remove bogus dependency
33636         * modules/fdutimensat (Depends-on): Drop inline.
33637
33638         unistd: fix typo
33639         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33640
33641 2009-12-30  Bruno Haible  <bruno@clisp.org>
33642
33643         Fix compilation error with Solaris cc.
33644         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33645         * lib/unicase/u16-is-invariant.c: Likewise.
33646         * lib/unicase/u32-is-invariant.c: Likewise.
33647         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33648
33649 2009-12-30  Bruno Haible  <bruno@clisp.org>
33650
33651         Fix test crash.
33652         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33653         locales.
33654         Reported by Simon Josefsson <simon@josefsson.org>.
33655
33656 2009-12-30  Bruno Haible  <bruno@clisp.org>
33657
33658         Fix compilation error on most platforms.
33659         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33660         Reported by Simon Josefsson <simon@josefsson.org>
33661         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33662
33663 2009-12-30  Eric Blake  <ebb9@byu.net>
33664
33665         futimens, utimensat: work around ntfs-3g bug
33666         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33667         a ctime bug is present, and expand workaround to cover ntfs-3g.
33668         * lib/utimens.c (fdutimens, lutimens): Likewise.
33669         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33670         (validate_timespec): Adjust return value.
33671         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33672         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33673         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33674
33675 2009-12-29  Eric Blake  <ebb9@byu.net>
33676
33677         link-warning: make usage consistent
33678         * modules/ctype (Depends-on): Add link-warning.
33679         (Makefile.am): Update rules accordingly.
33680         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33681         * modules/locale (Depends-on, Makefile.am): Likewise.
33682         * modules/sys_file (Makefile.am): Likewise.
33683         * modules/getopt-posix (Makefile.am): Delete unused link warning
33684         efforts.
33685         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33686         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33687         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33688         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33689
33690         stdio: remove unused variables
33691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33692         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33693         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33694
33695         tests: test more substitute headers
33696         * modules/ctype-tests: New file.
33697         * modules/dirent-tests: Likewise.
33698         * modules/spawn-tests: Likewise.
33699         * modules/sys_file-tests: Likewise.
33700         * modules/sys_ioctl-tests: Likewise.
33701         * modules/sys_wait-tests: Likewise.
33702         * tests/test-ctype.c: Likewise.
33703         * tests/test-dirent.c: Likewise.
33704         * tests/test-spawn.c: Likewise.
33705         * tests/test-sys_file.c: Likewise.
33706         * tests/test-sys_ioctl.c: Likewise.
33707         * tests/test-sys_wait.c: Likewise.
33708         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33709         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33710         whether or not flock is in use.
33711
33712         tests: remove License section from module
33713         * modules/arpa_inet-tests: Remove unneeded section.
33714         * modules/byteswap-tests: Likewise.
33715         * modules/ceilf-tests: Likewise.
33716         * modules/ceill-tests: Likewise.
33717         * modules/crypto/des-tests: Likewise.
33718         * modules/crypto/gc-arcfour-tests: Likewise.
33719         * modules/crypto/gc-arctwo-tests: Likewise.
33720         * modules/crypto/gc-des-tests: Likewise.
33721         * modules/crypto/gc-hmac-md5-tests: Likewise.
33722         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33723         * modules/crypto/gc-md2-tests: Likewise.
33724         * modules/crypto/gc-md4-tests: Likewise.
33725         * modules/crypto/gc-md5-tests: Likewise.
33726         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33727         * modules/crypto/gc-rijndael-tests: Likewise.
33728         * modules/crypto/gc-sha1-tests: Likewise.
33729         * modules/crypto/gc-tests: Likewise.
33730         * modules/crypto/md2-tests: Likewise.
33731         * modules/crypto/md4-tests: Likewise.
33732         * modules/fcntl-h-tests: Likewise.
33733         * modules/floorf-tests: Likewise.
33734         * modules/floorl-tests: Likewise.
33735         * modules/frexp-nolibm-tests: Likewise.
33736         * modules/frexp-tests: Likewise.
33737         * modules/frexpl-nolibm-tests: Likewise.
33738         * modules/frexpl-tests: Likewise.
33739         * modules/getaddrinfo-tests: Likewise.
33740         * modules/inttypes-tests: Likewise.
33741         * modules/isfinite-tests: Likewise.
33742         * modules/isinf-tests: Likewise.
33743         * modules/ldexpl-tests: Likewise.
33744         * modules/locale-tests: Likewise.
33745         * modules/math-tests: Likewise.
33746         * modules/netdb-tests: Likewise.
33747         * modules/netinet_in-tests: Likewise.
33748         * modules/printf-frexp-tests: Likewise.
33749         * modules/printf-frexpl-tests: Likewise.
33750         * modules/priv-set-tests: Likewise.
33751         * modules/random_r-tests: Likewise.
33752         * modules/round-tests: Likewise.
33753         * modules/roundf-tests: Likewise.
33754         * modules/roundl-tests: Likewise.
33755         * modules/search-tests: Likewise.
33756         * modules/select-tests: Likewise.
33757         * modules/signal-tests: Likewise.
33758         * modules/stdbool-tests: Likewise.
33759         * modules/stddef-tests: Likewise.
33760         * modules/stdint-tests: Likewise.
33761         * modules/stdio-tests: Likewise.
33762         * modules/stdlib-tests: Likewise.
33763         * modules/string-tests: Likewise.
33764         * modules/strings-tests: Likewise.
33765         * modules/sys_select-tests: Likewise.
33766         * modules/sys_socket-tests: Likewise.
33767         * modules/sys_stat-tests: Likewise.
33768         * modules/sys_time-tests: Likewise.
33769         * modules/sys_utsname-tests: Likewise.
33770         * modules/sysexits-tests: Likewise.
33771         * modules/time-tests: Likewise.
33772         * modules/trunc-tests: Likewise.
33773         * modules/truncf-tests: Likewise.
33774         * modules/truncl-tests: Likewise.
33775         * modules/tsearch-tests: Likewise.
33776         * modules/unistd-tests: Likewise.
33777         * modules/wchar-tests: Likewise.
33778         * modules/wctype-tests: Likewise.
33779
33780         tests: fix license on several tests
33781         * tests/test-des.c: Update to GPLv3+.
33782         * tests/test-flock.c: Likewise.
33783         * tests/test-fsync.c: Likewise.
33784         * tests/test-futimens.h: Likewise.
33785         * tests/test-gc-arcfour.c: Likewise.
33786         * tests/test-gc-arctwo.c: Likewise.
33787         * tests/test-gc-des.c: Likewise.
33788         * tests/test-gc-hmac-md5.c: Likewise.
33789         * tests/test-gc-hmac-sha1.c: Likewise.
33790         * tests/test-gc-md2.c: Likewise.
33791         * tests/test-gc-md4.c: Likewise.
33792         * tests/test-gc-md5.c: Likewise.
33793         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33794         * tests/test-gc-rijndael.c: Likewise.
33795         * tests/test-gc-sha1.c: Likewise.
33796         * tests/test-gc.c: Likewise.
33797         * tests/test-getcwd.c: Likewise.
33798         * tests/test-link.c: Likewise.
33799         * tests/test-link.h: Likewise.
33800         * tests/test-lutimens.h: Likewise.
33801         * tests/test-md2.c: Likewise.
33802         * tests/test-md4.c: Likewise.
33803         * tests/test-mkdir.h: Likewise.
33804         * tests/test-rename.c: Likewise.
33805         * tests/test-rename.h: Likewise.
33806         * tests/test-safe-alloc.c: Likewise.
33807         * tests/test-utimens-common.h: Likewise.
33808         * tests/test-utimens.h: Likewise.
33809
33810         maint: sync license texts
33811         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33812         * doc/gpl-3.0.texi: Revert copyright year update.
33813         * doc/lgpl-3.0.texi: Likewise.
33814
33815 2009-12-29  Jim Meyering  <meyering@redhat.com>
33816
33817         update nearly all FSF copyright year lists to include 2009
33818         The files named by the following are exempted:
33819             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33820               test -f "$dst" && { echo "$dst"; continue; }
33821               test -d "$dst" || continue
33822               echo "$dst"/$(basename "$src")
33823             done > exempt
33824             git ls-files tests/unictype >> exempt
33825         In the remaining files, convert to all-interval notation if
33826         - there is already at least one year interval like 2000-2003
33827         - the file is maintained by me
33828         - the file is in lib/uni*/, where that style already prevails
33829         Otherwise, use update-copyright's default.
33830
33831 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33832         and Eric Blake  <ebb9@byu.net>
33833
33834         tests: don't require debug system() to pass
33835         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33836         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33837         * tests/test-unlink.h (test_unlink_func): Likewise.
33838         * tests/test-fstatat.c (main): ...into callers.
33839         * tests/test-lstat.c (main): Likewise.
33840         * tests/test-rmdir.c (main): Likewise.
33841         * tests/test-unlink.c (main): Likewise.
33842         * tests/test-unlinkat.c (main): Likewise.
33843         * tests/test-areadlink-with-size.c (main): Don't require a
33844         debug-only system call to pass, aiding cross-testing to mingw.
33845         * tests/test-areadlink.c (main): Likewise.
33846         * tests/test-areadlinkat-with-size.c (main): Likewise.
33847         * tests/test-areadlinkat.c (main): Likewise.
33848         * tests/test-canonicalize-lgpl.c (main): Likewise.
33849         * tests/test-canonicalize.c (main): Likewise.
33850         * tests/test-chown.c (main): Likewise.
33851         * tests/test-fchownat.c (main): Likewise.
33852         * tests/test-lchown.c (main): Likewise.
33853         * tests/test-fdutimensat.c (main): Likewise.
33854         * tests/test-futimens.c (main): Likewise.
33855         * tests/test-link.c (main): Likewise.
33856         * tests/test-linkat.c (main): Likewise.
33857         * tests/test-mkdir.c (main): Likewise.
33858         * tests/test-mkdirat.c (main): Likewise.
33859         * tests/test-mkfifo.c (main): Likewise.
33860         * tests/test-mkfifoat.c (main): Likewise.
33861         * tests/test-mknod.c (main): Likewise.
33862         * tests/test-readlink.c (main): Likewise.
33863         * tests/test-remove.c (main): Likewise.
33864         * tests/test-rename.c (main): Likewise.
33865         * tests/test-renameat.c (main): Likewise.
33866         * tests/test-symlink.c (main): Likewise.
33867         * tests/test-symlinkat.c (main): Likewise.
33868         * tests/test-utimens.c (main): Likewise.
33869         * tests/test-utimensat.c (main): Likewise.
33870
33871 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33872
33873         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33874         on $(UNUSED_PARAMETER_H) to avoid build failure.
33875
33876 2009-12-28  Jim Meyering  <meyering@redhat.com>
33877
33878         update-copyright: you may specify a max. line length other than 72
33879         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33880
33881         maint: use consistent FSF copyright line syntax
33882         * lib/posixtm.c: Add missing comma in FSF copyright line.
33883         * lib/posixtm.h: Likewise.
33884         * lib/getugroups.c: Add missing ", Inc.".
33885
33886         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33887         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33888         FSF copyright line.  Remove trailing blanks.
33889
33890 2009-12-28  Eric Blake  <ebb9@byu.net>
33891
33892         test-dup2: reduce dependencies
33893         * modules/cloexec (Configure.ac): Set witness.
33894         * modules/dup2-tests (Depends-on): Drop cloexec.
33895         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33896         not present.
33897         Suggested by Bruno Haible.
33898
33899 2009-12-26  Bruno Haible  <bruno@clisp.org>
33900
33901         Remove an unneeded dependency.
33902         * modules/fseterr (Depends-on): Remove dup2.
33903
33904 2009-12-26  Eric Blake  <ebb9@byu.net>
33905
33906         tests: use macros.h in more places
33907         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33908         (ASSERT_STREAM): Provide default of stderr.
33909         * tests/test-dirent-safer.c: Include macros.h, using alternate
33910         stream for assertions.
33911         * tests/test-dup-safer.c: Likewise.
33912         * tests/test-freopen-safer.c: Likewise.
33913         * tests/test-getopt.c: Likewise.
33914         * tests/test-openat-safer.c: Likewise.
33915         * tests/test-pipe.c: Likewise.
33916         * tests/test-popen-safer.c: Likewise.
33917         * modules/dirent-safer-tests (Files): Include macros.h.
33918         * modules/unistd-safer-tests (Files): Likewise.
33919         * modules/freopen-safer-tests (Files): Likewise.
33920         * modules/getopt-posix-tests (Files): Likewise.
33921         * modules/openat-safer-tests (Files): Likewise.
33922         * modules/pipe-tests (Files): Likewise.
33923
33924 2009-12-26  Bruno Haible  <bruno@clisp.org>
33925
33926         javacomp: Portability fix.
33927         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
33928         that it also works on Solaris.
33929
33930 2009-12-26  Bruno Haible  <bruno@clisp.org>
33931
33932         localename: Fix storage allocation of gl_locale_name_thread's result.
33933         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
33934         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
33935         all platforms that have 'uselocale'.
33936         (gl_locale_name_thread_unsafe): New function, extracted from
33937         gl_locale_name_thread.
33938         (gl_locale_name_thread): Call struniq on all platforms that have
33939         'uselocale'.
33940         * tests/test-localename.c (test_locale_name_thread): Check that the
33941         resulting strings are permanently allocated.
33942         * modules/localename-tests (Depends-on): Add strdup.
33943
33944 2009-12-26  Bruno Haible  <bruno@clisp.org>
33945
33946         * tests/test-localename.c (categories): Fill in the strings.
33947
33948 2009-12-26  Jim Meyering  <meyering@redhat.com>
33949
33950         isdir: complete the removal of m4/isdir.m4
33951         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
33952
33953         isdir: clean up, since at least grep still uses it
33954         * lib/isdir.c: Include "isdir.h".
33955         (S_ISDIR): Remove now-unneeded definition.
33956         * modules/isdir (Files): Add lib/isdir.h.
33957         * lib/isdir.h: New file, with declaration.
33958         * m4/isdir.m4: Remove file -- unneeded.
33959
33960 2009-12-25  Bruno Haible  <bruno@clisp.org>
33961
33962         selinux-h: Make generated .h files standalone.
33963         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
33964         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
33965         * lib/se-selinux.in.h: Likewise.
33966         * modules/selinux-h (Depends-on): Add unused-parameter.
33967         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
33968         selinux/selinux.h and selinux/context.h.
33969         Suggested by Eric Blake.
33970
33971 2009-12-25  Bruno Haible  <bruno@clisp.org>
33972
33973         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
33974         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
33975         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
33976         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
33977         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
33978
33979 2009-12-24  Bruno Haible  <bruno@clisp.org>
33980
33981         openat: Fix warning.
33982         * lib/openat-proc.c: Include <unistd.h>.
33983
33984 2009-12-24  Bruno Haible  <bruno@clisp.org>
33985
33986         New module 'unused-parameter'.
33987         * build-aux/unused-parameter.h: New file, extracted from earlier
33988         gnulib-common.m4.
33989         * modules/unused-parameter: New file.
33990         * lib/unistr.h: Include unused-parameter.h.
33991         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
33992         _GL_UNUSED.
33993         * modules/unistr/base (Depends-on): Add unused-parameter.
33994
33995 2009-12-24  Bruno Haible  <bruno@clisp.org>
33996
33997         Add missing dependencies to 'extensions' module.
33998         * m4/extensions.m4: Add comment.
33999         * modules/accept4 (Depends-on): Add extensions.
34000         * modules/dup3 (Depends-on): Likewise.
34001         * modules/fcntl (Depends-on): Likewise.
34002         * modules/futimens (Depends-on): Likewise.
34003         * modules/mknod (Depends-on): Likewise.
34004         * modules/pipe2 (Depends-on): Likewise.
34005         * modules/stat-time (Depends-on): Likewise.
34006         * modules/strcasestr-simple (Depends-on): Likewise.
34007         * modules/strsignal (Depends-on): Likewise.
34008         * modules/utimensat (Depends-on): Likewise.
34009         * modules/localcharset (Depends-on): Likewise. Needed because of
34010         gl_FCNTL_O_FLAGS.
34011         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34012         AC_TYPE_MBSTATE_T.
34013         * modules/wcsnrtombs (Depends-on): Likewise.
34014         * modules/wcsrtombs (Depends-on): Likewise.
34015
34016 2009-12-24  Bruno Haible  <bruno@clisp.org>
34017
34018         binary-io: Avoid gcc warning due to SET_BINARY.
34019         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34020         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34021
34022 2009-12-24  Bruno Haible  <bruno@clisp.org>
34023
34024         Avoid future namespace pollution on glibc systems.
34025         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34026         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34027         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34028         glibc systems.
34029
34030 2009-12-24  Bruno Haible  <bruno@clisp.org>
34031
34032         Refactor common macros used in tests.
34033         * tests/macros.h: New file.
34034         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34035         and/or <stdlib.h>, if appropriate.
34036         (ASSERT, SIZEOF): Remove macros.
34037         * tests/test-areadlink-with-size.c: Likewise.
34038         * tests/test-areadlinkat.c: Likewise.
34039         * tests/test-areadlinkat-with-size.c: Likewise.
34040         * tests/test-argmatch.c: Likewise.
34041         * tests/test-argv-iter.c: Likewise.
34042         * tests/test-array-mergesort.c: Likewise.
34043         * tests/test-array_list.c: Likewise.
34044         * tests/test-array_oset.c: Likewise.
34045         * tests/test-avltree_list.c: Likewise.
34046         * tests/test-avltree_oset.c: Likewise.
34047         * tests/test-avltreehash_list.c: Likewise.
34048         * tests/test-base64.c: Likewise.
34049         * tests/test-binary-io.c: Likewise.
34050         * tests/test-bitrotate.c: Likewise.
34051         * tests/test-btowc.c: Likewise.
34052         * tests/test-byteswap.c: Likewise.
34053         * tests/test-c-ctype.c: Likewise.
34054         * tests/test-c-stack.c: Likewise.
34055         * tests/test-c-strcasecmp.c: Likewise.
34056         * tests/test-c-strcasestr.c: Likewise.
34057         * tests/test-c-strncasecmp.c: Likewise.
34058         * tests/test-c-strstr.c: Likewise.
34059         * tests/test-canonicalize-lgpl.c: Likewise.
34060         * tests/test-canonicalize.c: Likewise.
34061         * tests/test-carray_list.c: Likewise.
34062         * tests/test-ceilf1.c: Likewise.
34063         * tests/test-ceilf2.c: Likewise.
34064         * tests/test-ceill.c: Likewise.
34065         * tests/test-chown.c: Likewise.
34066         * tests/test-cloexec.c: Likewise.
34067         * tests/test-copy-acl.c: Likewise.
34068         * tests/test-copy-file.c: Likewise.
34069         * tests/test-count-one-bits.c: Likewise.
34070         * tests/test-dprintf-posix.c: Likewise.
34071         * tests/test-dup2.c: Likewise.
34072         * tests/test-dup3.c: Likewise.
34073         * tests/test-duplocale.c: Likewise.
34074         * tests/test-fbufmode.c: Likewise.
34075         * tests/test-fchdir.c: Likewise.
34076         * tests/test-fchownat.c: Likewise.
34077         * tests/test-fcntl-safer.c: Likewise.
34078         * tests/test-fcntl.c: Likewise.
34079         * tests/test-fdopendir.c: Likewise.
34080         * tests/test-fdutimensat.c: Likewise.
34081         * tests/test-fflush2.c: Likewise.
34082         * tests/test-file-has-acl.c: Likewise.
34083         * tests/test-filevercmp.c: Likewise.
34084         * tests/test-flock.c: Likewise.
34085         * tests/test-floorf1.c: Likewise.
34086         * tests/test-floorf2.c: Likewise.
34087         * tests/test-floorl.c: Likewise.
34088         * tests/test-fnmatch.c: Likewise.
34089         * tests/test-fopen.h: Likewise.
34090         * tests/test-fpending.c: Likewise.
34091         * tests/test-fprintf-posix.c: Likewise.
34092         * tests/test-fpurge.c: Likewise.
34093         * tests/test-freadable.c: Likewise.
34094         * tests/test-freadahead.c: Likewise.
34095         * tests/test-freading.c: Likewise.
34096         * tests/test-freadptr.c: Likewise.
34097         * tests/test-freadptr2.c: Likewise.
34098         * tests/test-freadseek.c: Likewise.
34099         * tests/test-freopen.c: Likewise.
34100         * tests/test-frexp.c: Likewise.
34101         * tests/test-frexpl.c: Likewise.
34102         * tests/test-fseek.c: Likewise.
34103         * tests/test-fseeko.c: Likewise.
34104         * tests/test-fstatat.c: Likewise.
34105         * tests/test-fstrcmp.c: Likewise.
34106         * tests/test-fsync.c: Likewise.
34107         * tests/test-ftell.c: Likewise.
34108         * tests/test-ftello.c: Likewise.
34109         * tests/test-func.c: Likewise.
34110         * tests/test-futimens.c: Likewise.
34111         * tests/test-fwritable.c: Likewise.
34112         * tests/test-fwriting.c: Likewise.
34113         * tests/test-getcwd.c: Likewise.
34114         * tests/test-getdate.c: Likewise.
34115         * tests/test-getdelim.c: Likewise.
34116         * tests/test-getdtablesize.c: Likewise.
34117         * tests/test-getgroups.c: Likewise.
34118         * tests/test-getline.c: Likewise.
34119         * tests/test-getndelim2.c: Likewise.
34120         * tests/test-glob.c: Likewise.
34121         * tests/test-hash.c: Likewise.
34122         * tests/test-i-ring.c: Likewise.
34123         * tests/test-iconv-utf.c: Likewise.
34124         * tests/test-iconv.c: Likewise.
34125         * tests/test-idpriv-drop.c: Likewise.
34126         * tests/test-idpriv-droptemp.c: Likewise.
34127         * tests/test-inet_ntop.c: Likewise.
34128         * tests/test-inet_pton.c: Likewise.
34129         * tests/test-isblank.c: Likewise.
34130         * tests/test-isfinite.c: Likewise.
34131         * tests/test-isinf.c: Likewise.
34132         * tests/test-isnan.c: Likewise.
34133         * tests/test-isnand.h: Likewise.
34134         * tests/test-isnanf.h: Likewise.
34135         * tests/test-isnanl.h: Likewise.
34136         * tests/test-lchown.c: Likewise.
34137         * tests/test-ldexpl.c: Likewise.
34138         * tests/test-link.c: Likewise.
34139         * tests/test-linkat.c: Likewise.
34140         * tests/test-linked_list.c: Likewise.
34141         * tests/test-linkedhash_list.c: Likewise.
34142         * tests/test-localename.c: Likewise.
34143         * tests/test-lseek.c: Likewise.
34144         * tests/test-lstat.c: Likewise.
34145         * tests/test-mbmemcasecmp.c: Likewise.
34146         * tests/test-mbmemcasecoll.c: Likewise.
34147         * tests/test-mbrtowc.c: Likewise.
34148         * tests/test-mbscasecmp.c: Likewise.
34149         * tests/test-mbscasestr1.c: Likewise.
34150         * tests/test-mbscasestr2.c: Likewise.
34151         * tests/test-mbscasestr3.c: Likewise.
34152         * tests/test-mbscasestr4.c: Likewise.
34153         * tests/test-mbschr.c: Likewise.
34154         * tests/test-mbscspn.c: Likewise.
34155         * tests/test-mbsinit.c: Likewise.
34156         * tests/test-mbsncasecmp.c: Likewise.
34157         * tests/test-mbsnrtowcs.c: Likewise.
34158         * tests/test-mbspbrk.c: Likewise.
34159         * tests/test-mbspcasecmp.c: Likewise.
34160         * tests/test-mbsrchr.c: Likewise.
34161         * tests/test-mbsrtowcs.c: Likewise.
34162         * tests/test-mbsspn.c: Likewise.
34163         * tests/test-mbsstr1.c: Likewise.
34164         * tests/test-mbsstr2.c: Likewise.
34165         * tests/test-mbsstr3.c: Likewise.
34166         * tests/test-memchr.c: Likewise.
34167         * tests/test-memchr2.c: Likewise.
34168         * tests/test-memcmp.c: Likewise.
34169         * tests/test-memmem.c: Likewise.
34170         * tests/test-memrchr.c: Likewise.
34171         * tests/test-mkdir.c: Likewise.
34172         * tests/test-mkdirat.c: Likewise.
34173         * tests/test-mkfifo.c: Likewise.
34174         * tests/test-mkfifoat.c: Likewise.
34175         * tests/test-mknod.c: Likewise.
34176         * tests/test-nanosleep.c: Likewise.
34177         * tests/test-nl_langinfo.c: Likewise.
34178         * tests/test-obstack-printf.c: Likewise.
34179         * tests/test-open.c: Likewise.
34180         * tests/test-openat.c: Likewise.
34181         * tests/test-pipe-filter-gi1.c: Likewise.
34182         * tests/test-pipe-filter-gi2-main.c: Likewise.
34183         * tests/test-pipe-filter-ii1.c: Likewise.
34184         * tests/test-pipe-filter-ii2-main.c: Likewise.
34185         * tests/test-pipe2.c: Likewise.
34186         * tests/test-popen.h: Likewise.
34187         * tests/test-posixtm.c: Likewise.
34188         * tests/test-pread.c: Likewise.
34189         * tests/test-printf-frexp.c: Likewise.
34190         * tests/test-printf-frexpl.c: Likewise.
34191         * tests/test-printf-posix.c: Likewise.
34192         * tests/test-priv-set.c: Likewise.
34193         * tests/test-quotearg.c: Likewise.
34194         * tests/test-random_r.c: Likewise.
34195         * tests/test-rawmemchr.c: Likewise.
34196         * tests/test-rbtree_list.c: Likewise.
34197         * tests/test-rbtree_oset.c: Likewise.
34198         * tests/test-rbtreehash_list.c: Likewise.
34199         * tests/test-readlink.c: Likewise.
34200         * tests/test-remove.c: Likewise.
34201         * tests/test-rename.c: Likewise.
34202         * tests/test-renameat.c: Likewise.
34203         * tests/test-rmdir.c: Likewise.
34204         * tests/test-round1.c: Likewise.
34205         * tests/test-roundf1.c: Likewise.
34206         * tests/test-roundl.c: Likewise.
34207         * tests/test-safe-alloc.c: Likewise.
34208         * tests/test-sameacls.c: Likewise.
34209         * tests/test-set-mode-acl.c: Likewise.
34210         * tests/test-setenv.c: Likewise.
34211         * tests/test-sigaction.c: Likewise.
34212         * tests/test-signbit.c: Likewise.
34213         * tests/test-sleep.c: Likewise.
34214         * tests/test-snprintf-posix.c: Likewise.
34215         * tests/test-snprintf.c: Likewise.
34216         * tests/test-sprintf-posix.c: Likewise.
34217         * tests/test-stat-time.c: Likewise.
34218         * tests/test-stat.c: Likewise.
34219         * tests/test-strcasestr.c: Likewise.
34220         * tests/test-strchrnul.c: Likewise.
34221         * tests/test-strerror.c: Likewise.
34222         * tests/test-striconv.c: Likewise.
34223         * tests/test-striconveh.c: Likewise.
34224         * tests/test-striconveha.c: Likewise.
34225         * tests/test-strsignal.c: Likewise.
34226         * tests/test-strstr.c: Likewise.
34227         * tests/test-strtod.c: Likewise.
34228         * tests/test-strverscmp.c: Likewise.
34229         * tests/test-symlink.c: Likewise.
34230         * tests/test-symlinkat.c: Likewise.
34231         * tests/test-trunc1.c: Likewise.
34232         * tests/test-trunc2.c: Likewise.
34233         * tests/test-truncf1.c: Likewise.
34234         * tests/test-truncf2.c: Likewise.
34235         * tests/test-truncl.c: Likewise.
34236         * tests/test-uname.c: Likewise.
34237         * tests/test-unlink.c: Likewise.
34238         * tests/test-unlinkat.c: Likewise.
34239         * tests/test-unsetenv.c: Likewise.
34240         * tests/test-usleep.c: Likewise.
34241         * tests/test-utimens.c: Likewise.
34242         * tests/test-utimensat.c: Likewise.
34243         * tests/test-vasnprintf-posix.c: Likewise.
34244         * tests/test-vasnprintf-posix2.c: Likewise.
34245         * tests/test-vasnprintf.c: Likewise.
34246         * tests/test-vasprintf-posix.c: Likewise.
34247         * tests/test-vasprintf.c: Likewise.
34248         * tests/test-vdprintf-posix.c: Likewise.
34249         * tests/test-vfprintf-posix.c: Likewise.
34250         * tests/test-vprintf-posix.c: Likewise.
34251         * tests/test-vsnprintf-posix.c: Likewise.
34252         * tests/test-vsnprintf.c: Likewise.
34253         * tests/test-vsprintf-posix.c: Likewise.
34254         * tests/test-wcrtomb.c: Likewise.
34255         * tests/test-wcsnrtombs.c: Likewise.
34256         * tests/test-wcsrtombs.c: Likewise.
34257         * tests/test-wctype.c: Likewise.
34258         * tests/test-wcwidth.c: Likewise.
34259         * tests/test-xfprintf-posix.c: Likewise.
34260         * tests/test-xmemdup0.c: Likewise.
34261         * tests/test-xprintf-posix.c: Likewise.
34262         * tests/test-xvasprintf.c: Likewise.
34263         * tests/unicase/test-locale-language.c: Likewise.
34264         * tests/unicase/test-mapping-part1.h: Likewise.
34265         * tests/unicase/test-predicate-part1.h: Likewise.
34266         * tests/unicase/test-u8-casecmp.c: Likewise.
34267         * tests/unicase/test-u8-casecoll.c: Likewise.
34268         * tests/unicase/test-u8-casefold.c: Likewise.
34269         * tests/unicase/test-u8-is-cased.c: Likewise.
34270         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34271         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34272         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34273         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34274         * tests/unicase/test-u8-tolower.c: Likewise.
34275         * tests/unicase/test-u8-totitle.c: Likewise.
34276         * tests/unicase/test-u8-toupper.c: Likewise.
34277         * tests/unicase/test-u16-casecmp.c: Likewise.
34278         * tests/unicase/test-u16-casecoll.c: Likewise.
34279         * tests/unicase/test-u16-casefold.c: Likewise.
34280         * tests/unicase/test-u16-is-cased.c: Likewise.
34281         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34282         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34283         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34284         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34285         * tests/unicase/test-u16-tolower.c: Likewise.
34286         * tests/unicase/test-u16-totitle.c: Likewise.
34287         * tests/unicase/test-u16-toupper.c: Likewise.
34288         * tests/unicase/test-u32-casecmp.c: Likewise.
34289         * tests/unicase/test-u32-casecoll.c: Likewise.
34290         * tests/unicase/test-u32-casefold.c: Likewise.
34291         * tests/unicase/test-u32-is-cased.c: Likewise.
34292         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34293         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34294         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34295         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34296         * tests/unicase/test-u32-tolower.c: Likewise.
34297         * tests/unicase/test-u32-totitle.c: Likewise.
34298         * tests/unicase/test-u32-toupper.c: Likewise.
34299         * tests/unicase/test-ulc-casecmp.c: Likewise.
34300         * tests/unicase/test-ulc-casecoll.c: Likewise.
34301         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34302         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34303         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34304         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34305         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34306         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34307         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34308         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34309         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34310         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34311         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34312         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34313         * tests/unictype/test-bidi_byname.c: Likewise.
34314         * tests/unictype/test-bidi_name.c: Likewise.
34315         * tests/unictype/test-bidi_of.c: Likewise.
34316         * tests/unictype/test-bidi_test.c: Likewise.
34317         * tests/unictype/test-block_list.c: Likewise.
34318         * tests/unictype/test-block_of.c: Likewise.
34319         * tests/unictype/test-block_test.c: Likewise.
34320         * tests/unictype/test-categ_and.c: Likewise.
34321         * tests/unictype/test-categ_and_not.c: Likewise.
34322         * tests/unictype/test-categ_byname.c: Likewise.
34323         * tests/unictype/test-categ_name.c: Likewise.
34324         * tests/unictype/test-categ_none.c: Likewise.
34325         * tests/unictype/test-categ_of.c: Likewise.
34326         * tests/unictype/test-categ_or.c: Likewise.
34327         * tests/unictype/test-categ_test_withtable.c: Likewise.
34328         * tests/unictype/test-combining.c: Likewise.
34329         * tests/unictype/test-decdigit.c: Likewise.
34330         * tests/unictype/test-digit.c: Likewise.
34331         * tests/unictype/test-mirror.c: Likewise.
34332         * tests/unictype/test-numeric.c: Likewise.
34333         * tests/unictype/test-pr_byname.c: Likewise.
34334         * tests/unictype/test-pr_test.c: Likewise.
34335         * tests/unictype/test-predicate-part1.h: Likewise.
34336         * tests/unictype/test-scripts.c: Likewise.
34337         * tests/unictype/test-sy_c_ident.c: Likewise.
34338         * tests/unictype/test-sy_java_ident.c: Likewise.
34339         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34340         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34341         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34342         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34343         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34344         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34345         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34346         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34347         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34348         * tests/uninorm/test-compat-decomposition.c: Likewise.
34349         * tests/uninorm/test-composition.c: Likewise.
34350         * tests/uninorm/test-decomposing-form.c: Likewise.
34351         * tests/uninorm/test-decomposition.c: Likewise.
34352         * tests/uninorm/test-u8-nfc.c: Likewise.
34353         * tests/uninorm/test-u8-nfd.c: Likewise.
34354         * tests/uninorm/test-u8-nfkc.c: Likewise.
34355         * tests/uninorm/test-u8-nfkd.c: Likewise.
34356         * tests/uninorm/test-u8-normcmp.c: Likewise.
34357         * tests/uninorm/test-u8-normcoll.c: Likewise.
34358         * tests/uninorm/test-u16-nfc.c: Likewise.
34359         * tests/uninorm/test-u16-nfd.c: Likewise.
34360         * tests/uninorm/test-u16-nfkc.c: Likewise.
34361         * tests/uninorm/test-u16-nfkd.c: Likewise.
34362         * tests/uninorm/test-u16-normcmp.c: Likewise.
34363         * tests/uninorm/test-u16-normcoll.c: Likewise.
34364         * tests/uninorm/test-u32-nfc.c: Likewise.
34365         * tests/uninorm/test-u32-nfd.c: Likewise.
34366         * tests/uninorm/test-u32-nfkc.c: Likewise.
34367         * tests/uninorm/test-u32-nfkd.c: Likewise.
34368         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34369         * tests/uninorm/test-u32-normcmp.c: Likewise.
34370         * tests/uninorm/test-u32-normcoll.c: Likewise.
34371         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34372         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34373         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34374         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34375         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34376         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34377         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34378         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34379         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34380         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34381         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34382         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34383         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34384         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34385         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34386         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34387         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34388         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34389         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34390         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34391         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34392         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34393         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34394         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34395         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34396         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34397         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34398         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34399         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34400         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34401         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34402         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34403         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34404         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34405         * tests/uniwidth/test-u8-width.c: Likewise.
34406         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34407         * tests/uniwidth/test-u16-width.c: Likewise.
34408         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34409         * tests/uniwidth/test-u32-width.c: Likewise.
34410         * tests/uniwidth/test-uc_width.c: Likewise.
34411         * tests/uniwidth/test-uc_width2.c: Likewise.
34412         * modules/acl-tests (Files): Add tests/macros.h.
34413         * modules/areadlink-tests (Files): Likewise.
34414         * modules/areadlink-with-size-tests (Files): Likewise.
34415         * modules/areadlinkat-tests (Files): Likewise.
34416         * modules/areadlinkat-with-size-tests (Files): Likewise.
34417         * modules/argmatch-tests (Files): Likewise.
34418         * modules/argv-iter-tests (Files): Likewise.
34419         * modules/array-list-tests (Files): Likewise.
34420         * modules/array-mergesort-tests (Files): Likewise.
34421         * modules/array-oset-tests (Files): Likewise.
34422         * modules/avltree-list-tests (Files): Likewise.
34423         * modules/avltree-oset-tests (Files): Likewise.
34424         * modules/avltreehash-list-tests (Files): Likewise.
34425         * modules/base64-tests (Files): Likewise.
34426         * modules/binary-io-tests (Files): Likewise.
34427         * modules/bitrotate-tests (Files): Likewise.
34428         * modules/btowc-tests (Files): Likewise.
34429         * modules/byteswap-tests (Files): Likewise.
34430         * modules/c-ctype-tests (Files): Likewise.
34431         * modules/c-stack-tests (Files): Likewise.
34432         * modules/c-strcase-tests (Files): Likewise.
34433         * modules/c-strcasestr-tests (Files): Likewise.
34434         * modules/c-strstr-tests (Files): Likewise.
34435         * modules/canonicalize-lgpl-tests (Files): Likewise.
34436         * modules/canonicalize-tests (Files): Likewise.
34437         * modules/carray-list-tests (Files): Likewise.
34438         * modules/ceilf-tests (Files): Likewise.
34439         * modules/ceill-tests (Files): Likewise.
34440         * modules/chown-tests (Files): Likewise.
34441         * modules/cloexec-tests (Files): Likewise.
34442         * modules/copy-file-tests (Files): Likewise.
34443         * modules/count-one-bits-tests (Files): Likewise.
34444         * modules/dprintf-posix-tests (Files): Likewise.
34445         * modules/dup2-tests (Files): Likewise.
34446         * modules/dup3-tests (Files): Likewise.
34447         * modules/duplocale-tests (Files): Likewise.
34448         * modules/fbufmode-tests (Files): Likewise.
34449         * modules/fchdir-tests (Files): Likewise.
34450         * modules/fcntl-safer-tests (Files): Likewise.
34451         * modules/fcntl-tests (Files): Likewise.
34452         * modules/fdopendir-tests (Files): Likewise.
34453         * modules/fdutimensat-tests (Files): Likewise.
34454         * modules/fflush-tests (Files): Likewise.
34455         * modules/filevercmp-tests (Files): Likewise.
34456         * modules/flock-tests (Files): Likewise.
34457         * modules/floorf-tests (Files): Likewise.
34458         * modules/floorl-tests (Files): Likewise.
34459         * modules/fnmatch-tests (Files): Likewise.
34460         * modules/fopen-safer-tests (Files): Likewise.
34461         * modules/fopen-tests (Files): Likewise.
34462         * modules/fpending-tests (Files): Likewise.
34463         * modules/fprintf-posix-tests (Files): Likewise.
34464         * modules/fpurge-tests (Files): Likewise.
34465         * modules/freadable-tests (Files): Likewise.
34466         * modules/freadahead-tests (Files): Likewise.
34467         * modules/freading-tests (Files): Likewise.
34468         * modules/freadptr-tests (Files): Likewise.
34469         * modules/freadseek-tests (Files): Likewise.
34470         * modules/freopen-tests (Files): Likewise.
34471         * modules/frexp-nolibm-tests (Files): Likewise.
34472         * modules/frexp-tests (Files): Likewise.
34473         * modules/frexpl-nolibm-tests (Files): Likewise.
34474         * modules/frexpl-tests (Files): Likewise.
34475         * modules/fseek-tests (Files): Likewise.
34476         * modules/fseeko-tests (Files): Likewise.
34477         * modules/fstrcmp-tests (Files): Likewise.
34478         * modules/fsync-tests (Files): Likewise.
34479         * modules/ftell-tests (Files): Likewise.
34480         * modules/ftello-tests (Files): Likewise.
34481         * modules/func-tests (Files): Likewise.
34482         * modules/futimens-tests (Files): Likewise.
34483         * modules/fwritable-tests (Files): Likewise.
34484         * modules/fwriting-tests (Files): Likewise.
34485         * modules/getcwd-tests (Files): Likewise.
34486         * modules/getdate-tests (Files): Likewise.
34487         * modules/getdelim-tests (Files): Likewise.
34488         * modules/getdtablesize-tests (Files): Likewise.
34489         * modules/getgroups-tests (Files): Likewise.
34490         * modules/getline-tests (Files): Likewise.
34491         * modules/getndelim2-tests (Files): Likewise.
34492         * modules/glob-tests (Files): Likewise.
34493         * modules/hash-tests (Files): Likewise.
34494         * modules/i-ring-tests (Files): Likewise.
34495         * modules/iconv-tests (Files): Likewise.
34496         * modules/iconv_open-utf-tests (Files): Likewise.
34497         * modules/idpriv-drop-tests (Files): Likewise.
34498         * modules/idpriv-droptemp-tests (Files): Likewise.
34499         * modules/inet_ntop-tests (Files): Likewise.
34500         * modules/inet_pton-tests (Files): Likewise.
34501         * modules/isblank-tests (Files): Likewise.
34502         * modules/isfinite-tests (Files): Likewise.
34503         * modules/isinf-tests (Files): Likewise.
34504         * modules/isnan-tests (Files): Likewise.
34505         * modules/isnand-nolibm-tests (Files): Likewise.
34506         * modules/isnand-tests (Files): Likewise.
34507         * modules/isnanf-nolibm-tests (Files): Likewise.
34508         * modules/isnanf-tests (Files): Likewise.
34509         * modules/isnanl-nolibm-tests (Files): Likewise.
34510         * modules/isnanl-tests (Files): Likewise.
34511         * modules/lchown-tests (Files): Likewise.
34512         * modules/ldexpl-tests (Files): Likewise.
34513         * modules/link-tests (Files): Likewise.
34514         * modules/linkat-tests (Files): Likewise.
34515         * modules/linked-list-tests (Files): Likewise.
34516         * modules/linkedhash-list-tests (Files): Likewise.
34517         * modules/localename-tests (Files): Likewise.
34518         * modules/lseek-tests (Files): Likewise.
34519         * modules/lstat-tests (Files): Likewise.
34520         * modules/mbmemcasecmp-tests (Files): Likewise.
34521         * modules/mbmemcasecoll-tests (Files): Likewise.
34522         * modules/mbrtowc-tests (Files): Likewise.
34523         * modules/mbscasecmp-tests (Files): Likewise.
34524         * modules/mbscasestr-tests (Files): Likewise.
34525         * modules/mbschr-tests (Files): Likewise.
34526         * modules/mbscspn-tests (Files): Likewise.
34527         * modules/mbsinit-tests (Files): Likewise.
34528         * modules/mbsncasecmp-tests (Files): Likewise.
34529         * modules/mbsnrtowcs-tests (Files): Likewise.
34530         * modules/mbspbrk-tests (Files): Likewise.
34531         * modules/mbspcasecmp-tests (Files): Likewise.
34532         * modules/mbsrchr-tests (Files): Likewise.
34533         * modules/mbsrtowcs-tests (Files): Likewise.
34534         * modules/mbsspn-tests (Files): Likewise.
34535         * modules/mbsstr-tests (Files): Likewise.
34536         * modules/memchr-tests (Files): Likewise.
34537         * modules/memchr2-tests (Files): Likewise.
34538         * modules/memcmp-tests (Files): Likewise.
34539         * modules/memmem-tests (Files): Likewise.
34540         * modules/memrchr-tests (Files): Likewise.
34541         * modules/mkdir-tests (Files): Likewise.
34542         * modules/mkfifo-tests (Files): Likewise.
34543         * modules/mkfifoat-tests (Files): Likewise.
34544         * modules/mknod-tests (Files): Likewise.
34545         * modules/nanosleep-tests (Files): Likewise.
34546         * modules/nl_langinfo-tests (Files): Likewise.
34547         * modules/obstack-printf-tests (Files): Likewise.
34548         * modules/open-tests (Files): Likewise.
34549         * modules/openat-tests (Files): Likewise.
34550         * modules/pipe-filter-gi-tests (Files): Likewise.
34551         * modules/pipe-filter-ii-tests (Files): Likewise.
34552         * modules/pipe2-tests (Files): Likewise.
34553         * modules/popen-safer-tests (Files): Likewise.
34554         * modules/popen-tests (Files): Likewise.
34555         * modules/posixtm-tests (Files): Likewise.
34556         * modules/pread-tests (Files): Likewise.
34557         * modules/printf-frexp-tests (Files): Likewise.
34558         * modules/printf-frexpl-tests (Files): Likewise.
34559         * modules/printf-posix-tests (Files): Likewise.
34560         * modules/priv-set-tests (Files): Likewise.
34561         * modules/quotearg-tests (Files): Likewise.
34562         * modules/random_r-tests (Files): Likewise.
34563         * modules/rawmemchr-tests (Files): Likewise.
34564         * modules/rbtree-list-tests (Files): Likewise.
34565         * modules/rbtree-oset-tests (Files): Likewise.
34566         * modules/rbtreehash-list-tests (Files): Likewise.
34567         * modules/readlink-tests (Files): Likewise.
34568         * modules/remove-tests (Files): Likewise.
34569         * modules/rename-tests (Files): Likewise.
34570         * modules/renameat-tests (Files): Likewise.
34571         * modules/rmdir-tests (Files): Likewise.
34572         * modules/round-tests (Files): Likewise.
34573         * modules/roundf-tests (Files): Likewise.
34574         * modules/roundl-tests (Files): Likewise.
34575         * modules/safe-alloc-tests (Files): Likewise.
34576         * modules/setenv-tests (Files): Likewise.
34577         * modules/sigaction-tests (Files): Likewise.
34578         * modules/signbit-tests (Files): Likewise.
34579         * modules/sleep-tests (Files): Likewise.
34580         * modules/snprintf-posix-tests (Files): Likewise.
34581         * modules/snprintf-tests (Files): Likewise.
34582         * modules/sprintf-posix-tests (Files): Likewise.
34583         * modules/stat-tests (Files): Likewise.
34584         * modules/stat-time-tests (Files): Likewise.
34585         * modules/strcasestr-tests (Files): Likewise.
34586         * modules/strchrnul-tests (Files): Likewise.
34587         * modules/strerror-tests (Files): Likewise.
34588         * modules/striconv-tests (Files): Likewise.
34589         * modules/striconveh-tests (Files): Likewise.
34590         * modules/striconveha-tests (Files): Likewise.
34591         * modules/strsignal-tests (Files): Likewise.
34592         * modules/strstr-tests (Files): Likewise.
34593         * modules/strtod-tests (Files): Likewise.
34594         * modules/strverscmp-tests (Files): Likewise.
34595         * modules/symlink-tests (Files): Likewise.
34596         * modules/symlinkat-tests (Files): Likewise.
34597         * modules/trunc-tests (Files): Likewise.
34598         * modules/truncf-tests (Files): Likewise.
34599         * modules/truncl-tests (Files): Likewise.
34600         * modules/uname-tests (Files): Likewise.
34601         * modules/unicase/cased-tests (Files): Likewise.
34602         * modules/unicase/ignorable-tests (Files): Likewise.
34603         * modules/unicase/locale-language-tests (Files): Likewise.
34604         * modules/unicase/tolower-tests (Files): Likewise.
34605         * modules/unicase/totitle-tests (Files): Likewise.
34606         * modules/unicase/toupper-tests (Files): Likewise.
34607         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34608         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34609         * modules/unicase/u8-casefold-tests (Files): Likewise.
34610         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34611         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34612         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34613         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34614         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34615         * modules/unicase/u8-tolower-tests (Files): Likewise.
34616         * modules/unicase/u8-totitle-tests (Files): Likewise.
34617         * modules/unicase/u8-toupper-tests (Files): Likewise.
34618         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34619         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34620         * modules/unicase/u16-casefold-tests (Files): Likewise.
34621         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34622         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34623         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34624         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34625         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34626         * modules/unicase/u16-tolower-tests (Files): Likewise.
34627         * modules/unicase/u16-totitle-tests (Files): Likewise.
34628         * modules/unicase/u16-toupper-tests (Files): Likewise.
34629         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34630         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34631         * modules/unicase/u32-casefold-tests (Files): Likewise.
34632         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34633         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34634         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34635         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34636         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34637         * modules/unicase/u32-tolower-tests (Files): Likewise.
34638         * modules/unicase/u32-totitle-tests (Files): Likewise.
34639         * modules/unicase/u32-toupper-tests (Files): Likewise.
34640         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34641         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34642         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34643         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34644         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34645         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34646         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34647         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34648         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34649         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34650         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34651         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34652         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34653         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34654         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34655         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34656         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34657         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34658         * modules/unictype/block-list-tests (Files): Likewise.
34659         * modules/unictype/block-of-tests (Files): Likewise.
34660         * modules/unictype/block-test-tests (Files): Likewise.
34661         * modules/unictype/category-C-tests (Files): Likewise.
34662         * modules/unictype/category-Cc-tests (Files): Likewise.
34663         * modules/unictype/category-Cf-tests (Files): Likewise.
34664         * modules/unictype/category-Cn-tests (Files): Likewise.
34665         * modules/unictype/category-Co-tests (Files): Likewise.
34666         * modules/unictype/category-Cs-tests (Files): Likewise.
34667         * modules/unictype/category-L-tests (Files): Likewise.
34668         * modules/unictype/category-Ll-tests (Files): Likewise.
34669         * modules/unictype/category-Lm-tests (Files): Likewise.
34670         * modules/unictype/category-Lo-tests (Files): Likewise.
34671         * modules/unictype/category-Lt-tests (Files): Likewise.
34672         * modules/unictype/category-Lu-tests (Files): Likewise.
34673         * modules/unictype/category-M-tests (Files): Likewise.
34674         * modules/unictype/category-Mc-tests (Files): Likewise.
34675         * modules/unictype/category-Me-tests (Files): Likewise.
34676         * modules/unictype/category-Mn-tests (Files): Likewise.
34677         * modules/unictype/category-N-tests (Files): Likewise.
34678         * modules/unictype/category-Nd-tests (Files): Likewise.
34679         * modules/unictype/category-Nl-tests (Files): Likewise.
34680         * modules/unictype/category-No-tests (Files): Likewise.
34681         * modules/unictype/category-P-tests (Files): Likewise.
34682         * modules/unictype/category-Pc-tests (Files): Likewise.
34683         * modules/unictype/category-Pd-tests (Files): Likewise.
34684         * modules/unictype/category-Pe-tests (Files): Likewise.
34685         * modules/unictype/category-Pf-tests (Files): Likewise.
34686         * modules/unictype/category-Pi-tests (Files): Likewise.
34687         * modules/unictype/category-Po-tests (Files): Likewise.
34688         * modules/unictype/category-Ps-tests (Files): Likewise.
34689         * modules/unictype/category-S-tests (Files): Likewise.
34690         * modules/unictype/category-Sc-tests (Files): Likewise.
34691         * modules/unictype/category-Sk-tests (Files): Likewise.
34692         * modules/unictype/category-Sm-tests (Files): Likewise.
34693         * modules/unictype/category-So-tests (Files): Likewise.
34694         * modules/unictype/category-Z-tests (Files): Likewise.
34695         * modules/unictype/category-Zl-tests (Files): Likewise.
34696         * modules/unictype/category-Zp-tests (Files): Likewise.
34697         * modules/unictype/category-Zs-tests (Files): Likewise.
34698         * modules/unictype/category-and-not-tests (Files): Likewise.
34699         * modules/unictype/category-and-tests (Files): Likewise.
34700         * modules/unictype/category-byname-tests (Files): Likewise.
34701         * modules/unictype/category-name-tests (Files): Likewise.
34702         * modules/unictype/category-none-tests (Files): Likewise.
34703         * modules/unictype/category-of-tests (Files): Likewise.
34704         * modules/unictype/category-or-tests (Files): Likewise.
34705         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34706         * modules/unictype/combining-class-tests (Files): Likewise.
34707         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34708         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34709         * modules/unictype/ctype-blank-tests (Files): Likewise.
34710         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34711         * modules/unictype/ctype-digit-tests (Files): Likewise.
34712         * modules/unictype/ctype-graph-tests (Files): Likewise.
34713         * modules/unictype/ctype-lower-tests (Files): Likewise.
34714         * modules/unictype/ctype-print-tests (Files): Likewise.
34715         * modules/unictype/ctype-punct-tests (Files): Likewise.
34716         * modules/unictype/ctype-space-tests (Files): Likewise.
34717         * modules/unictype/ctype-upper-tests (Files): Likewise.
34718         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34719         * modules/unictype/decimal-digit-tests (Files): Likewise.
34720         * modules/unictype/digit-tests (Files): Likewise.
34721         * modules/unictype/mirror-tests (Files): Likewise.
34722         * modules/unictype/numeric-tests (Files): Likewise.
34723         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34724         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34725         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34726         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34727         Likewise.
34728         * modules/unictype/property-bidi-block-separator-tests (Files):
34729         Likewise.
34730         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34731         Likewise.
34732         * modules/unictype/property-bidi-common-separator-tests (Files):
34733         Likewise.
34734         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34735         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34736         Likewise.
34737         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34738         Likewise.
34739         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34740         Likewise.
34741         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34742         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34743         Likewise.
34744         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34745         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34746         Likewise.
34747         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34748         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34749         * modules/unictype/property-bidi-segment-separator-tests (Files):
34750         Likewise.
34751         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34752         * modules/unictype/property-byname-tests (Files): Likewise.
34753         * modules/unictype/property-combining-tests (Files): Likewise.
34754         * modules/unictype/property-composite-tests (Files): Likewise.
34755         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34756         * modules/unictype/property-dash-tests (Files): Likewise.
34757         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34758         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34759         Likewise.
34760         * modules/unictype/property-deprecated-tests (Files): Likewise.
34761         * modules/unictype/property-diacritic-tests (Files): Likewise.
34762         * modules/unictype/property-extender-tests (Files): Likewise.
34763         * modules/unictype/property-format-control-tests (Files): Likewise.
34764         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34765         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34766         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34767         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34768         * modules/unictype/property-hyphen-tests (Files): Likewise.
34769         * modules/unictype/property-id-continue-tests (Files): Likewise.
34770         * modules/unictype/property-id-start-tests (Files): Likewise.
34771         * modules/unictype/property-ideographic-tests (Files): Likewise.
34772         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34773         * modules/unictype/property-ids-trinary-operator-tests (Files):
34774         Likewise.
34775         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34776         * modules/unictype/property-iso-control-tests (Files): Likewise.
34777         * modules/unictype/property-join-control-tests (Files): Likewise.
34778         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34779         * modules/unictype/property-line-separator-tests (Files): Likewise.
34780         * modules/unictype/property-logical-order-exception-tests (Files):
34781         Likewise.
34782         * modules/unictype/property-lowercase-tests (Files): Likewise.
34783         * modules/unictype/property-math-tests (Files): Likewise.
34784         * modules/unictype/property-non-break-tests (Files): Likewise.
34785         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34786         * modules/unictype/property-numeric-tests (Files): Likewise.
34787         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34788         * modules/unictype/property-other-default-ignorable-code-point-tests
34789         (Files): Likewise.
34790         * modules/unictype/property-other-grapheme-extend-tests (Files):
34791         Likewise.
34792         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34793         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34794         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34795         * modules/unictype/property-other-math-tests (Files): Likewise.
34796         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34797         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
34798         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
34799         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
34800         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
34801         * modules/unictype/property-private-use-tests (Files): Likewise.
34802         * modules/unictype/property-punctuation-tests (Files): Likewise.
34803         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
34804         * modules/unictype/property-radical-tests (Files): Likewise.
34805         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
34806         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
34807         * modules/unictype/property-space-tests (Files): Likewise.
34808         * modules/unictype/property-terminal-punctuation-tests (Files):
34809         Likewise.
34810         * modules/unictype/property-test-tests (Files): Likewise.
34811         * modules/unictype/property-titlecase-tests (Files): Likewise.
34812         * modules/unictype/property-unassigned-code-value-tests (Files):
34813         Likewise.
34814         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34815         * modules/unictype/property-uppercase-tests (Files): Likewise.
34816         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34817         * modules/unictype/property-white-space-tests (Files): Likewise.
34818         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34819         * modules/unictype/property-xid-start-tests (Files): Likewise.
34820         * modules/unictype/property-zero-width-tests (Files): Likewise.
34821         * modules/unictype/scripts-tests (Files): Likewise.
34822         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34823         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34824         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34825         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34826         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34827         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34828         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34829         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34830         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34831         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34832         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34833         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34834         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34835         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34836         * modules/uninorm/composition-tests (Files): Likewise.
34837         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34838         * modules/uninorm/decomposition-tests (Files): Likewise.
34839         * modules/uninorm/filter-tests (Files): Likewise.
34840         * modules/uninorm/nfc-tests (Files): Likewise.
34841         * modules/uninorm/nfd-tests (Files): Likewise.
34842         * modules/uninorm/nfkc-tests (Files): Likewise.
34843         * modules/uninorm/nfkd-tests (Files): Likewise.
34844         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34845         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34846         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34847         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34848         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34849         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34850         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34851         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34852         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34853         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34854         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34855         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34856         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34857         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34858         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34859         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34860         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34861         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34862         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34863         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34864         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34865         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34866         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34867         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34868         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34869         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34870         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34871         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34872         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34873         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34874         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34875         * modules/uniwidth/u8-width-tests (Files): Likewise.
34876         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34877         * modules/uniwidth/u16-width-tests (Files): Likewise.
34878         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34879         * modules/uniwidth/u32-width-tests (Files): Likewise.
34880         * modules/uniwidth/width-tests (Files): Likewise.
34881         * modules/unlink-tests (Files): Likewise.
34882         * modules/unsetenv-tests (Files): Likewise.
34883         * modules/usleep-tests (Files): Likewise.
34884         * modules/utimens-tests (Files): Likewise.
34885         * modules/utimensat-tests (Files): Likewise.
34886         * modules/vasnprintf-posix-tests (Files): Likewise.
34887         * modules/vasnprintf-tests (Files): Likewise.
34888         * modules/vasprintf-posix-tests (Files): Likewise.
34889         * modules/vasprintf-tests (Files): Likewise.
34890         * modules/vdprintf-posix-tests (Files): Likewise.
34891         * modules/vfprintf-posix-tests (Files): Likewise.
34892         * modules/vprintf-posix-tests (Files): Likewise.
34893         * modules/vsnprintf-posix-tests (Files): Likewise.
34894         * modules/vsnprintf-tests (Files): Likewise.
34895         * modules/vsprintf-posix-tests (Files): Likewise.
34896         * modules/wcrtomb-tests (Files): Likewise.
34897         * modules/wcsnrtombs-tests (Files): Likewise.
34898         * modules/wcsrtombs-tests (Files): Likewise.
34899         * modules/wctype-tests (Files): Likewise.
34900         * modules/wcwidth-tests (Files): Likewise.
34901         * modules/xmemdup0-tests (Files): Likewise.
34902         * modules/xprintf-posix-tests (Files): Likewise.
34903         * modules/xvasprintf-tests (Files): Likewise.
34904
34905 2009-12-24  Eric Blake  <ebb9@byu.net>
34906
34907         test-nanosleep: fix typo
34908         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34909         patch.
34910         Reported by Bruno Haible.
34911
34912 2009-12-24  Bruno Haible  <bruno@clisp.org>
34913
34914         Reduce namespace pollution on glibc systems.
34915         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
34916         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
34917         systems.
34918         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
34919         <getopt.h> on glibc systems.
34920         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
34921         systems.
34922         * lib/fcntl.c: Include <unistd.h> here instead.
34923
34924 2009-12-24  Bruno Haible  <bruno@clisp.org>
34925
34926         * lib/stdlib.in.h (includes): Fix typo in today's commit.
34927
34928 2009-12-24  Eric Blake  <ebb9@byu.net>
34929
34930         tests: add signature checks
34931         * tests/signature.h (SIGNATURE_CHECK): New file.
34932         * modules/atexit-tests (Files): Use it.
34933         * modules/btowc-tests (Files): Likewise.
34934         * modules/canonicalize-lgpl-tests (Files): Likewise.
34935         * modules/ceilf-tests (Files): Likewise.
34936         * modules/ceill-tests (Files): Likewise.
34937         * modules/chown-tests (Files): Likewise.
34938         * modules/dprintf-posix-tests (Files): Likewise.
34939         * modules/dup2-tests (Files): Likewise.
34940         * modules/dup3-tests (Files): Likewise.
34941         * modules/duplocale-tests (Files): Likewise.
34942         * modules/fchdir-tests (Files): Likewise.
34943         * modules/fcntl-tests (Files): Likewise.
34944         * modules/fdopendir-tests (Files): Likewise.
34945         * modules/fflush-tests (Files): Likewise.
34946         * modules/flock-tests (Files): Likewise.
34947         * modules/floorf-tests (Files): Likewise.
34948         * modules/floorl-tests (Files): Likewise.
34949         * modules/fnmatch-tests (Files): Likewise.
34950         * modules/fopen-tests (Files): Likewise.
34951         * modules/fprintf-posix-tests (Files): Likewise.
34952         * modules/freopen-tests (Files): Likewise.
34953         * modules/frexp-nolibm-tests (Files): Likewise.
34954         * modules/frexp-tests (Files): Likewise.
34955         * modules/frexpl-nolibm-tests (Files): Likewise.
34956         * modules/frexpl-tests (Files): Likewise.
34957         * modules/fseek-tests (Files): Likewise.
34958         * modules/fseeko-tests (Files): Likewise.
34959         * modules/fsync-tests (Files): Likewise.
34960         * modules/ftell-tests (Files): Likewise.
34961         * modules/ftello-tests (Files): Likewise.
34962         * modules/futimens-tests (Files): Likewise.
34963         * modules/getaddrinfo-tests (Files): Likewise.
34964         * modules/getcwd-tests (Files): Likewise.
34965         * modules/getdelim-tests (Files): Likewise.
34966         * modules/getdtablesize-tests (Files): Likewise.
34967         * modules/getgroups-tests (Files): Likewise.
34968         * modules/gethostname-tests (Files): Likewise.
34969         * modules/getline-tests (Files): Likewise.
34970         * modules/getopt-posix-tests (Files): Likewise.
34971         * modules/gettimeofday-tests (Files): Likewise.
34972         * modules/glob-tests (Files): Likewise.
34973         * modules/iconv-tests (Files): Likewise.
34974         * modules/inet_ntop-tests (Files): Likewise.
34975         * modules/inet_pton-tests (Files): Likewise.
34976         * modules/isblank-tests (Files): Likewise.
34977         * modules/lchown-tests (Files): Likewise.
34978         * modules/ldexpl-tests (Files): Likewise.
34979         * modules/link-tests (Files): Likewise.
34980         * modules/linkat-tests (Files): Likewise.
34981         * modules/lseek-tests (Files): Likewise.
34982         * modules/lstat-tests (Files): Likewise.
34983         * modules/mbrtowc-tests (Files): Likewise.
34984         * modules/mbsinit-tests (Files): Likewise.
34985         * modules/mbsnrtowcs-tests (Files): Likewise.
34986         * modules/mbsrtowcs-tests (Files): Likewise.
34987         * modules/memchr-tests (Files): Likewise.
34988         * modules/memcmp-tests (Files): Likewise.
34989         * modules/memmem-tests (Files): Likewise.
34990         * modules/memrchr-tests (Files): Likewise.
34991         * modules/mkdir-tests (Files): Likewise.
34992         * modules/mkfifo-tests (Files): Likewise.
34993         * modules/mkfifoat-tests (Files): Likewise.
34994         * modules/mknod-tests (Files): Likewise.
34995         * modules/nanosleep-tests (Files): Likewise.
34996         * modules/nl_langinfo-tests (Files): Likewise.
34997         * modules/obstack-printf-tests (Files): Likewise.
34998         * modules/open-tests (Files): Likewise.
34999         * modules/openat-tests (Files): Likewise.
35000         * modules/perror-tests (Files): Likewise.
35001         * modules/pipe2-tests (Files): Likewise.
35002         * modules/poll-tests (Files): Likewise.
35003         * modules/popen-tests (Files): Likewise.
35004         * modules/posix_spawn-tests (Files): Likewise.
35005         * modules/posix_spawnp-tests (Files): Likewise.
35006         * modules/pread-tests (Files): Likewise.
35007         * modules/printf-posix-tests (Files): Likewise.
35008         * modules/pty-tests (Files): Likewise.
35009         * modules/random_r-tests (Files): Likewise.
35010         * modules/rawmemchr-tests (Files): Likewise.
35011         * modules/readlink-tests (Files): Likewise.
35012         * modules/remove-tests (Files): Likewise.
35013         * modules/rename-tests (Files): Likewise.
35014         * modules/renameat-tests (Files): Likewise.
35015         * modules/rmdir-tests (Files): Likewise.
35016         * modules/round-tests (Files): Likewise.
35017         * modules/roundf-tests (Files): Likewise.
35018         * modules/roundl-tests (Files): Likewise.
35019         * modules/select-tests (Files): Likewise.
35020         * modules/setenv-tests (Files): Likewise.
35021         * modules/sigaction-tests (Files): Likewise.
35022         * modules/sleep-tests (Files): Likewise.
35023         * modules/snprintf-posix-tests (Files): Likewise.
35024         * modules/snprintf-tests (Files): Likewise.
35025         * modules/sprintf-posix-tests (Files): Likewise.
35026         * modules/stat-tests (Files): Likewise.
35027         * modules/strcasestr-tests (Files): Likewise.
35028         * modules/strchrnul-tests (Files): Likewise.
35029         * modules/strerror-tests (Files): Likewise.
35030         * modules/strsignal-tests (Files): Likewise.
35031         * modules/strstr-tests (Files): Likewise.
35032         * modules/strtod-tests (Files): Likewise.
35033         * modules/strverscmp-tests (Files): Likewise.
35034         * modules/symlink-tests (Files): Likewise.
35035         * modules/symlinkat-tests (Files): Likewise.
35036         * modules/times-tests (Files): Likewise.
35037         * modules/trunc-tests (Files): Likewise.
35038         * modules/truncf-tests (Files): Likewise.
35039         * modules/truncl-tests (Files): Likewise.
35040         * modules/tsearch-tests (Files): Likewise.
35041         * modules/uname-tests (Files): Likewise.
35042         * modules/unlink-tests (Files): Likewise.
35043         * modules/unsetenv-tests (Files): Likewise.
35044         * modules/usleep-tests (Files): Likewise.
35045         * modules/utimensat-tests (Files): Likewise.
35046         * modules/vasprintf-tests (Files): Likewise.
35047         * modules/vdprintf-posix-tests (Files): Likewise.
35048         * modules/vfprintf-posix-tests (Files): Likewise.
35049         * modules/vprintf-posix-tests (Files): Likewise.
35050         * modules/vsnprintf-posix-tests (Files): Likewise.
35051         * modules/vsnprintf-tests (Files): Likewise.
35052         * modules/vsprintf-posix-tests (Files): Likewise.
35053         * modules/wcrtomb-tests (Files): Likewise.
35054         * modules/wcsnrtombs-tests (Files): Likewise.
35055         * modules/wcsrtombs-tests (Files): Likewise.
35056         * modules/wcwidth-tests (Files): Likewise.
35057         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35058         * tests/test-isinf.c (isinf): Likewise.
35059         * tests/test-isnan.c (isnan): Likewise.
35060         * tests/test-signbit.c (signbit): Likewise.
35061         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35062         declaration, either as macro or with correct signature.
35063         (select): Ensure function under test is declared with correct
35064         signature in correct header.
35065         * tests/test-atexit.c (atexit): Likewise.
35066         * tests/test-btowc.c (btowc): Likewise.
35067         * tests/test-canonicalize-lgpl.c (realpath)
35068         (canonicalize_file_name): Likewise.
35069         * tests/test-ceilf1.c (ceilf): Likewise.
35070         * tests/test-ceill.c (ceill): Likewise.
35071         * tests/test-chown.c (chown): Likewise.
35072         * tests/test-dprintf-posix.c (dprintf): Likewise.
35073         * tests/test-dup2.c (dup2): Likewise.
35074         * tests/test-dup3.c (dup3): Likewise.
35075         * tests/test-duplocale.c (duplocale): Likewise.
35076         * tests/test-fchdir.c (fchdir): Likewise.
35077         * tests/test-fchownat.c (fchownat): Likewise.
35078         * tests/test-fcntl.c (fcntl): Likewise.
35079         * tests/test-fdopendir.c (fdopendir): Likewise.
35080         * tests/test-fflush.c (fflush): Likewise.
35081         * tests/test-flock.c (flock): Likewise.
35082         * tests/test-floorf1.c (floorf): Likewise.
35083         * tests/test-floorl.c (floorl): Likewise.
35084         * tests/test-fnmatch.c (fnmatch): Likewise.
35085         * tests/test-fopen.c (fopen): Likewise.
35086         * tests/test-fprintf-posix.c (fprintf): Likewise.
35087         * tests/test-freopen.c (freopen): Likewise.
35088         * tests/test-frexp.c (frexp): Likewise.
35089         * tests/test-frexpl.c (frexpl): Likewise.
35090         * tests/test-fseek.c (fseek): Likewise.
35091         * tests/test-fseeko.c (fseeko): Likewise.
35092         * tests/test-fstatat.c (fstatat): Likewise.
35093         * tests/test-fsync.c (fsync): Likewise.
35094         * tests/test-ftell.c (ftell): Likewise.
35095         * tests/test-ftello.c (ftello): Likewise.
35096         * tests/test-futimens.c (futimens): Likewise.
35097         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35098         (gai_strerror): Likewise.
35099         * tests/test-getcwd.c (getcwd): Likewise.
35100         * tests/test-getdelim.c (getdelim): Likewise.
35101         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35102         * tests/test-getgroups.c (getgroups): Likewise.
35103         * tests/test-gethostname.c (gethostname): Likewise.
35104         * tests/test-getline.c (getline): Likewise.
35105         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35106         Likewise.
35107         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35108         * tests/test-glob.c (glob, globfree): Likewise.
35109         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35110         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35111         * tests/test-inet_pton.c (inet_pton): Likewise.
35112         * tests/test-isblank.c (isblank): Likewise.
35113         * tests/test-lchown.c (lchown): Likewise.
35114         * tests/test-ldexpl.c (ldexpl): Likewise.
35115         * tests/test-link.c (link): Likewise.
35116         * tests/test-linkat.c (linkat): Likewise.
35117         * tests/test-lseek.c (lseek): Likewise.
35118         * tests/test-lstat.c (lstat): Likewise.
35119         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35120         * tests/test-mbsinit.c (mbsinit): Likewise.
35121         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35122         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35123         * tests/test-memchr.c (memchr): Likewise.
35124         * tests/test-memcmp.c (memcmp): Likewise.
35125         * tests/test-memmem.c (memmem): Likewise.
35126         * tests/test-memrchr.c (memrchr): Likewise.
35127         * tests/test-mkdir.c (mkdir): Likewise.
35128         * tests/test-mkdirat.c (mkdirat): Likewise.
35129         * tests/test-mkfifo.c (mkfifo): Likewise.
35130         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35131         * tests/test-mknod.c (mknod): Likewise.
35132         * tests/test-nanosleep.c (nanosleep): Likewise.
35133         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35134         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35135         Likewise.
35136         * tests/test-open.c (open): Likewise.
35137         * tests/test-openat.c (openat): Likewise.
35138         * tests/test-perror.c (perror): Likewise.
35139         * tests/test-pipe2.c (pipe2): Likewise.
35140         * tests/test-poll.c (poll): Likewise.
35141         * tests/test-popen.c (popen, pclose): Likewise.
35142         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35143         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35144         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35145         (posix_spawn_file_actions_destroy)
35146         (posix_spawn_file_actions_addclose)
35147         (posix_spawn_file_actions_addopen)
35148         (posix_spawn_file_actions_adddup2): Likewise.
35149         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35150         * tests/test-pread.c (pread): Likewise.
35151         * tests/test-printf-posix.c (printf): Likewise.
35152         * tests/test-pty.c (openpty, forkpty): Likewise.
35153         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35154         (random_r): Likewise.
35155         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35156         * tests/test-readlink.c (readlink): Likewise.
35157         * tests/test-remove.c (remove): Likewise.
35158         * tests/test-rename.c (rename): Likewise.
35159         * tests/test-renameat.c (renameat): Likewise.
35160         * tests/test-rmdir.c (rmdir): Likewise.
35161         * tests/test-round1.c (round): Likewise.
35162         * tests/test-roundf1.c (roundf): Likewise.
35163         * tests/test-roundl.c (roundl): Likewise.
35164         * tests/test-setenv.c (setenv): Likewise.
35165         * tests/test-sigaction.c (sigaction): Likewise.
35166         * tests/test-sleep.c (sleep): Likewise.
35167         * tests/test-snprintf.c (snprintf): Likewise.
35168         * tests/test-sprintf-posix.c (sprintf): Likewise.
35169         * tests/test-stat.c (stat): Likewise.
35170         * tests/test-stpncpy.c (stpncpy): Likewise.
35171         * tests/test-strcasestr.c (strcasestr): Likewise.
35172         * tests/test-strchrnul.c (strchrnul): Likewise.
35173         * tests/test-strerror.c (strerror): Likewise.
35174         * tests/test-strsignal.c (strsignal): Likewise.
35175         * tests/test-strstr.c (strstr): Likewise.
35176         * tests/test-strtod.c (strtod): Likewise.
35177         * tests/test-strverscmp.c (strverscmp): Likewise.
35178         * tests/test-symlink.c (symlink): Likewise.
35179         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35180         * tests/test-times.c (times): Likewise.
35181         * tests/test-trunc1.c (trunc): Likewise.
35182         * tests/test-truncf1.c (truncf): Likewise.
35183         * tests/test-truncl.c (truncl): Likewise.
35184         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35185         Likewise.
35186         * tests/test-uname.c (uname): Likewise.
35187         * tests/test-unlink.c (unlink): Likewise.
35188         * tests/test-unlinkat.c (unlinkat): Likewise.
35189         * tests/test-unsetenv.c (unsetenv): Likewise.
35190         * tests/test-usleep.c (usleep): Likewise.
35191         * tests/test-utimensat.c (utimensat): Likewise.
35192         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35193         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35194         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35195         * tests/test-vprintf-posix.c (vprintf): Likewise.
35196         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35197         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35198         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35199         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35200         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35201         * tests/test-wcwidth.c (wcwidth): Likewise.
35202
35203         build: pull in conditional headers during GNULIB_POSIXCHECK
35204         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35205         definitions from any conditionally-included headers.
35206         * lib/stdlib.in.h (includes): Likewise.
35207         * lib/unistd.in.h (includes): Likewise.
35208
35209 2009-12-24  Bruno Haible  <bruno@clisp.org>
35210
35211         * tests/test-argv-iter.c: Include header file being tested immediately
35212         after config.h.
35213         * tests/test-base64.c: Likewise.
35214         * tests/test-flock.c: Likewise.
35215         * tests/test-fsync.c: Likewise.
35216         * tests/test-getdate.c: Likewise.
35217         * tests/test-getndelim2.c: Likewise.
35218         * tests/test-isfinite.c: Likewise.
35219         * tests/test-isinf.c: Likewise.
35220         * tests/test-strerror.c: Likewise.
35221         * tests/test-strsignal.c: Likewise.
35222
35223 2009-12-23  Eric Blake  <ebb9@byu.net>
35224
35225         unistd: work around cygwin bug
35226         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35227         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35228         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35229
35230 2009-12-23  Bruno Haible  <bruno@clisp.org>
35231
35232         localename: More tests.
35233         * tests/test-localename.c (SIZEOF): New macro.
35234         (categories): New variable.
35235         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35236         test_locale_name_default): Add test w.r.t. thread locale.
35237         (test_locale_name_thread): New function.
35238         (main): Invoke it.
35239
35240         localename: Make aware of thread locale.
35241         * lib/localename.h (gl_locale_name_thread): New declaration.
35242         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35243         behaviour with respect to thread locale.
35244         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35245         <langinfo.h>, glthread/lock.h.
35246         (SIZE_BITS): New macro.
35247         (string_hash): New function.
35248         (struct hash_node): New type.
35249         (HASH_TABLE_SIZE): New macro.
35250         (struniq_hash_table, struniq_lock): New variables.
35251         (struniq): New function.
35252         (gl_locale_name_thread): New function.
35253         (gl_locale_name): Invoke it.
35254         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35255         * modules/localename (Depends-on): Add lock.
35256         Reported by Mike Gran <spk121@yahoo.com>.
35257
35258 2009-12-23  Eric Blake  <ebb9@byu.net>
35259
35260         va-args: new module
35261         * modules/va-args: New file.
35262         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35263         * MODULES.html.sh (Core language properties): Mention it.
35264
35265         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35266         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35267         named alias for __attribute__((__unused__)).
35268         * lib/chown.c: Update client.
35269         * lib/fchmodat.c: Likewise.
35270         * lib/fts.c: Likewise.
35271         * lib/getdate.y: Likewise.
35272         * lib/getgroups.c: Likewise.
35273         * lib/getopt.c: Likewise.
35274         * lib/getugroups.c: Likewise.
35275         * lib/mkdir.c: Likewise.
35276         * lib/mkfifo.c: Likewise.
35277         * lib/mkfifoat.c: Likewise.
35278         * lib/mknod.c: Likewise.
35279         * lib/mknodat.c: Likewise.
35280         * lib/readlink.c: Likewise.
35281         * lib/se-context.in.h: Likewise.
35282         * lib/se-selinux.in.h: Likewise.
35283         * lib/sockets.c: Likewise.
35284         * lib/symlink.c: Likewise.
35285         * lib/symlinkat.c: Likewise.
35286         * lib/unicodeio.c: Likewise.
35287         * lib/unistr.h: Likewise.
35288         * tests/test-areadlink.c: Likewise.
35289         * tests/test-areadlinkat.c: Likewise.
35290         * tests/test-filenamecat.c: Likewise.
35291         * tests/test-fseeko.c: Likewise.
35292         * tests/test-ftello.c: Likewise.
35293         * tests/test-getdate.c: Likewise.
35294         * tests/test-getgroups.c: Likewise.
35295         * tests/test-gethostname.c: Likewise.
35296         * tests/test-quotearg.c: Likewise.
35297         * tests/test-version-etc.c: Likewise.
35298         * tests/test-xalloc-die.c: Likewise.
35299         * tests/test-xfprintf-posix.c: Likewise.
35300         * tests/test-xprintf-posix.c: Likewise.
35301         * tests/test-xvasprintf.c: Likewise.
35302
35303         tests: avoid compiler warnings
35304         * tests/test-fcntl.c (main): Delete unused parameters.
35305         * tests/test-freopen-safer.c (main): Likewise.
35306         * tests/test-xalloc-die.c (main): Mark unused parameters.
35307         * tests/test-fseeko.c (main): Likewise.
35308         * tests/test-ftello.c (main): Likewise.
35309         * tests/test-nanosleep.c (main): Avoid declaration warning.
35310         * tests/test-sleep.c (main): Likewise.
35311         * tests/test-unsetenv.c (main): Silence warning about string
35312         literal.
35313         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35314
35315 2009-12-23  Bruno Haible  <bruno@clisp.org>
35316
35317         * tests/test-localename.c (test_locale_name): New function, extracted
35318         from main. Also test mixed situations.
35319         (test_locale_name_posix, test_locale_name_environ,
35320         test_locale_name_default): New functions.
35321         (main): Invoke them all.
35322         * modules/localename-tests (configure.ac): Test for newlocale.
35323
35324 2009-12-23  Bruno Haible  <bruno@clisp.org>
35325
35326         unistd: Ensure getcwd gets declared before being overridden.
35327         * lib/unistd.in.h: Conditionally include <io.h>.
35328
35329 2009-12-22  Bruno Haible  <bruno@clisp.org>
35330
35331         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35332         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35333         (gl_WCHAR_H): Invoke it.
35334         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35335         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35336         Reported by Karl Berry <karl@freefriends.org>.
35337
35338 2009-12-22  Eric Blake  <ebb9@byu.net>
35339
35340         math, unistd: avoid redundant includes
35341         * lib/math.in.h (isnan): No need to re-include <math.h>.
35342         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35343
35344         getsubopt: work around cygwin bug
35345         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35346         avoid conflicting with system getsubopt.
35347         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35348         bug.
35349
35350         getopt: synchronize from glibc
35351         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35352         parameter order.  Adjust all callers.
35353         (_getopt_internal_r, main): Adjust quoting in error messages.
35354         Drop considerations for outdated POSIX 1003.2 error message.
35355         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35356         callers.
35357         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35358
35359         test-getopt: test stderr behavior
35360         * modules/getopt-posix-tests (Depends-on): Add dup2.
35361         * tests/test-getopt.c (ASSERT): Avoid stderr.
35362         (main): Move stderr to a temporary file.
35363         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35364         Instead, add parameter to inform caller if output occurred.
35365         (test_getopt): Adjust all existing tests to expect silence, and
35366         add new tests of leading ":".
35367         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35368         glibc shortcomings with leading "-:" or "+:" in optstring.
35369         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35370         Likewise.
35371         * doc/posix-functions/getopt.texi (getopt): Likewise.
35372
35373         test-getopt: enhance test
35374         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35375         supports optind=0.
35376         * tests/test-getopt.c (OPTIND_MIN): Move...
35377         * tests/test-getopt.h (OPTIND_MIN): ...here.
35378         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35379         Require that optind=0 works, since modern BSD supports it in
35380         addition to optreset, and since coreutils expects it.
35381         (test_getopt_long_only): New test.
35382         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35383         glibc shortcomings with 'W;', and enforcement of optind=0.
35384         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35385         Likewise.
35386
35387 2009-12-21  Bruno Haible  <bruno@clisp.org>
35388
35389         localename: Improvements for MacOS X and Cygwin.
35390         * lib/localename.h (gl_locale_name_environ): New declaration.
35391         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35392         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35393         (gl_locale_name_posix): Invoke it.
35394         (gl_locale_name_default): Add comments. Use Windows native API also on
35395         Cygwin.
35396
35397 2009-12-21  Bruno Haible  <bruno@clisp.org>
35398
35399         Update list of Win32 locale ids.
35400         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35401         (LANG_SAMI): Renamed from LANG_SAAMI.
35402         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35403         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35404         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35405         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35406         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35407         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35408         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35409         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35410         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35411         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35412         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35413         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35414         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35415         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35416         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35417         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35418         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35419         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35420         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35421         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35422         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35423         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35424         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35425         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35426         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35427         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35428         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35429         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35430         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35431         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35432         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35433         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35434         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35435         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35436         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35437         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35438         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35439         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35440         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35441         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35442         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35443         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35444         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35445         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35446         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35447         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35448         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35449         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35450         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35451         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35452         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35453         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35454         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35455         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35456         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35457         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35458         Add more languages and countries for Sami, Sorbian. Add more countries
35459         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35460         for Pashto. Change country for Syriac, Tswana.
35461
35462 2009-12-21  Eric Blake  <ebb9@byu.net>
35463
35464         test-utimens: avoid spurious failure
35465         * tests/test-chown.h (nap): Factor...
35466         * tests/nap.h: ...into new file.
35467         * tests/test-lchown.h (nap): Avoid duplication.
35468         * tests/test-utimens-common.h (nap): Use shared implementation,
35469         necessary on file systems with 1-second resolution.
35470         * modules/chown-tests (Files): Include new file.
35471         * modules/fdutimensat-tests (Files): Likewise.
35472         * modules/futimens-tests (Files): Likewise.
35473         * modules/lchown-tests (Files): Likewise.
35474         * modules/openat-tests (Files): Likewise.
35475         * modules/utimens-tests (Files): Likewise.
35476         * modules/utimensat-tests (Files): Likewise.
35477
35478 2009-12-19  Eric Blake  <ebb9@byu.net>
35479
35480         futimens, utimensat: work around Linux bug
35481         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35482         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35483         * lib/utimensat.c (rpl_utimensat): Work around it.
35484         * lib/futimens.c (rpl_futimens): Adjust comment.
35485
35486         utimens: work around Linux ctime bug
35487         * lib/utimens.c (detect_ctime_bug): New helper function.
35488         (update_timespec): Differentiate between workaround needed for
35489         this bug vs. what is needed for systems that lack utimensat.
35490         (fdutimens, lutimens): Work around bug.
35491
35492         utimens: check for ctime update
35493         * tests/test-utimens-common.h (check_ctime): Define.
35494         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35495         * tests/test-futimens.h (test_futimens): Likewise.
35496         * tests/test-lutimens.h (test_lutimens): Likewise.
35497         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35498         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35499
35500 2009-12-19  Bruno Haible  <bruno@clisp.org>
35501
35502         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35503         * tests/test-dprintf-posix2.sh: New file.
35504         * tests/test-dprintf-posix2.c: New file.
35505         * modules/dprintf-posix-tests (Files): Add them.
35506         (configure.ac): Check for getrlimit and setrlimit.
35507         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35508
35509 2009-12-19  Bruno Haible  <bruno@clisp.org>
35510
35511         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35512         * tests/test-fprintf-posix3.sh: New file.
35513         * tests/test-fprintf-posix3.c: New file.
35514         * modules/fprintf-posix-tests (Files): Add them.
35515         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35516
35517 2009-12-19  Eric Blake  <ebb9@byu.net>
35518
35519         dirfd: fix prototype
35520         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35521         * lib/dirfd.c (dirfd): Likewise.
35522
35523         canonicalize: reduce memory usage
35524         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35525         allocation to size.
35526         Reported by Solar Designer <solar@openwall.com>.
35527
35528 2009-12-19  Bruno Haible  <bruno@clisp.org>
35529
35530         New module attribute 'Applicability'.
35531         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35532         * gnulib-tool: New option --extract-applicability.
35533         (func_usage): Document it.
35534         (sed_extract_prog): Recognize it.
35535         (func_get_applicability): New function.
35536         (func_import): Generalize handling of 'link-warning' module.
35537         * modules/link-warning (Applicability): New section.
35538         * modules/arg-nonnull (Applicability): New section.
35539         Repoted by Simon Josefsson <simon@josefsson.org>.
35540
35541 2009-12-19  Bruno Haible  <bruno@clisp.org>
35542
35543         fflush: tweak
35544         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35545         * lib/fseeko.c (rpl_fseeko): Likewise.
35546
35547 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35548
35549         * lib/gl_list.h: Fix typo in comment.
35550
35551 2009-12-16  Eric Blake  <ebb9@byu.net>
35552
35553         fcntl: use to simplify other modules
35554         * modules/cloexec (Depends-on): Add fcntl.
35555         * modules/fchdir (Depends-on): Likewise.
35556         * modules/fd-safer-flag (Depends-on): Likewise.
35557         * modules/unistd-safer (Depends-on): Likewise.
35558         * modules/dup3 (configure.ac): Set module indicator.
35559         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35560         missing.
35561         * lib/fchdir.c (_gl_register_dup): Fix comment.
35562         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35563         * lib/dup-safer.c (dup_safer): Likewise.
35564         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35565         * lib/dup3.c (dup3): Likewise.
35566         * tests/test-fchdir.c (main): Enhance test.
35567         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
35568
35569         fcntl: port portions of fcntl to mingw
35570         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35571         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35572         replacement for mingw.
35573         * modules/fcntl (Description): Update.
35574         (Depends-on): Add dup2.
35575         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35576         * modules/fcntl-h (Makefile.am): Substitute it.
35577         * lib/fcntl.in.h (fcntl): Update declaration.
35578         (F_DUPFD, F_GETFD): New macros, when needed.
35579         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35580         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35581         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35582         we now guarantee.
35583
35584         fcntl: work around cygwin bug in F_DUPFD
35585         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35586         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35587         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35588         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35589         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35590
35591         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35592         * modules/fcntl (Files): List new files.
35593         (configure.ac): Run a test.
35594         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35595         * lib/fcntl.c (rpl_fcntl): Likewise.
35596         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35597         (gl_FCNTL_H): Always replace fcntl.h.
35598         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35599         * lib/fcntl.in.h (fcntl): Declare replacement.
35600         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35601         needed, plus a witness.
35602         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35603         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35604         * tests/test-fcntl.c: New file.
35605         * modules/fcntl-tests: Likewise.
35606
35607         binary-io: avoid potential compilation warning
35608         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35609         directives.
35610
35611         fflush: avoid compilation error on NetBSD
35612         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35613         between off_t and fpos_t, since the latter is sometimes a struct.
35614         * lib/fseeko.c (rpl_fseeko): Likewise.
35615         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35616
35617 2009-12-15  Eric Blake  <ebb9@byu.net>
35618
35619         fcntl-h, stdio, sys_ioctl: fix declarations
35620         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35621         function must not take arguments.
35622         * lib/sys_ioctl.in.h (ioctl): Likewise.
35623         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35624         (open): Add a link warning.
35625
35626 2009-12-15  Jim Meyering  <meyering@redhat.com>
35627
35628         areadlink, areadlink-with-size: relax license to LGPLv2+
35629         * modules/areadlink (License): Relax to LGPLv2+.
35630         * modules/areadlink-with-size (License): Likewise.
35631
35632 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35633             Bruno Haible  <bruno@clisp.org>
35634
35635         *printf: Fix memory leak.
35636         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35637         * lib/vfprintf.c (vfprintf): Likewise.
35638         * lib/dprintf.c (dprintf): Likewise.
35639         * lib/vdprintf.c (vdprintf): Likewise.
35640
35641 2009-12-14  Eric Blake  <ebb9@byu.net>
35642
35643         accept4: adjust module dependencies
35644         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35645
35646         utimens: one more try at avoiding compiler warning
35647         * lib/utimens.c (lutimens): Lower scope of result.
35648
35649 2009-12-13  Bruno Haible  <bruno@clisp.org>
35650
35651         Move the malloc checking from module 'list' to new module 'xlist'.
35652         * modules/xlist: New file.
35653         * lib/gl_xlist.h: New file.
35654         * lib/gl_xlist.c: New file.
35655         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35656         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35657         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35658         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35659         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35660         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35661         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35662         gl_sortedlist_nx_add): New declarations.
35663         (struct gl_list_implementation): Rename and change methods accordingly.
35664         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35665         (gl_list_nx_create): Renamed from gl_list_create.
35666         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35667         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35668         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35669         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35670         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35671         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35672         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35673         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35674         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35675         gl_list_create_empty.
35676         (gl_list_nx_create): Renamed from gl_list_create.
35677         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35678         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35679         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35680         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35681         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35682         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35683         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35684         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35685         * lib/gl_array_list.c: Don't include xalloc.h.
35686         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35687         NULL upon out-of-memory.
35688         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35689         out-of-memory.
35690         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35691         Change return type to 'int'.
35692         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35693         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35694         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35695         upon out-of-memory.
35696         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35697         upon out-of-memory.
35698         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35699         upon out-of-memory.
35700         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35701         upon out-of-memory.
35702         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35703         out-of-memory.
35704         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35705         Update.
35706         (gl_array_list_implementation): Update.
35707         * lib/gl_carray_list.c: Don't include xalloc.h.
35708         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35709         Return NULL upon out-of-memory.
35710         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35711         out-of-memory.
35712         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35713         Change return type to 'int'.
35714         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35715         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35716         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35717         upon out-of-memory.
35718         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35719         upon out-of-memory.
35720         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35721         out-of-memory.
35722         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35723         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35724         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35725         Update.
35726         (gl_carray_list_implementation): Update.
35727         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35728         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35729         gl_linked_create_empty. Return NULL upon out-of-memory.
35730         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35731         out-of-memory.
35732         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35733         Change return type to 'int'. Return -1 upon out-of-memory.
35734         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35735         out-of-memory.
35736         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35737         upon out-of-memory.
35738         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35739         upon out-of-memory.
35740         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35741         NULL upon out-of-memory.
35742         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35743         upon out-of-memory.
35744         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35745         out-of-memory.
35746         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35747         Update.
35748         * lib/gl_linked_list.c: Don't include xalloc.h.
35749         (gl_linked_list_implementation): Update.
35750         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35751         (add_to_bucket): Change return type to 'int'.
35752         (gl_linkedhash_list_implementation): Update.
35753         * lib/gl_anytree_list1.h (free_subtree): New function.
35754         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35755         gl_tree_create_empty. Return NULL upon out-of-memory.
35756         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35757         Change return type to 'int'. Return -1 upon out-of-memory.
35758         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35759         out-of-memory.
35760         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35761         (gl_tree_remove_node): New function, moved here from
35762         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35763         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35764         Update.
35765         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35766         malloc, not xmalloc. Return NULL upon out-of-memory.
35767         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35768         out-of-memory.
35769         (gl_tree_remove_node_from_tree): New function, extracted from
35770         gl_tree_remove_node.
35771         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35772         upon out-of-memory.
35773         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35774         out-of-memory.
35775         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35776         upon out-of-memory.
35777         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35778         upon out-of-memory.
35779         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35780         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35781         not xmalloc. Return NULL upon out-of-memory.
35782         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35783         out-of-memory.
35784         (gl_tree_remove_node_from_tree): New function, extracted from
35785         gl_tree_remove_node.
35786         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35787         upon out-of-memory.
35788         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35789         out-of-memory.
35790         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35791         upon out-of-memory.
35792         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35793         upon out-of-memory.
35794         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35795         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35796         gl_anytree_list1.h before gl_anyavltree_list2.h.
35797         (gl_avltree_list_implementation): Update.
35798         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
35799         gl_anytree_list1.h before gl_anyavltree_list2.h.
35800         (gl_rbtree_list_implementation): Update.
35801         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
35802         Change return type to 'int'. Return -1 upon out-of-memory. Use
35803         __builtin_expect.
35804         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
35805         (gl_avltreehash_list_implementation): Update.
35806         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
35807         (gl_rbtreehash_list_implementation): Update.
35808         * modules/array-list (Depends-on): Remove xalloc.
35809         * modules/carray-list (Depends-on): Likewise.
35810         * modules/linked-list (Depends-on): Likewise.
35811         * modules/linkedhash-list (Depends-on): Likewise.
35812         * modules/avltree-list (Depends-on): Likewise.
35813         * modules/rbtree-list (Depends-on): Likewise.
35814         * modules/avltreehash-list (Depends-on): Likewise.
35815         * modules/rbtreehash-list (Depends-on): Likewise.
35816
35817         * modules/xsublist: New file.
35818         * lib/gl_xsublist.h: New file.
35819         * lib/gl_xsublist.c: New file.
35820         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35821         (gl_sublist_nx_create): New declaration.
35822         * lib/gl_sublist.c: Don't include xalloc.h.
35823         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35824         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35825         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35826         Change return type to 'int'. Return -1 upon out-of-memory.
35827         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35828         upon out-of-memory.
35829         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35830         NULL upon out-of-memory.
35831         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35832         upon out-of-memory.
35833         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35834         NULL upon out-of-memory.
35835         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35836         NULL upon out-of-memory.
35837         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35838         upon out-of-memory.
35839         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35840         (gl_sublist_list_implementation): Update.
35841         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35842         upon out-of-memory.
35843         * modules/sublist (Depends-on): Remove xalloc.
35844
35845         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35846         * tests/test-carray_list.c: Likewise.
35847         * tests/test-linked_list.c: Likewise.
35848         * tests/test-linkedhash_list.c: Likewise.
35849         * tests/test-avltree_list.c: Likewise.
35850         * tests/test-rbtree_list.c: Likewise.
35851         * tests/test-avltreehash_list.c: Likewise.
35852         * tests/test-rbtreehash_list.c: Likewise.
35853         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35854         * modules/carray-list-tests (Makefile.am): Likewise.
35855         * modules/linked-list-tests (Makefile.am): Likewise.
35856         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35857         * modules/avltree-list-tests (Makefile.am): Likewise.
35858         * modules/rbtree-list-tests (Makefile.am): Likewise.
35859         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35860         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35861
35862         * NEWS: Mention the changes.
35863
35864         * lib/clean-temp.c: Include gl_xlist.h.
35865         * modules/clean-temp (Depends-on): Add xlist.
35866
35867         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35868         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35869
35870         * tests/test-array_oset.c: Include gl_xlist.h.
35871         * modules/array-oset-tests (Depends-on): Add xlist.
35872
35873         Reported by José E. Marchesi <jemarch@gnu.org>.
35874
35875 2009-12-13  Bruno Haible  <bruno@clisp.org>
35876
35877         Move the malloc checking from module 'oset' to new module 'xoset'.
35878         * modules/xoset: New file.
35879         * lib/gl_xoset.h: New file.
35880         * lib/gl_xoset.c: New file.
35881         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35882         declarations.
35883         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35884         (struct gl_oset_implementation): Rename and change methods accordingly.
35885         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35886         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35887         'int'. Mark as __warn_unused_result__.
35888         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35889         gl_oset_create_empty.
35890         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35891         'int'.
35892         * lib/gl_array_oset.c: Don't include xalloc.h.
35893         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35894         malloc, not xmalloc.
35895         (grow): Change return type to 'int'. Don't call xalloc_die.
35896         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35897         to 'int'.
35898         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35899         'int'.
35900         (gl_array_oset_implementation): Update.
35901         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35902         gl_tree_create_empty.
35903         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35904         'int'.
35905         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35906         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35907         xmalloc.
35908         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35909         not xmalloc.
35910         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35911         xmalloc.
35912         (gl_avltree_oset_implementation): Update.
35913         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35914         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35915         xmalloc.
35916         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35917         not xmalloc.
35918         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35919         xmalloc.
35920         (gl_rbtree_oset_implementation): Update.
35921         * modules/array-oset (Depends-on): Remove xalloc.
35922         * modules/avltree-oset (Depends-on): Likewise.
35923         * modules/rbtree-oset (Depends-on): Likewise.
35924         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
35925         * tests/test-avltree_oset.c: Likewise.
35926         * tests/test-rbtree_oset.c: Likewise.
35927         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
35928         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
35929         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35930         * NEWS: Mention the change.
35931
35932 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
35933
35934         maint.mk: allow a project to override release-prep commands
35935         * top/maint.mk (alpha, beta, stable): Move release-preparatory
35936         commands into a new rule.
35937         (release-prep): New rule.
35938         (release-prep-hook): New overridable variable.
35939
35940 2009-12-13  Bruno Haible  <bruno@clisp.org>
35941
35942         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
35943
35944 2009-12-13  Jim Meyering  <meyering@redhat.com>
35945
35946         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
35947         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
35948
35949 2009-12-12  Bruno Haible  <bruno@clisp.org>
35950
35951         duplocale: Tweak.
35952         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
35953
35954 2009-12-12  Karl Berry  <karl@gnu.org>
35955
35956         * config/srclist.txt (strtoll.c): tab changes, no more sync.
35957
35958 2009-12-12  Bruno Haible  <bruno@clisp.org>
35959
35960         * m4/po.m4: Undo incorrect untabification.
35961
35962 2009-12-12  Bruno Haible  <bruno@clisp.org>
35963
35964         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
35965         * modules/c-strtod (Depends-on): Add locale.
35966         * modules/c-strtold (Depends-on): Likewise.
35967
35968 2009-12-12  Bruno Haible  <bruno@clisp.org>
35969
35970         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
35971
35972 2009-12-11  Eric Blake  <ebb9@byu.net>
35973
35974         setenv: relax requirement in light of POSIX ruling
35975         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
35976         not NULL.
35977         * tests/test-setenv.c (main): Relax test.
35978         * tests/test-unsetenv.c (main): Likewise.
35979         * doc/posix-functions/setenv.texi (setenv): Document this.
35980         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35981
35982 2009-12-11  Bruno Haible  <bruno@clisp.org>
35983
35984         New module 'fd-safer-flag'.
35985         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
35986         * lib/dup-safer.c (dup_safer_flag): Remove function.
35987         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
35988         * lib/fd-safer.c (fd_safer_flag): Remove function.
35989         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
35990         * modules/cloexec (configure.ac): Drop indicator macro.
35991         * modules/fd-safer-flag: New file.
35992         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
35993         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
35994         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
35995
35996 2009-12-11  Bruno Haible  <bruno@clisp.org>
35997
35998         Tests for module 'nl_langinfo'.
35999         * modules/nl_langinfo-tests: New file.
36000         * tests/test-nl_langinfo.sh: New file.
36001         * tests/test-nl_langinfo.c: New file.
36002
36003         New module 'nl_langinfo'.
36004         * lib/nl_langinfo.c: New file.
36005         * m4/nl_langinfo.m4: New file.
36006         * modules/nl_langinfo: New file.
36007         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36008
36009 2009-12-11  Bruno Haible  <bruno@clisp.org>
36010
36011         Tests for module 'langinfo'.
36012         * modules/langinfo-tests: New file.
36013         * tests/test-langinfo.c: New file.
36014
36015         New module 'langinfo'.
36016         * lib/langinfo.in.h: New file.
36017         * m4/langinfo_h.m4: New file.
36018         * modules/langinfo: New file.
36019         * doc/posix-headers/langinfo.texi: Mention the new module.
36020
36021 2009-12-11  Bruno Haible  <bruno@clisp.org>
36022
36023         * lib/config.charset: Untabify.
36024
36025 2009-12-11  Bruno Haible  <bruno@clisp.org>
36026
36027         * modules/unistd-safer (configure.ac): Drop indicator macro.
36028
36029 2009-12-11  Bruno Haible  <bruno@clisp.org>
36030
36031         Move pipe2-safer code to its own file.
36032         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36033         * lib/pipe-safer.c (pipe2_safer): Remove function.
36034         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36035         (Makefile.am): Add it to lib_SOURCES.
36036
36037 2009-12-10  Bruno Haible  <bruno@clisp.org>
36038
36039         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36040
36041 2009-12-10  Bruno Haible  <bruno@clisp.org>
36042
36043         Declare which arguments expect non-NULL values, for GCC and clang.
36044         * build-aux/arg-nonnull.h: New file.
36045         * modules/arg-nonnull: New file.
36046         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36047         (inet_ntop, inet_pton): Use it.
36048         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36049         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36050         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36051         (open, openat): Use it.
36052         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36053         (fnmatch): Use it.
36054         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36055         (getopt, getopt_long, getopt_long_only): Use it.
36056         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36057         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36058         Use it.
36059         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36060         (iconv_open): Use it.
36061         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36062         (strtoimax, strtoumax): Use it.
36063         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36064         (duplocale): Use it.
36065         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36066         (frexp, frexpl): Use it.
36067         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36068         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36069         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36070         (tsearch, tfind, tdelete, twalk): Use it.
36071         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36072         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36073         sigpending): Use it.
36074         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36075         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36076         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36077         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36078         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36079         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36080         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36081         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36082         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36083         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36084         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36085         Use it.
36086         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36087         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36088         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36089         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36090         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36091         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36092         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36093         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36094         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36095         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36096         strtoull, unsetenv): Use it.
36097         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36098         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36099         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36100         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36101         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36102         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36103         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36104         (strcasecmp, strncasecmp): Use it.
36105         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36106         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36107         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36108         rpl_setsockopt): Use it.
36109         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36110         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36111         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36112         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36113         (gettimeofday): Use it.
36114         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36115         (times): Use it.
36116         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36117         (uname): Use it.
36118         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36119         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36120         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36121         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36122         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36123         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36124         unlinkat, write): Use it.
36125         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36126         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36127         * lib/argv-iter.h: Include arg-nonnull.h.
36128         (_ATTRIBUTE_NONNULL_): Remove macro.
36129         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36130         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36131         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36132         optimization.
36133         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36134         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36135         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36136         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36137         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36138         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36139         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36140         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36141         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36142         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36143         * modules/dirent (Depends-on): Add arg-nonnull.
36144         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36145         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36146         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36147         * modules/fnmatch (Depends-on): Add arg-nonnull.
36148         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36149         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36150         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36151         * modules/glob (Depends-on): Add arg-nonnull.
36152         (Makefile.am): Insert arg-nonnull.h into glob.h.
36153         * modules/iconv_open (Depends-on): Add arg-nonnull.
36154         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36155         * modules/inttypes (Depends-on): Add arg-nonnull.
36156         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36157         * modules/locale (Depends-on): Add arg-nonnull.
36158         (Makefile.am): Insert arg-nonnull.h into locale.h.
36159         * modules/math (Depends-on): Add arg-nonnull.
36160         (Makefile.am): Insert arg-nonnull.h into math.h.
36161         * modules/netdb (Depends-on): Add arg-nonnull.
36162         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36163         * modules/search (Depends-on): Add arg-nonnull.
36164         (Makefile.am): Insert arg-nonnull.h into search.h.
36165         * modules/signal (Depends-on): Add arg-nonnull.
36166         (Makefile.am): Insert arg-nonnull.h into signal.h.
36167         * modules/spawn (Depends-on): Add arg-nonnull.
36168         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36169         * modules/stdio (Depends-on): Add arg-nonnull.
36170         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36171         * modules/stdlib (Depends-on): Add arg-nonnull.
36172         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36173         * modules/string (Depends-on): Add arg-nonnull.
36174         (Makefile.am): Insert arg-nonnull.h into string.h.
36175         * modules/strings (Depends-on): Add arg-nonnull.
36176         (Makefile.am): Insert arg-nonnull.h into strings.h.
36177         * modules/sys_socket (Depends-on): Add arg-nonnull.
36178         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36179         * modules/sys_stat (Depends-on): Add arg-nonnull.
36180         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36181         * modules/sys_time (Depends-on): Add arg-nonnull.
36182         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36183         * modules/sys_times (Depends-on): Add arg-nonnull.
36184         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36185         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36186         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36187         * modules/time (Depends-on): Add arg-nonnull.
36188         (Makefile.am): Insert arg-nonnull.h into time.h.
36189         * modules/unistd (Depends-on): Add arg-nonnull.
36190         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36191         * modules/wchar (Depends-on): Add arg-nonnull.
36192         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36193         * modules/argv-iter (Depends-on): Add arg-nonnull.
36194         * tests/test-canonicalize.c (null_ptr): New function.
36195         (main): Use it.
36196         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36197         (main): Use it.
36198         * tests/test-memmem.c (null_ptr): New function.
36199         (main): Use it.
36200         Reported by Jim Meyering.
36201
36202 2009-12-10  Bruno Haible  <bruno@clisp.org>
36203
36204         Use spaces for indentation, not tabs.
36205         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36206         * m4/*.m4: Untabify.
36207         * build-aux/*.h: Untabify.
36208         * tests/**/*.[hc]: Untabify.
36209         * README: New section "Indent with spaces, not TABs", based on
36210         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36211         * NEWS: Mention the change.
36212
36213 2009-12-10  Bruno Haible  <bruno@clisp.org>
36214
36215         pty test: Fix link error.
36216         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36217         test_pty_LDADD.
36218
36219 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36220
36221         * modules/pty: New file.
36222         * modules/pty-tests: New file.
36223         * m4/pty.m4: New file.
36224         * tests/test-pty.c: New file.
36225         * doc/glibc-headers/pty.texi: Modified.
36226         * doc/glibc-functions/forkpty.texi: Modified.
36227         * doc/glibc-functions/openpty.texi: Modified.
36228
36229 2009-12-10  Bruno Haible  <bruno@clisp.org>
36230
36231         Avoid syntax error in C++ mode.
36232         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36233
36234 2009-12-10  Bruno Haible  <bruno@clisp.org>
36235
36236         Use sed with option -e.
36237         * gnulib-tool (func_version, func_emit_copyright_notice,
36238         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36239         option -e to sed.
36240         * modules/link-warning (Makefile.am): Likewise.
36241
36242 2009-12-10  Jim Meyering  <meyering@redhat.com>
36243
36244         mgetgroups: do not write bytes beyond end of malloc'd buffer
36245         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36246         username, we call getgroups with a one-element-shorter buffer,
36247         but still told it the length was original, max_n_groups.
36248
36249 2009-12-09  Eric Blake  <ebb9@byu.net>
36250
36251         cloexec: relax license
36252         * modules/cloexec (Maintainer): Add myself.
36253         (License): Use LGPL, not GPL.
36254
36255         link-warning: optimize generation
36256         * modules/link-warning (Makefile.am): Reduce process usage.
36257
36258 2009-12-09  Bruno Haible  <bruno@clisp.org>
36259
36260         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36261         workaround was added on 2009-11-17.
36262
36263 2009-12-09  Jim Meyering  <meyering@redhat.com>
36264             Bruno Haible  <bruno@clisp.org>
36265
36266         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36267         * modules/link-warning (Makefile.am): Make the comment-removing sed
36268         command more robust in the face of bootstrap-prepended comment lines.
36269
36270 2009-12-09  Bruno Haible  <bruno@clisp.org>
36271
36272         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36273         most one group.
36274
36275 2009-12-09  Simon Josefsson <simon@josefsson.org>
36276             Bruno Haible  <bruno@clisp.org>
36277
36278         * build-aux/link-warning.h: Add copyright notice.
36279         * modules/link-warning (Makefile.am): Generate link-warning.h from
36280         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36281         * NEWS: Mention change in link-warning module.
36282         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36283         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36284         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36285         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36286         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36287         * modules/math (Makefile.am): Add dependency to math.h.
36288         * modules/search (Makefile.am): Add dependency to search.h.
36289         * modules/signal (Makefile.am): Add dependency to signal.h.
36290         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36291         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36292         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36293         * modules/string (Makefile.am): Add dependency to string.h.
36294         * modules/strings (Makefile.am): Add dependency to strings.h.
36295         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36296         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36297         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36298         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36299         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36300         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36301         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36302         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36303         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36304
36305 2009-12-09  Bruno Haible  <bruno@clisp.org>
36306
36307         fchdir: Optimize away rpl_fstat when possible.
36308         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36309         REPLACE_OPEN_DIRECTORY.
36310         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36311
36312 2009-12-09  Bruno Haible  <bruno@clisp.org>
36313
36314         * lib/fchdir.c: Update comment.
36315
36316 2009-12-09  Bruno Haible  <bruno@clisp.org>
36317
36318         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36319
36320 2009-12-08  Eric Blake  <ebb9@byu.net>
36321
36322         fchdir: avoid memory leak on re-registration.
36323         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36324
36325 2009-12-08  Jim Meyering  <meyering@redhat.com>
36326
36327         init.sh: avoid Solaris 10 /bin/sh portability problem
36328         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36329         sourced script:
36330           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36331           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36332           bar
36333         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36334         and two tests used that idiom.
36335         * tests/init.sh: Update suggested usage comments.
36336         (path_prepend_): New function, to be used in place
36337         of the --src-path=DIR option.
36338         (setup_): Move PATH-prepending code into path_prepend_.
36339         * tests/test-pread.sh: Adapt to new usage.
36340         * tests/test-xalloc-die.sh: Likewise.
36341
36342 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36343
36344         * doc/gnulib.texi (Glibc pty.h): Add.
36345         * doc/glibc-functions/forkpty.texi: Add.
36346         * doc/glibc-functions/openpty.texi: Add.
36347         Suggested by Bruno Haible.
36348
36349 2009-12-08  Eric Blake  <ebb9@byu.net>
36350
36351         fchdir: fix logic bugs
36352         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36353         * tests/test-fchdir.c (main): Enhance test.
36354         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36355         is in use.
36356
36357         dup2: fix logic bugs
36358         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36359         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36360         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36361         exists.
36362         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36363
36364 2009-12-07  Eric Blake  <ebb9@byu.net>
36365
36366         unlink: fix m4 detection
36367         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36368
36369         unistd-safer: add unit test
36370         * modules/unistd-safer-tests: New file.
36371         * tests/test-dup-safer.c: Likewise.
36372         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36373         * tests/test-dup2.c (setmode): Likewise.
36374         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36375
36376         cloexec: preserve text vs. binary across dup_cloexec
36377         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36378         mode.
36379         * modules/dup2-tests (Depends-on): Add binary-io.
36380         * modules/cloexec-tests (Depends-on): Likewise.
36381         * tests/test-dup2.c (setmode, is_mode): New helpers.
36382         (main): Add tests that translation mode is preserved.
36383         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36384         Reported by Bruno Haible.
36385
36386         mgetgroups: reduce duplicate listings
36387         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36388         resulting array.
36389         * tests/test-chown.h (test_chown): Simplify client.
36390         * tests/test-lchown.h (test_lchown): Likewise.
36391
36392 2009-12-06  Bruno Haible  <bruno@clisp.org>
36393
36394         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36395         value.
36396
36397 2009-12-06  Bruno Haible  <bruno@clisp.org>
36398
36399         * lib/progname.c: Include stdio.h, stdlib.h.
36400         (set_program_name): Reject a NULL argument.
36401
36402 2009-12-05  Eric Blake  <ebb9@byu.net>
36403
36404         pipe2-safer: new module
36405         * modules/pipe2-safer: New file.
36406         * lib/unistd-safer.h (pipe2_safer): New prototype.
36407         * lib/unistd--.h (pipe2): New wrapper.
36408         * lib/pipe-safer.c (pipe2_safer): New function.
36409         * modules/pipe (Depends-on): Add pipe2-safer.
36410         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36411
36412         stdlib-safer: preserve cloexec flag for mkostemp[s]
36413         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36414         fd_safer_flag.
36415
36416         unistd-safer: allow preservation of cloexec status via flag
36417         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36418         prototypes.
36419         * lib/dup-safer.c (dup_safer_flag): New function.
36420         * lib/fd-safer.c (fd_safer_flag): Likewise.
36421         * modules/cloexec (configure.ac): Set witness.
36422
36423         test-dup2: enhance test
36424         * modules/dup2-tests (Depends-on): Add cloexec.
36425         * tests/test-dup2.c (main): Enhance test.
36426
36427         cloexec: add dup_cloexec
36428         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36429         header and comments.
36430         * lib/cloexec.c (set_cloexec_flag): Add comments.
36431         (dup_cloexec): New function, with mingw implementation borrowed
36432         from...
36433         * lib/w32spawn.h (dup_noinherit): ...here.
36434         * modules/execute (Depends-on): Add cloexec.
36435         * modules/pipe (Depends-on): Likewise.
36436         * modules/cloexec (Depends-on): Add dup2.
36437         * modules/cloexec-tests (Files): New file.
36438         * tests/test-cloexec.c: Likewise.
36439
36440         test-xalloc-die: fix test for mingw
36441         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36442         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36443         directory and .exe suffix off argv[0] output.
36444
36445         test-fseeko: fix test for mingw
36446         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36447         than undefining fseek, so test will pass on mingw.
36448
36449 2009-12-05  Bruno Haible  <bruno@clisp.org>
36450
36451         * lib/progname.h (set_program_name): Clarify specification.
36452         * lib/progname.c (set_program_name): Likewise.
36453         Reported by Jim Meyering.
36454
36455 2009-12-05  Jim Meyering  <meyering@redhat.com>
36456
36457         maint.mk: backslash-escape parens in default regexp
36458         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36459         backslash-escape the literal parentheses.
36460
36461         maint.mk: news-date-check: use grep -E
36462         * top/maint.mk (today): Define a Make variable, not a...
36463         (news-date-check): ...shell variable.
36464         (news-date-regexp): Use the Make variable.
36465         Use grep's -E option.  Change the failing diagnostic to mention
36466         the variable, $(news-date-regexp).
36467
36468 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36469
36470         maintainer-makefile: allow customization of NEWS entry format
36471         * top/maint.mk (news-date-regexp): New overridable variable.
36472         (news-date-check): Use it.
36473
36474 2009-12-04  Eric Blake  <ebb9@byu.net>
36475
36476         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36477         * lib/mgetgroups.h (xgetgroups): New prototype.
36478         * lib/mgetgroups.c (xgetgroups): New wrapper.
36479         (mgetgroups): Handle ENOSYS.
36480         * modules/mgetgroups (Depends-on): Add realloc.
36481         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36482
36483         mgetgroups: avoid argument promotion issues with -1
36484         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36485         for invalid gid_t.
36486         * tests/test-chown.h (getegid, test_chown): Likewise.
36487         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36488
36489 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36490
36491         exclude: Fix header file problems.
36492         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36493
36494 2009-12-01  Jim Meyering  <meyering@redhat.com>
36495
36496         fts: fts_open: do not let an empty string cause immediate failure
36497         This is required in support of GNU rm, for which the command
36498         "rm A '' B" must process and remove both A and B, in spite of
36499         the empty string argument.
36500         * lib/fts.c (fts_open): Do not let the presence of an empty string
36501         cause fts_open to fail immediately.  Most fts-using tools must be
36502         able to process all arguments, in order, and can be expected to
36503         diagnose such arguments themselves.
36504
36505 2009-11-30  Eric Blake  <ebb9@byu.net>
36506
36507         utimens: fix compilation error
36508         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36509         Declare variable at right scope.
36510
36511 2009-11-29  Jim Meyering  <meyering@redhat.com>
36512
36513         bootstrap: handle perl-5.11's changed --version output
36514         * build-aux/bootstrap (get_version): Handle perl separately,
36515         since perl-5.11's --version output is different.
36516
36517 2009-11-28  Jim Meyering  <meyering@redhat.com>
36518
36519         userspec: depend on the inttostr module, too
36520         * modules/userspec (Depends-on): Add inttostr.
36521
36522         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36523         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36524         number of MAXUID when it evaluates to (uid_t) -1.
36525         Likewise for group ID.  Reported by Matt McCutchen in
36526         <http://savannah.gnu.org/bugs/?28113>
36527
36528         userspec: reformat to use spaces, not TABs
36529         * lib/userspec.c: Expand TABs to spaces.
36530         Add Emacs' "indent-tabs-mode: nil" hint.
36531
36532 2009-11-27  Eric Blake  <ebb9@byu.net>
36533
36534         getopt-gnu: flush out another BSD bug
36535         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36536         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36537         flush out BSD bug.
36538         * tests/test-getopt.h (test_getopt): End lists with NULL.
36539         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36540         (test_getopt_long_posix): Enhance test.
36541         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36542         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36543         getopt-gnu.
36544         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36545         Likewise.
36546
36547 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36548
36549         * modules/idpriv-droptemp-tests (Notice): Fix text.
36550
36551 2009-11-27  Jim Meyering  <meyering@redhat.com>
36552
36553         test-xalloc-die: avoid spurious failure due to libtool argv difference
36554         In a libtool-enabled project, this test would fail due to a difference
36555         in the emitted program name, e.g.,
36556         -test-xalloc-die: memory exhausted
36557         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36558         Use program to avoid that.
36559         * modules/xalloc-die-tests (Depends-on): Add progname.
36560         * tests/test-xalloc-die.c: Include progname.h".
36561         (program_name): Remove decl.
36562         (main): Call set_program_name.
36563         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36564
36565 2009-11-26  Richard Jones  <rjones@redhat.com>
36566
36567         w32sock: leave win32 error in place.
36568         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36569
36570 2009-11-26  Eric Blake  <ebb9@byu.net>
36571
36572         init.sh: suggest to use skip_ and fail_ functions in comments
36573         * tests/init.sh: Add a sentence.
36574
36575 2009-11-25  Bruno Haible  <bruno@clisp.org>
36576
36577         init.sh: add documentation in comments
36578         * tests/init.sh: Add some developer and user documentation.
36579
36580 2009-11-26  Jim Meyering  <meyering@redhat.com>
36581
36582         init.sh: accommodate even those who specify bogus srcdir manually
36583         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36584         configure-time tests to be sanitized, so that there is no need to
36585         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36586         (with no double quotes) suffices.  However, since tests may be
36587         invoked manually, and since you may explicitly set srcdir to the
36588         name of a directory containing spaces, do quote its uses here.
36589         * tests/test-pread.sh: Likewise.
36590         Suggested by Bruno Haible.
36591
36592         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36593         * tests/test-pread.sh: Write no data into the pipe, because
36594         test-pread actually reads none.  This avoids a diagnostic,
36595         "bash: echo: write error: Broken pipe", that arises in the unusual
36596         event something is ignoring SIGPIPE, and might be interpreted
36597         as some sort of failure.  Reported by Bruno Haible.
36598
36599 2009-11-25  Jim Meyering  <meyering@redhat.com>
36600
36601         test-pread: cover failure with ESPIPE and EINVAL
36602         * tests/test-pread.c (main): Test for failure, too.
36603         * tests/test-pread.sh: Invoke with stdin on a pipe.
36604         Suggested by Eric Blake.
36605
36606         pread: improvement and fix
36607         * modules/pread (Depends-on): Depend on lseek, for portability to
36608         e.g., mingw.  Suggested by Eric Blake.
36609         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36610
36611         unistd.in.h: correct declaration of pread
36612         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36613         Reported by Richard W.M. Jones.
36614
36615         test-pread.sh: distribute the test script
36616         * modules/pread-tests (Files): Include test-pread.sh.
36617
36618         test-pread.sh: clean up
36619         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36620         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36621         That is unnecessary, since it's always ".".
36622         Suggestion from Eric Blake.
36623
36624         test-pread.sh: make executable
36625         * tests/test-pread.sh: Set executable bit.
36626         Reported by Eric Blake.
36627
36628         correct typo in test-pread.sh
36629         * tests/test-pread.sh: Add #! line.
36630
36631         test pread
36632         * tests/test-pread.c: New file.
36633         * tests/test-pread.sh: Likewise.
36634         * modules/pread-tests: Likewise.
36635
36636         pread: new module
36637         * modules/pread: New file.
36638         * lib/unistd.in.h (pread): Define/declare.
36639         * lib/pread.c (pread): New file.
36640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36641         * modules/unistd (Makefile.am): Substitute witnesses.
36642         * doc/posix-functions/pread.texi (pread): Update.
36643         * MODULES.html.sh: Add pread.
36644
36645 2009-11-25  Jim Meyering  <meyering@redhat.com>
36646
36647         tests/init.sh: new file to be used via most *.sh tests
36648         * tests/init.sh: New file.
36649
36650 2009-11-25  Eric Blake  <ebb9@byu.net>
36651
36652         utimens: work around older Linux failure with symlinks
36653         * lib/utimens.c (lutimensat_works_really): New variable.
36654         (fdutimens, lutimens): Use it to manage kernels that support
36655         nanosecond times on files, but not on symlinks.
36656         Reported by OndÅ™ej Vašík.
36657
36658         utimes: fix configure grammar
36659         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36660
36661 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36662
36663         regex: Fix fastmap for multibyte character ranges.
36664         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36665         characters when a multibyte character range is included.
36666
36667 2009-11-22  Andy Wingo  <wingo@pobox.com>
36668
36669         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36670         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36671
36672 2009-11-24  Bruno Haible  <bruno@clisp.org>
36673
36674         doc: Most *_l functions exist in MacOS X 10.5.
36675         * doc/posix-functions/duplocale.texi: Update platforms list.
36676         * doc/posix-functions/freelocale.texi: Likewise.
36677         * doc/posix-functions/newlocale.texi: Likewise.
36678         * doc/posix-functions/uselocale.texi: Likewise.
36679         * doc/posix-functions/isalnum_l.texi: Likewise.
36680         * doc/posix-functions/isalpha_l.texi: Likewise.
36681         * doc/posix-functions/isblank_l.texi: Likewise.
36682         * doc/posix-functions/iscntrl_l.texi: Likewise.
36683         * doc/posix-functions/isdigit_l.texi: Likewise.
36684         * doc/posix-functions/isgraph_l.texi: Likewise.
36685         * doc/posix-functions/islower_l.texi: Likewise.
36686         * doc/posix-functions/isprint_l.texi: Likewise.
36687         * doc/posix-functions/ispunct_l.texi: Likewise.
36688         * doc/posix-functions/isspace_l.texi: Likewise.
36689         * doc/posix-functions/isupper_l.texi: Likewise.
36690         * doc/posix-functions/iswalnum_l.texi: Likewise.
36691         * doc/posix-functions/iswalpha_l.texi: Likewise.
36692         * doc/posix-functions/iswblank_l.texi: Likewise.
36693         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36694         * doc/posix-functions/iswctype_l.texi: Likewise.
36695         * doc/posix-functions/iswdigit_l.texi: Likewise.
36696         * doc/posix-functions/iswgraph_l.texi: Likewise.
36697         * doc/posix-functions/iswlower_l.texi: Likewise.
36698         * doc/posix-functions/iswprint_l.texi: Likewise.
36699         * doc/posix-functions/iswpunct_l.texi: Likewise.
36700         * doc/posix-functions/iswspace_l.texi: Likewise.
36701         * doc/posix-functions/iswupper_l.texi: Likewise.
36702         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36703         * doc/posix-functions/isxdigit_l.texi: Likewise.
36704         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36705         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36706         * doc/posix-functions/strcoll_l.texi: Likewise.
36707         * doc/posix-functions/strfmon_l.texi: Likewise.
36708         * doc/posix-functions/strftime_l.texi: Likewise.
36709         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36710         * doc/posix-functions/strxfrm_l.texi: Likewise.
36711         * doc/posix-functions/tolower_l.texi: Likewise.
36712         * doc/posix-functions/toupper_l.texi: Likewise.
36713         * doc/posix-functions/towctrans_l.texi: Likewise.
36714         * doc/posix-functions/towlower_l.texi: Likewise.
36715         * doc/posix-functions/towupper_l.texi: Likewise.
36716         * doc/posix-functions/wcscoll_l.texi: Likewise.
36717         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36718         * doc/posix-functions/wctrans_l.texi: Likewise.
36719         * doc/posix-functions/wctype_l.texi: Likewise.
36720         * doc/glibc-functions/strptime_l.texi: Likewise.
36721         * doc/glibc-functions/strtod_l.texi: Likewise.
36722         * doc/glibc-functions/strtof_l.texi: Likewise.
36723         * doc/glibc-functions/strtol_l.texi: Likewise.
36724         * doc/glibc-functions/strtold_l.texi: Likewise.
36725         * doc/glibc-functions/strtoll_l.texi: Likewise.
36726         * doc/glibc-functions/strtoul_l.texi: Likewise.
36727         * doc/glibc-functions/strtoull_l.texi: Likewise.
36728         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36729         * doc/glibc-functions/wcstod_l.texi: Likewise.
36730         * doc/glibc-functions/wcstof_l.texi: Likewise.
36731         * doc/glibc-functions/wcstol_l.texi: Likewise.
36732         * doc/glibc-functions/wcstold_l.texi: Likewise.
36733         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36734         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36735         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36736
36737 2009-11-24  Bruno Haible  <bruno@clisp.org>
36738
36739         duplocale: Fix logic bug.
36740         * lib/duplocale.c: Don't include <langinfo.h>.
36741         (_NL_LOCALE_NAME): Remove macro.
36742         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36743         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36744
36745 2009-11-23  Jim Meyering  <meyering@redhat.com>
36746
36747         test-update-copyright: don't hard-code /usr/bin/perl
36748         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36749         perl to print the current year.  Gilles Espinasse reported that
36750         the replaced use of perl was hard-coded as /usr/bin/perl.
36751
36752 2009-11-23  Bruno Haible  <bruno@clisp.org>
36753
36754         duplocale: Add support for glibc 2.3.x.
36755         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36756
36757 2009-11-22  Bruno Haible  <bruno@clisp.org>
36758
36759         vasnprintf: Tiny optimization.
36760         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36761         MacOS X.
36762
36763 2009-11-22  Bruno Haible  <bruno@clisp.org>
36764
36765         Tests for module 'duplocale'.
36766         * modules/duplocale-tests: New file.
36767         * tests/test-duplocale.c: New file.
36768
36769         New module 'duplocale'.
36770         * m4/duplocale.m4: New file.
36771         * lib/locale.in.h (duplocale): New declaration.
36772         * lib/duplocale.c: New file.
36773         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36774         gl_LOCALE_H_DEFAULTS): New macros.
36775         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36776         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36777         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36778         REPLACE_DUPLOCALE.
36779         * modules/duplocale: New file.
36780         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36781
36782 2009-11-22  Bruno Haible  <bruno@clisp.org>
36783
36784         * modules/locale-tests (configure.ac): Test for newlocale function.
36785         * tests/test-locale.c: When the system has extended locale functions,
36786         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36787
36788         locale: Make locale_t available when possible.
36789         * lib/locale.in.h: Include <xlocale.h> when it exists.
36790         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36791         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36792         * modules/locale (Depends-on): Add extensions.
36793         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36794         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36795
36796 2009-11-22  Bruno Haible  <bruno@clisp.org>
36797
36798         Add comments.
36799         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
36800         invocation.
36801         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36802         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36803         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36804
36805 2009-11-22  Bruno Haible  <bruno@clisp.org>
36806
36807         error: account for the possibility of freopen (stdout).
36808         * lib/error.c: Include <unistd.h>.
36809         (flush_stdout): New function, extracted from error and error_at_line.
36810         Determine stdout's fd dynamically.
36811         (error, error_at_line): Invoke flush_stdout.
36812         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36813         * modules/error (Depends-on): Add unistd.
36814
36815 2009-11-22  Bruno Haible  <bruno@clisp.org>
36816
36817         diffseq: Add comment.
36818         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36819
36820 2009-11-22  Jim Meyering  <meyering@redhat.com>
36821
36822         c-stack: avoid defining an unused static function
36823         * lib/c-stack.c (find_stack_direction): Do not define this function
36824         when it will not be used.
36825
36826         diffseq: avoid spurious gcc warnings
36827         * lib/diffseq.h (IF_LINT2): Define.
36828         (compareseq): Use it to initialize two members of "part".
36829         This avoids two used-uninitialized warnings.
36830
36831 2009-11-21  Jim Meyering  <meyering@redhat.com>
36832
36833         c-stack: avoid "ignoring return value of `write'" warning
36834         * lib/c-stack.c: Include "ignore-value.h".
36835         (die): Explicitly ignore each write return value.
36836         * modules/c-stack (Depends-on): Add ignore-value.
36837
36838 2009-11-21  Bruno Haible  <bruno@clisp.org>
36839
36840         diffseq: reduce scope of variable 'best'.
36841         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36842         variable, earlier used for two different purposes.
36843
36844 2009-11-21  Jim Meyering  <meyering@redhat.com>
36845
36846         diffseq: remove useless assignment to "best"
36847         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36848         assignment.  At that point "best" is already guaranteed to be zero.
36849
36850 2009-11-20  Eric Blake  <ebb9@byu.net>
36851
36852         build: mention ftp redirector in release announcements
36853         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36854         values that used to come from cfg.mk; mention FTP redirect URL.
36855         * build-aux/announce-gen: Mention the mirror list.
36856         Suggested by Karl Berry.
36857
36858         nanosleep: improve port to mingw
36859         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36860         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36861         LIB_NANOSLEEP, but only when needed.
36862         * modules/select (Link): Document LIBSOCKET.
36863         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36864         enough.
36865
36866         nanosleep: work around cygwin bug
36867         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36868         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36869         bug.
36870         (getnow): Delete, not needed.
36871         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36872         LIB_CLOCK_GETTIME.
36873         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36874         clock-time, gettime.
36875         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36876         bug.
36877         * modules/nanosleep-tests: New test.
36878         * tests/test-nanosleep.c: New file.
36879
36880         sleep: work around cygwin bug
36881         * lib/sleep.c (rpl_sleep): Work around the bug.
36882         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36883         (gl_PREREQ_SLEEP): Delete unused macro.
36884         * modules/sleep (Depends-on): Add verify.
36885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36886         * modules/unistd (Makefile.am): Substitute witness.
36887         * lib/unistd.in.h (sleep): Update prototype.
36888         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36889         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36890         * modules/sleep-tests (Depends-on): Check for alarm.
36891
36892 2009-11-20  Jim Meyering  <meyering@redhat.com>
36893
36894         maint.mk: improve sc_prohibit_magic_number_exit
36895         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36896         so it does not match uses like System.exit(1).
36897         Add comments showing how to correct all offenders.
36898
36899 2009-11-19  Eric Blake  <ebb9@byu.net>
36900
36901         xalloc-die-tests: add missing library
36902         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36903
36904         test-xvasprintf: silence compiler warnings
36905         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36906         empty string from gcc.
36907
36908 2009-11-19  Jim Meyering  <meyering@redhat.com>
36909
36910         xfreopen: new module, from coreutils
36911         * modules/xfreopen: New module.
36912         * lib/xfreopen.c: New file.
36913         * lib/xfreopen.h: New file.
36914         * MODULES.html.sh (File stream based Input/Output"): Add it.
36915
36916 2009-11-19  Eric Blake  <ebb9@byu.net>
36917
36918         manywarnings: depend on warnings
36919         * modules/manywarnings (Depends-on): Add warnings.
36920
36921         build: avoid compiler warnings
36922         * lib/select.c (rpl_select): Delete unused variable.
36923         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
36924
36925 2009-11-18  Eric Blake  <ebb9@byu.net>
36926
36927         tests: avoid false negative with --with-packager
36928         * tests/test-version-etc.sh: Discard packager information.
36929         * tests/test-argp-version-etc-1.sh: Likewise.
36930         Reported by Mike Frysinger.
36931
36932         utimens: fix regression on Solaris
36933         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
36934         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
36935         can only change fd timestamps via futimesat.  Instead, use an
36936         additional witness macro to avoid BSD bug.
36937         Reported by Jim Meyering.
36938
36939 2009-11-17  Eric Blake  <ebb9@byu.net>
36940
36941         usleep: use it to simplify tests
36942         * modules/stat-time-tests (Depends-on): Add usleep.
36943         (configure.ac): Drop usleep check.
36944         * modules/chown-tests (Depends-on, configure.ac): Likewise.
36945         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
36946         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
36947         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
36948         * modules/openat-tests (Depends-on, configure.ac): Likewise.
36949         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
36950         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
36951         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
36952         Likewise.
36953         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
36954         * tests/test-lchown.h (nap): Likewise.
36955         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
36956         * tests/test-stat-time.c (nap): Likewise.
36957         * tests/test-utimens-common.h (nap): Update comments.
36958
36959         usleep: new module
36960         * modules/usleep: New file.
36961         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
36962         * lib/usleep.c (usleep): Likewise.
36963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36964         * modules/unistd (Makefile.am): Substitute witnesses.
36965         * lib/unistd.in.h (usleep): Add declaration.
36966         * doc/pastposix-functions/usleep.texi (usleep): Document this.
36967         * MODULES.html.sh (Date and time): Likewise.
36968         * modules/usleep-tests (Depends-on): New test.
36969         * tests/test-usleep.c: New file.
36970
36971         chown: work around OpenBSD bug
36972         * lib/chown.c (rpl_chown): Work around the bug.
36973         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
36974         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
36975         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
36976         * modules/chown (Depends-on): Add stdbool.
36977         * modules/lchown (Depends-on): Likewise.
36978         * doc/posix-functions/chown.texi (chown): Document the bug.
36979         * doc/posix-functions/lchown.texi (lchown): Likewise.
36980         * tests/test-lchown.h (test_chown): Relax test.
36981
36982         mkstemp: avoid conflict with C++ keyword template
36983         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
36984         * lib/mkostemp.c (mkostemp): Likewise.
36985         * lib/mkostemps.c (mkostemps): Likewise.
36986         * lib/mkstemp.c (mkstemp): Likewise.
36987         * lib/mkstemps.c (mkstemps): Likewise.
36988
36989         xalloc-die-tests: optimize
36990         * tests/test-xalloc-die.sh: Reduce number of processes.
36991
36992 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36993
36994         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
36995         patch from ludo@gnu.org (Ludovic Courtès).
36996
36997 2009-11-17  Jim Meyering  <meyering@redhat.com>
36998
36999         version-etc: use proper license string
37000         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37001         * modules/version-etc-fsf: Likewise.
37002
37003 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37004
37005         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37006         printed to stdout.  Deal with EOL differences.
37007
37008 2009-11-17  Eric Blake  <ebb9@byu.net>
37009
37010         unsetenv: work around Solaris bug
37011         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37012         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37013         Reported by Jim Meyering.
37014
37015         vasnprintf: avoid compiler warnings
37016         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37017         variables.
37018         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37019
37020 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37021
37022         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37023         settings since xalloc-die is no longer the self test,
37024         xalloc-die.sh is.
37025
37026 2009-11-17  Jim Meyering  <meyering@redhat.com>
37027
37028         test-xalloc-die.sh: make the code agree with the commit log
37029         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37030         at the end, just in case you happen to have a test-xalloc-die
37031         program in some other PATH directory.
37032
37033         test-xalloc-die.sh: fix a portability bug
37034         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37035         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37036         Otherwise, argv[0] (as often seen in diagnostics) would be too
37037         system-dependent, sometimes with, and sometimes without the leading "./".
37038
37039         version-etc-fsf: relax license to LGPLv3+
37040         * modules/version-etc-fsf (License): Relax license.
37041
37042 2009-11-16  Eric Blake  <ebb9@byu.net>
37043
37044         xalloc-die-tests: avoid printing null pointer
37045         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37046         shell script.
37047         * tests/test-xalloc-die.c (program_name): Declare.
37048         * tests/test-xalloc-die.sh (tmpfiles): New file.
37049
37050         setenv, unsetenv: work around various bugs
37051         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37052         (setenv) [HAVE_SETENV]: Work around bugs.
37053         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37054         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37055         for bugs.
37056         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37057         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37058         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37059         * modules/stdlib (Makefile.am): Update substitutions.
37060         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37061         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37062         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37063         * modules/setenv-tests: New test.
37064         * modules/unsetenv-tests: Likewise.
37065         * tests/test-setenv.c: New file.
37066         * tests/test-unsetenv.c: Likewise.
37067
37068 2009-11-16  Jim Meyering  <meyering@redhat.com>
37069
37070         version-etc: relax license to LGPLv3+
37071         * modules/version-etc (License): Relax license.
37072
37073         better AC_REQUIRE expanded-before-required-warning avoidance
37074         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37075         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37076         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37077         which is no longer needed.
37078
37079 2009-11-16  Eric Blake  <ebb9@byu.net>
37080
37081         test-freading: clean up temporary file
37082         * tests/test-freading.c (main): Remove file on success, and use
37083         ASSERT more liberally.
37084         Reported by Jim Meyering.
37085
37086 2009-11-16  Jim Meyering  <meyering@redhat.com>
37087
37088         avoid new AC_REQUIRE expanded-before-required warnings
37089         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37090         merely using it.
37091         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37092         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37093
37094 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37095
37096         * tests/test-xalloc-die.c: New file.
37097         * modules/xalloc-die-tests: New file.
37098         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37099         XFAIL_TESTS so it can be appended by modules.
37100
37101 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37102
37103         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37104         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37105
37106 2009-11-14  Eric Blake  <ebb9@byu.net>
37107
37108         fnmatch: avoid compiler warning
37109         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37110         to silence compiler warning about mismatch signedness in ?:.
37111         Reported by Robert Millan.
37112
37113         intprops: add double-inclusion guard
37114         * lib/intprops.h: Allow idempotent includes.
37115         Suggested by Bruce Korb.
37116
37117         openat: detect Solaris fchownat bug
37118         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37119         penalizing glibc chownat when only lchownat is broken.
37120         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37121         trailing slash bugs.
37122         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37123         * modules/openat-tests (Files): Include more files.
37124         (Depends-on): Add mgetgroups, sleep, stat-time.
37125         (configure.ac): Add additional checks.
37126         (Makefile.am): Build new test.
37127         * tests/test-fchownat.c: New file.
37128
37129         lchown: detect Solaris and FreeBSD bug
37130         * lib/lchown.c (rpl_lchown): Work around bug.
37131         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37133         * modules/unistd (Makefile.am): Populate it.
37134         * lib/unistd.in.h (lchown): Update declaration.
37135         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37136         * modules/lchown-tests: New file.
37137         * tests/test-lchown.h (test_lchown): Likewise.
37138         * tests/test-lchown.c (main): Likewise.
37139
37140         chown: detect Solaris and FreeBSD bug
37141         * lib/chown.c (rpl_chown): Work around bug.
37142         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37143         (gl_PREREQ_CHOWN): Delete.
37144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37145         * modules/unistd (Makefile.am): Populate it.
37146         * lib/unistd.in.h (chown): Update declaration.
37147         * lib/lchown.c (chown): Update client.
37148         * modules/lchown (Depends-on): Add lstat.
37149         * doc/posix-functions/chown.texi (chown): Document the bug.
37150         * doc/posix-functions/getgroups.texi (getgroups): Document
37151         getgroups pitfall.
37152         * modules/chown-tests: New file.
37153         * tests/test-chown.h (test_chown): Likewise.
37154         * tests/test-chown.c (main): Likewise.
37155
37156 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37157
37158         gnulib-tool: correctly detect absence of m4 directories
37159         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37160
37161 2009-11-14  Jim Meyering  <meyering@redhat.com>
37162
37163         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37164         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37165
37166 2009-11-14  John W. Eaton  <jwe@gnu.org>
37167
37168         strftime.h: wrap funtion declaration in extern "C" block
37169         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37170
37171 2009-11-13  Eric Blake  <ebb9@byu.net>
37172
37173         getgroups: avoid compiler warning
37174         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37175
37176         getgroups: work around FreeBSD bug
37177         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37178         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37179         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37180         * tests/test-getgroups.c (main): Fix buffer overrun.
37181
37182         getgroups: avoid compilation failure
37183         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37184         * modules/getgroups (Depends-on): Add stdint.
37185
37186 2009-11-13  Jim Meyering  <meyering@redhat.com>
37187
37188         test-getgroups: avoid compilation failure
37189         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37190
37191 2009-11-13  Eric Blake  <ebb9@byu.net>
37192
37193         mgetgroups: new module, taken from coreutils
37194         * modules/mgetgroups: New file.
37195         * lib/mgetgroups.h: Likewise.
37196         * lib/mgetgroups.c (mgetgroups): Likewise.
37197         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37198         * MODULES.html.sh (Users and groups): Mention it.
37199
37200         getgroups: don't expose GETGROUPS_T to user
37201         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37202         an element at a time if GETGROUPS_T is wrong size.
37203         * lib/getugroups.h (getugroups): Change signature.
37204         * lib/unistd.in.h (getgroups): Likewise.
37205         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37206         signature needs fixing.
37207         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37208         AC_TYPE_GETGROUPS.
37209         * modules/group-member (Depends-on): Add getgroups.
37210         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37211         (group_member): Rely on getgroups replacement.
37212         * lib/getugroups.c (getugroups): Use gid_t.
37213         * tests/test-getgroups.c (main): Likewise.
37214         * NEWS: Mention the signature change.
37215         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37216         problem with signature.
37217         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37218         GETGROUPS_T is still useful for setgroups.
37219
37220         getgroups, getugroups: provide stubs for mingw
37221         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37222         * lib/getugroups.c (getugroups): Likewise.
37223         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37224         function.  Modernize replacement scheme.
37225         (gl_PREREQ_GETGROUPS): Delete.
37226         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37227         * modules/getgroups (configure.ac): Declare witness.
37228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37229         * modules/unistd (Depends-on): Substitute witness.
37230         * lib/unistd.in.h (getgroups): Declare replacement.
37231
37232         getgroups: avoid calling exit
37233         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37234         drop xalloc.
37235         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37236         dependencies.
37237         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37238         exiting, in the rare case of malloc failure.
37239
37240         getgroups: fix logic error
37241         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37242         has more than 20 groups.
37243         * modules/getgroups-tests: New test.
37244         * tests/test-getgroups.c: New file.
37245
37246 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37247
37248         * tests/test-base64.c: Improve.
37249
37250 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37251
37252         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37253         Blake <ebb9@byu.net>.
37254
37255 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37256
37257         * tests/test-xvasprintf.c: Add %s%s related checks.
37258
37259 2009-11-12  Eric Blake  <ebb9@byu.net>
37260
37261         version-etc: match standards.texi style
37262         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37263         and use <> only for URLs.
37264
37265 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37266
37267         fts: do not fail on a submount during traversal
37268         * lib/fts.c (fts_build): Read the stat info again after opening
37269         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37270         Original report at http://bugzilla.redhat.com/501848.
37271
37272 2009-11-12  Jim Meyering  <meyering@redhat.com>
37273
37274         bootstrap: sync from coreutils
37275         * build-aux/bootstrap (bootstrap_epilogue): New function.
37276         Use git_modules_config in one more place.  This make bootstrap's
37277         --gnulib-srcdir option more useful for testing.
37278
37279         bootstrap: generalize autoheader check
37280         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37281         AC_CONFIG_HEADERS.
37282
37283 2009-11-11  Eric Blake  <ebb9@byu.net>
37284
37285         mkfifoat: use new modules for Solaris and BSD bugs
37286         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37287         * lib/mkfifoat.c (mknodat): Split...
37288         * lib/mknodat.c (mknodat): ...into new file.
37289         * modules/mkfifoat (Files): Ship new file.
37290         (Depends-on): Add mkfifo, mknod.
37291         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37292         (Depends-on): Add symlink.
37293         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37294         redundant with test_mkfifo.h.
37295         (do_mkfifoat, do_mknodat): New helpers.
37296
37297         mknod: new module
37298         * modules/mknod: New file.
37299         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37300         * lib/mknod.c (mknod): Likewise.
37301         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37302         defaults.
37303         * modules/sys_stat (Makefile.am): Substitute them.
37304         * lib/sys_stat.in.h (mknod): Declare replacement.
37305         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37306         Document it.
37307         * doc/posix-functions/mknod.texi (mknod): Likewise.
37308         * modules/mknod-tests: New test.
37309         * tests/test-mknod.c: Likewise.
37310
37311         mkfifo: new module
37312         * modules/mkfifo: New file.
37313         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37314         * lib/mkfifo.c (mkfifo): Likewise.
37315         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37316         defaults.
37317         * modules/sys_stat (Makefile.am): Substitute them.
37318         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37319         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37320         Document it.
37321         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37322         * modules/mkfifo-tests: New test.
37323         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37324         from test-mkfifoat.c.
37325         * tests/test-mkfifo.c: New file.
37326
37327         readlink: detect FreeBSD bug
37328         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37329         slash on symlink.
37330         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37331         * tests/test-readlink.h (test_readlink): Enhance test.
37332
37333         symlink: detect FreeBSD bug
37334         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37335         slash on symlink.
37336         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37337         * tests/test-symlink.h (test_symlink): Enhance test.
37338
37339 2009-11-10  Eric Blake  <ebb9@byu.net>
37340
37341         link: detect FreeBSD bug
37342         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37343         symlink.
37344         * doc/posix-functions/link.texi (link): Document the bug.
37345         * tests/test-link.h (test_link): Enhance test.
37346         * tests/test-linkat.c (main): Update caller.
37347
37348         unlink, remove: detect FreeBSD bug
37349         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37350         slash on symlink.
37351         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37352         * doc/posix-functions/remove.texi (remove): Likewise.
37353         * tests/test-unlink.h (test_unlink): Enhance test.
37354         * tests/test-remove.c (main): Likewise.
37355
37356 2009-11-09  Eric Blake  <ebb9@byu.net>
37357
37358         rename: detect FreeBSD bug
37359         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37360         slash on symlink.
37361         * modules/renameat-tests (Depends-on): Add filenamecat.
37362         * tests/test-rename.h (test_rename): Allow one more errno.
37363         * tests/test-renameat.c (main): Likewise.
37364         * doc/posix-functions/rename.texi (rename): Document the bug.
37365
37366         open: detect FreeBSD bug
37367         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37368         symlink.
37369         * doc/posix-functions/open.texi (open): Document the bug.
37370         * doc/posix-functions/utimes.texi (utimes): Likewise.
37371         * tests/test-open.h (test_open): Add parameters, and test symlink
37372         handling.
37373         * tests/test-open.c (main): Adjust caller.
37374         * tests/test-fcntl-safer.c (main): Likewise.
37375         * modules/open-tests (Depends-on): Add stdbool, symlink.
37376         * modules/fcntl-safer-tests (Depends-on): Likewise.
37377         * tests/test-openat.c (main): Add test-open tests.
37378
37379         stat: detect FreeBSD bug
37380         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37381         symlink.
37382         * doc/posix-functions/stat.texi (stat): Document the bug.
37383         * tests/test-stat.h (test_stat_func): Add argument.
37384         * tests/test-stat.c (main): Adjust caller.
37385         * tests/test-fstatat.c (main): Likewise.
37386         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37387         Reported by Jim Meyering.
37388
37389 2009-11-09  James Youngman  <jay@gnu.org>
37390
37391         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37392         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37393
37394 2009-11-08  Jim Meyering  <meyering@redhat.com>
37395
37396         utimens: remove invalid futimesat call
37397         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37398         It used the file descriptor of the target file as the DIR_FD
37399         parameter and NULL as the file name.  That caused failure with
37400         errno == EFAULT on FreeBSD-8.0-rc2
37401
37402 2009-11-07  Eric Blake  <ebb9@byu.net>
37403
37404         fflush, freadseek: use fseeko, not fseek
37405         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37406         (clear_ungetc_buffer): Avoid potential problems on large files.
37407         * lib/freadseek.c (freadseek): Likewise.
37408         * modules/freadseek (Depends-on): Add fseeko.
37409         * modules/fseek (configure.ac): Set a witness.
37410         * tests/test-fflush.c (main): Use fseeko.
37411         * tests/test-fpurge.c (fseek): Disable link warning.
37412         * tests/test-freadable.c (fseek): Likewise.
37413         * tests/test-freading.c (fseek): Likewise.
37414         * tests/test-fseeko.c (fseek): Likewise.
37415         * tests/test-ftell.c (fseek): Likewise.
37416         * tests/test-ftello.c (fseek): Likewise.
37417         * tests/test-fwritable.c (fseek): Likewise.
37418         * tests/test-fwriting.c (fseek): Likewise.
37419
37420 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37421
37422         * modules/memchr (Depends-on): Drop getpagesize dependency.
37423
37424 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37425
37426         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37427         Reported by Ludovic Courtès.
37428         * build-aux/pmccabe2html: Improve example usage.
37429         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37430
37431 2009-11-06  Jim Meyering  <meyering@redhat.com>
37432
37433         do-release-commit-and-tag: New module.
37434         Automate the release-commit and tag process.
37435         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37436         * modules/do-release-commit-and-tag: New file.
37437         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37438
37439 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37440
37441         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37442         because test-select.c uses inet_pton.
37443
37444 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37445
37446         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37447         GETADDRINFO_LIB.  Bump serial number.
37448         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37449         Suggested by Eric Blake <ebb9@byu.net>.
37450
37451 2009-11-05  Eric Blake  <ebb9@byu.net>
37452
37453         strtod: detect darwin bug
37454         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37455         Reported by Leo Davis.
37456
37457         freopen-safer: new module
37458         * modules/freopen-safer: New module.
37459         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37460         * lib/freopen-safer.c (freopen_safer): New file.
37461         * lib/stdio-safer.h (freopen_safer): New declaration.
37462         * lib/stdio--.h (freopen): New override.
37463         * MODULES.html.sh (File stream based Input/Output): Mention it.
37464         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37465         freopen-safer module.
37466         * doc/posix-functions/stderr.texi (stderr): Likewise.
37467         * doc/posix-functions/stdin.texi (stdin): Likewise.
37468         * doc/posix-functions/stdout.texi (stdout): Likewise.
37469         * modules/freopen-safer-tests: New test.
37470         * tests/test-reopen-safer.c: New file.
37471
37472 2009-11-05  Jim Meyering  <meyering@redhat.com>
37473
37474         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37475         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37476
37477 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37478
37479         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37480
37481 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37482
37483         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37484
37485 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37486
37487         Fix link error.
37488         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37489         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37490
37491 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37492
37493         * tests/test-func.c: Also test value of __func__.
37494
37495 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37496
37497         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37498         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37499
37500 2009-11-05  Bruno Haible  <bruno@clisp.org>
37501
37502         Fix link error.
37503         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37504         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37505         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37506
37507 2009-11-05  Bruno Haible  <bruno@clisp.org>
37508
37509         Tests for module 'inet_pton'.
37510         * modules/inet_pton-tests: New file.
37511         * tests/test-inet_pton.c: New file.
37512
37513 2009-11-05  Bruno Haible  <bruno@clisp.org>
37514
37515         Tests for module 'inet_ntop'.
37516         * modules/inet_ntop-tests: New file.
37517         * tests/test-inet_ntop.c: New file.
37518
37519 2009-11-04  Eric Blake  <ebb9@byu.net>
37520
37521         stdlib-safer: wrap all mkstemp variants
37522         * modules/mkostemp (configure.ac): Set witness.
37523         * modules/mkostemps (configure.ac): Likewise.
37524         * modules/mkstemps (configure.ac): Likewise.
37525         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37526         (mkstemps_safer): Wrap more functions.
37527         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37528         wrapping.
37529         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37530         (mkstemps_safer): Implement the wrappers.
37531
37532         mkstemps, mkostemps: new modules
37533         * modules/mkostemps: New module.
37534         * modules/mkstemps: Likewise.
37535         * lib/mkostemps.c (mkostemps): New file.
37536         * lib/mkstemps.c (mkstemps): Likewise.
37537         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37538         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37539         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37540         * modules/stdlib (Makefile.am): Substitute them.
37541         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37542         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37543         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37544         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37545         * MODULES.html.sh (File system functions): Mention them.
37546
37547         tempname: resync from glibc
37548         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37549         same values for __GT_FILE as glibc.  Abort even when assertions
37550         are disabled.
37551         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37552         match its value otherwise.  Allow idempotent inclusion.
37553         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37554         * lib/mkostemp.c (mkostemp): Likewise.
37555         * lib/mkstemp.c (mkstemp): Likewise.
37556         * lib/tmpfile.c (tmpfile): Likewise.
37557         * NEWS: Document this.
37558
37559         utimens: fix use of futimens on older Linux
37560         * lib/utimens.c (fdutimens): Use updated, rather than original,
37561         timespec to avoid bug in older Linux kernel.
37562         Reported by Simon Josefsson.
37563
37564 2009-11-04  Bruno Haible  <bruno@clisp.org>
37565
37566         Make num_processors more flexible and consistent.
37567         * lib/nproc.h (enum nproc_query): New type.
37568         (num_processors): Add a 'query' argument.
37569         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37570         (num_processors): Add a 'query' argument. Test the value of the
37571         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37572         mingw, count the number of CPUs available for the current process.
37573         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37574         Check for sched_getaffinity and sched_getaffinity_np.
37575         * modules/nproc (Depends-on): Add c-ctype, extensions.
37576         * NEWS: Mention the change.
37577
37578 2009-11-03  Bruno Haible  <bruno@clisp.org>
37579
37580         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37581
37582 2009-11-03  Jim Meyering  <meyering@redhat.com>
37583
37584         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37585         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37586         if it is defined.
37587
37588 2009-11-02  Eric Blake  <ebb9@byu.net>
37589
37590         mktime, timegm: share common declaration
37591         * lib/mktime-internal.h: New file.
37592         * lib/mktime.c: Use it rather than open-coding a declaration.
37593         * lib/timegm.c: Likewise.
37594         * modules/mktime (Files): Ship it.
37595         * modules/timegm (Files): Likewise.
37596         Suggested by Bruno Haible.
37597
37598         test-update-copyright: update test to match script changes
37599         * tests/test-update-copyright.sh: Avoid hard-coding perl
37600         location.  Don't update *.bak created by earlier runs.
37601
37602 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37603             Simon Josefsson  <simon@josefsson.org>
37604             Bruno Haible  <bruno@clisp.org>
37605
37606         Fix link error on Solaris 8.
37607         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37608         also in libnsl. Define also INET_PTON_LIB.
37609         * modules/inet_pton (Link): New section.
37610
37611 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37612             Bruno Haible  <bruno@clisp.org>
37613
37614         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37615         * modules/inet_ntop (Link): New section.
37616         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37617
37618 2009-11-02  Eric Blake  <ebb9@byu.net>
37619
37620         maint: avoid compiler warnings in m4 macros
37621         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37622         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37623
37624 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37625
37626         * m4/pmccabe2html.m4: Remove file.
37627         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37628         function.  Change maintainer.
37629         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37630         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37631         Courtès).
37632
37633 2009-10-31  Eric Blake  <ebb9@byu.net>
37634
37635         fseeko: fix m4 regression
37636         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37637         regression from 2009-10-27.
37638         Reported by Ralf Wildenhues.
37639
37640 2009-10-31  Jim Meyering  <meyering@redhat.com>
37641
37642         inttostr: aesthetics and improved (compile-time) safety
37643         Define inttype_is_signed rather than inttype_is_unsigned,
37644         since the sole use is via "#if inttype_is_signed".
37645         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37646         inttype_is_unsigned.
37647         * lib/offtostr.c (inttype_is_signed): Likewise.
37648         * lib/uinttostr.c (inttype_is_signed): Likewise.
37649         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37650         * lib/inttostr.c (inttostr): Use verify to cross-check the
37651         inttype_is_signed value and the signedness of the actual type.
37652         * modules/inttostr (Depends-on): Add verify.
37653
37654 2009-10-30  Eric Blake  <ebb9@byu.net>
37655
37656         build: avoid compiler warnings
37657         * lib/fchmodat.c (lchmod): Mark unused variables.
37658         * lib/getopt.c (_getopt_initialize): Likewise.
37659         * lib/mktime.c (__mktime_internal): Provide prototype.
37660         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37661         older gcc that do not understand #pragma GCC diagnostic.
37662         * lib/uinttostr.c (inttype_is_unsigned): Define.
37663         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37664
37665 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37666
37667         stat: fix compilation on AIX
37668         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37669         only see struct stat64.
37670
37671 2009-10-30  Eric Blake  <ebb9@byu.net>
37672
37673         exclude: make more robust
37674         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37675         rather than masking a coding bug.
37676         Suggested by Bruno Haible.
37677
37678 2009-10-30  Jim Meyering  <meyering@redhat.com>
37679
37680         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37681         Rather than putting #!/usr/bin/perl on the first line,
37682         start with a variant of what's recommended by "man perlrun" that
37683         invokes the first "perl" program from your shell's search path.
37684         * build-aux/gitlog-to-changelog: Replace #!... as above.
37685         Add a "Local Variables" perl mode setting.
37686         Prompted by a patch from Ludovic Courtès.
37687         Improved by Eric Blake.
37688         * build-aux/useless-if-before-free: Likewise.
37689         * build-aux/announce-gen: Likewise.
37690         * build-aux/update-copyright: Likewise.
37691
37692 2009-10-29  Eric Blake  <ebb9@byu.net>
37693
37694         filenamecat-lgpl: adjust clients
37695         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37696         filenamecat.
37697         * modules/renameat (Depends-on): Likewise.
37698
37699         filenamecat: split into filenamecat-lgpl
37700         * modules/filenamecat-lgpl: New module.
37701         * modules/filenamecat (Files): Move library-safe files into
37702         filenamecat-lgpl.
37703         (Depends-on): Add filenamecat-lgpl.
37704         (configure.ac): Declare witness.
37705         * lib/filenamecat.h (file_name_concat): Only declare when using
37706         GPL module.
37707         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37708         Move...
37709         * lib/filenamecat-lgpl.c: ...into new file.
37710         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37711         (gl_FILE_NAME_CONCAT): Use it.
37712         * MODULES.html.sh (File system functions): Mention new module.
37713
37714         argp: avoid memory leak
37715         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37716         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37717         base_name, since the latter malloc()s and can call exit().
37718         Leak introduced 2006-07-03.
37719
37720         dirname-lgpl: adjust clients that don't need full dirname
37721         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37722         * modules/filenamecat (Depends-on): Likewise.
37723         * modules/linkat (Depends-on): Likewise.
37724         * modules/mkancesdirs (Depends-on): Likewise.
37725         * modules/mkdir (Depends-on): Likewise.
37726         * modules/openat (Depends-on): Likewise.
37727         * modules/savewd (Depends-on): Likewise.
37728         * modules/rename (Depends-on): Likewise.
37729         (License): Relax license.
37730         * modules/mkdir-tests (Depends-on): Drop progname.
37731         (Makefile.am): Delete unneeded LDADD.
37732         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37733
37734         dirname: split into dirname-lgpl
37735         * modules/dirname-lgpl: New module.
37736         * modules/dirname (Files): Move library-safe files into
37737         dirname-lgpl.
37738         (Depends-on): Add dirname-lgpl.
37739         (configure.ac): Declare witness.
37740         * modules/double-slash-root (License): Relax license.
37741         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37742         module.
37743         * lib/dirname.c (dir_len, mdir_name): Move...
37744         * lib/dirname-lgpl.c: ...into new file.
37745         * lib/basename.c (last_component, base_len): Move...
37746         * lib/basename-lgpl.c: ...into new file.
37747         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37748         (gl_DIRNAME): Use it.
37749         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37750         Mention new module.
37751         * modules/dirname-tests (Depends-on): Add progname.
37752         * tests/test-dirname.c (program_name): Delete.
37753
37754         mkdir: make safe for libraries
37755         * modules/mkdir (Depends-on): Drop xalloc.
37756         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37757         exit.
37758
37759         tests: avoid some compiler warnings
37760         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37761         literals.
37762         * tests/test-memchr.c (main): Avoid type mismatch.
37763         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37764         * tests/test-base64.c (main): Likewise.
37765         * tests/test-getdelim.c (main): Likewise.
37766         * tests/test-gethostname.c (main): Likewise.
37767         * tests/test-getline.c (main): Likewise.
37768         * tests/test-netinet_in.c (main): Likewise.
37769         * tests/test-select.c (open_server_socket, main): Likewise.
37770         * tests/test-select-stdin.c (main): Likewise.
37771         * tests/test-sockets.c (main): Likewise.
37772         * tests/test-strsignal.c (main): Likewise.
37773         * tests/test-sys_select.c (main): Likewise.
37774         * tests/test-sys_socket.c (main): Likewise.
37775         * tests/test-u64.c (main): Likewise.
37776         * tests/test-xfprintf-posix.c (main): Likewise.
37777         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37778
37779         sockets: avoid compiler warning
37780         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37781
37782         maint: detect usage(1) and other suspicious exits
37783         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37784
37785 2009-10-29  Jim Meyering  <meyering@redhat.com>
37786
37787         timespec: long-to-int truncation could make timespec_cmp malfunction
37788         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37789         a multiple of 2^32 nanoseconds as no difference.
37790
37791 2009-10-28  Jim Meyering  <meyering@redhat.com>
37792
37793         fprintftime: wrap macro code argument in "do {...} while(0)"
37794         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37795         cpy macro must be a statement that can be followed by a semicolon.
37796         Now that the else clause contains a comment and is hence longer
37797         than one line, I require curly braces.  That in turn requires
37798         that we wrap this code block in the standard do...while(0).
37799
37800         fprintftime: remove stray semicolon from previous change
37801         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
37802
37803         fprintftime: avoid a warning about ignored fwrite return value
37804         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
37805         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
37806         that is unsafe.
37807         * modules/fprintftime (Depends-on): Add ignore-value.
37808
37809         exclude: avoid an unwarranted warning
37810         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
37811
37812 2009-10-27  Eric Blake  <ebb9@byu.net>
37813
37814         fseek: avoid compilation failure when fflush is replaced
37815         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37816         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37817         module is in use.
37818         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37819         module is not in use; since REPLACE_FSEEK worked otherwise.
37820         (GNULIB_FTELLO): Likewise for ftell.
37821         Reported by Ian Beckwith and others.
37822
37823 2009-10-27  Bruno Haible  <bruno@clisp.org>
37824
37825         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37826         Reported by Jim Meyering.
37827
37828 2009-10-27  Jim Meyering  <jim@meyering.net>
37829             Bruno Haible  <bruno@clisp.org>
37830
37831         Avoid warning despite dropping the return value of fwrite.
37832         * lib/unicodeio.c: Include ignore-value.h.
37833         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37834         * modules/unicodeio (Depends-on): Add ignore-value.
37835
37836 2009-10-26  Eric Blake  <ebb9@byu.net>
37837
37838         areadlinkat: fix fallback path
37839         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37840         pointer and zero.
37841
37842 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37843
37844         Use a better IO block size for modern systems
37845         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37846         * lib/md2.c: Likewise.
37847         * lib/md4.c: Likewise.
37848         * lib/md5.c: Likewise.
37849         * lib/sha1.c: Likewise.
37850         * lib/sha256.c: Likewise.
37851         * lib/sha512.c: Likewise.
37852
37853 2009-10-22  Eric Blake  <ebb9@byu.net>
37854
37855         tests: avoid several compiler warnings
37856         * tests/test-getcwd.c (main): Avoid buffer underflow.
37857         * tests/test-getdate.c (main): String literals are not safe with
37858         putenv, so use setenv.  Declare unused argument.
37859         * modules/getdate-tests (Depends-on): Add setenv.
37860         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37861         problems with string literals in char *.
37862         * tests/test-hash.c (main): Avoid shadowing declaration.
37863         (insert_new): Treat string literals as char const *.
37864         * tests/test-getopt.h (test_getopt): Likewise.
37865         (getopt_loop): Alter types to minimize casting elsewhere.
37866         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37867         (test_getopt_long_posix): Likewise.
37868         (do_getopt_long): Add wrapper to minimize casting.
37869         * tests/test-atexit.c (clear_temp_file): Use void.
37870         * tests/test-areadlink-with-size.c (main): Declare unused
37871         arguments.
37872         * tests/test-areadlink.c (main): Likewise.
37873         * tests/test-areadlinkat-with-size.c (main): Likewise.
37874         * tests/test-areadlinkat.c (main): Likewise.
37875         * tests/test-canonicalize-lgpl.c (main): Likewise.
37876         * tests/test-canonicalize.c (main): Likewise.
37877         * tests/test-dirent-safer.c (main): Likewise.
37878         * tests/test-dirname.c (main): Likewise.
37879         * tests/test-dup2.c (main): Likewise.
37880         * tests/test-fchdir.c (main): Likewise.
37881         * tests/test-fcntl-h.c (main): Likewise.
37882         * tests/test-fcntl-safer.c (main): Likewise.
37883         * tests/test-fdopendir.c (main): Likewise.
37884         * tests/test-fdutimensat.c (main): Likewise.
37885         * tests/test-fflush.c (main): Likewise.
37886         * tests/test-filenamecat.c (main): Likewise.
37887         * tests/test-filevercmp.c (main): Likewise.
37888         * tests/test-fopen-safer.c (main): Likewise.
37889         * tests/test-fopen.c (main): Likewise.
37890         * tests/test-fpending.c (main): Likewise.
37891         * tests/test-fpurge.c (main): Likewise.
37892         * tests/test-freading.c (main): Likewise.
37893         * tests/test-fstatat.c (main): Likewise.
37894         * tests/test-fsync.c (main): Likewise.
37895         * tests/test-futimens.c (main): Likewise.
37896         * tests/test-getndelim2.c (main): Likewise.
37897         * tests/test-gettimeofday.c (main): Likewise.
37898         * tests/test-getopt.c (main): Likewise.
37899         * tests/test-i-ring.c (main): Likewise.
37900         * tests/test-inttypes.c (main): Likewise.
37901         * tests/test-link.c (main): Likewise.
37902         * tests/test-lstat.c (main): Likewise.
37903         * tests/test-math.c (main): Likewise.
37904         * tests/test-md5.c (main): Likewise.
37905         * tests/test-memchr2.c (main): Likewise.
37906         * tests/test-memrchr.c (main): Likewise.
37907         * tests/test-mkdir.c (main): Likewise.
37908         * tests/test-mkdirat.c (main): Likewise.
37909         * tests/test-mkfifoat.c (main): Likewise.
37910         * tests/test-open.c (main): Likewise.
37911         * tests/test-openat-safer.c (main): Likewise.
37912         * tests/test-openat.c (main): Likewise.
37913         * tests/test-quotearg.c (main): Likewise.
37914         * tests/test-rawmemchr.c (main): Likewise.
37915         * tests/test-readlink.c (main): Likewise.
37916         * tests/test-remove.c (main): Likewise.
37917         * tests/test-rename.c (main): Likewise.
37918         * tests/test-renameat.c (main): Likewise.
37919         * tests/test-rmdir.c (main): Likewise.
37920         * tests/test-sha1.c (main): Likewise.
37921         * tests/test-signal.c (main): Likewise.
37922         * tests/test-sigaction.c (main): Likewise.
37923         * tests/test-stat.c (main): Likewise.
37924         * tests/test-stat-time.c (main): Likewise.
37925         * tests/test-stddef.c (main): Likewise.
37926         * tests/test-stdint.c (main): Likewise.
37927         * tests/test-stdio.c (main): Likewise.
37928         * tests/test-stdlib.c (main): Likewise.
37929         * tests/test-strchrnul.c (main): Likewise.
37930         * tests/test-strerror.c (main): Likewise.
37931         * tests/test-string.c (main): Likewise.
37932         * tests/test-strtod.c (main): Likewise.
37933         * tests/test-strverscmp.c (main): Likewise.
37934         * tests/test-symlink.c (main): Likewise.
37935         * tests/test-symlinkat.c (main): Likewise.
37936         * tests/test-sys_stat.c (main): Likewise.
37937         * tests/test-sys_time.c (main): Likewise.
37938         * tests/test-time.c (main): Likewise.
37939         * tests/test-unistd.c (main): Likewise.
37940         * tests/test-unlink.c (main): Likewise.
37941         * tests/test-unlinkat.c (main): Likewise.
37942         * tests/test-utimens.c (main): Likewise.
37943         * tests/test-utimensat.c (main): Likewise.
37944         * tests/test-version-etc.c (main): Likewise.
37945         * tests/test-wchar.c (main): Likewise.
37946         * tests/test-wctype.c (main): Likewise.
37947         * tests/test-xprintf-posix.c (main): Likewise.
37948         * tests/test-posixtm.c (main): Likewise.
37949         (STREQ): Delete unused macro.
37950         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
37951         shadowed variables.
37952         * tests/test-memchr.c (main): Likewise.
37953
37954 2009-10-21  Eric Blake  <ebb9@byu.net>
37955
37956         areadlinkat: avoid failure on older glibc
37957         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
37958         rather than mis-comparing 0 against FUNC_RESULT of char*.
37959
37960 2009-10-21  Bruno Haible  <bruno@clisp.org>
37961
37962         * modules/stpncpy (License): Relicense under LGPLv2+.
37963         Reported by David Lutterkort <lutter@redhat.com>.
37964
37965 2009-10-20  Eric Blake  <ebb9@byu.net>
37966
37967         utimensat: work around Solaris 9 bug
37968         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
37969         has trailing slash bugs.
37970         * tests/test-lutimens.h (test_lutimens): Enhance test.
37971         * tests/test-utimens.h (test_utimens): Likewise.
37972         * doc/posix-functions/utime.texi (utime): Enhance documentation.
37973         * doc/posix-functions/utimes.texi (utimes): Likewise.
37974         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37975         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
37976         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
37977         * doc/posix-functions/futimens.texi (futimens): Likewise.
37978
37979         fdutimensat: new module
37980         * modules/fdutimensat: New file.
37981         * lib/fdutimensat.c (fdutimensat): Likewise.
37982         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
37983         * MODULES.html.sh (File system functions): Mention module.
37984         * modules/fdutimensat-tests: New test.
37985         * tests/test-fdutimensat.c: Likewise.
37986
37987         doc: regenerate INSTALL
37988         * doc/INSTALL: Reflect recent autoconf update.
37989         * doc/INSTALL.ISO: Likewise.
37990         * doc/INSTALL.UTF-8: Likewise.
37991
37992 2009-10-20  Pádraig Brady  <P@draigBrady.com>
37993
37994         acl: warn if ACL support is not detected
37995         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
37996
37997 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
37998
37999         * lib/nproc.h: Add extern "C" block for C++.
38000
38001 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38002             Bruno Haible  <bruno@clisp.org>
38003
38004         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38005         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38006         * doc/posix-functions/isalpha.texi: Likewise.
38007         * doc/posix-functions/isblank.texi: Likewise.
38008         * doc/posix-functions/iscntrl.texi: Likewise.
38009         * doc/posix-functions/isdigit.texi: Likewise.
38010         * doc/posix-functions/isgraph.texi: Likewise.
38011         * doc/posix-functions/islower.texi: Likewise.
38012         * doc/posix-functions/isprint.texi: Likewise.
38013         * doc/posix-functions/ispunct.texi: Likewise.
38014         * doc/posix-functions/isspace.texi: Likewise.
38015         * doc/posix-functions/isupper.texi: Likewise.
38016         * doc/posix-functions/isxdigit.texi: Likewise.
38017
38018 2009-10-18  Bruno Haible  <bruno@clisp.org>
38019
38020         Tests for module 'isblank'.
38021         * modules/isblank-tests: New file.
38022         * tests/test-isblank.c: New file.
38023
38024         New module 'isblank'.
38025         * lib/isblank.c: New file.
38026         * m4/isblank.m4: New file.
38027         * modules/isblank: New file.
38028         * doc/posix-functions/isblank.texi: Mention the new module.
38029
38030 2009-10-18  Bruno Haible  <bruno@clisp.org>
38031
38032         New module 'ctype'.
38033         * lib/ctype.in.h: New file.
38034         * m4/ctype.m4: New file.
38035         * modules/ctype: New file.
38036         * doc/posix-headers/ctype.texi: Mention the new module.
38037
38038 2009-10-18  Jim Meyering  <meyering@redhat.com>
38039
38040         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38041         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38042         right after its initialization, rather than farther down.
38043         Keeping these in close proximity makes it easier to ensure
38044         that each such variable is initialized.  E.g.,
38045
38046             LIB_CLOCK_GETTIME=
38047             AC_SUBST([LIB_CLOCK_GETTIME])
38048
38049         This change also increments these serial numbers.
38050         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38051         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38052         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38053
38054 2009-10-18  Bruno Haible  <bruno@clisp.org>
38055
38056         Don't let environment variables perturb build.
38057         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38058         (gl_PREREQ_GETHRXTIME): ... not here.
38059
38060 2009-10-18  Bruno Haible  <bruno@clisp.org>
38061
38062         Avoid symlink attack in localcharset module.
38063         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38064         (O_NOFOLLOW): Define fallback.
38065         (get_charset_aliases): Don't open the file if it is a symbolic link.
38066         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38067         gl_FCNTL_H.
38068         (gl_FCNTL_H): Require it.
38069         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38070         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38071         Reported by Fergal Glynn <fglynn@veracode.com>.
38072
38073 2009-10-18  Bruno Haible  <bruno@clisp.org>
38074
38075         Implement nproc for mingw.
38076         * lib/nproc.c: Include <windows.h>
38077         (num_processors): On native Windows platforms, try GetSystemInfo.
38078
38079 2009-10-18  Bruno Haible  <bruno@clisp.org>
38080
38081         Implement nproc for IRIX.
38082         * lib/nproc.c: Include <sys/sysmp.h>.
38083         (num_processors): On IRIX systems, try sysmp.
38084         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38085
38086 2009-10-18  Bruno Haible  <bruno@clisp.org>
38087
38088         Implement nproc for HP-UX.
38089         * lib/nproc.c: Include <sys/pstat.h>
38090         (num_processors): On HP-UX systems, try pstat_getdynamic.
38091         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38092         pstat_getdynamic.
38093
38094 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38095             Bruno Haible  <bruno@clisp.org>
38096
38097         Implement nproc for NetBSD, OpenBSD.
38098         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38099         (ARRAY_SIZE): New macro.
38100         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38101         * m4/nproc.m4: New file.
38102         * modules/nproc (Files): Add m4/nproc.m4.
38103         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38104         (Makefile.am): Instead, augment lib_SOURCES.
38105
38106 2009-10-18  Bruno Haible  <bruno@clisp.org>
38107
38108         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38109         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38110         sys/param.h.
38111
38112 2009-10-16  Eric Blake  <ebb9@byu.net>
38113
38114         utimensat: new module
38115         * modules/utimensat: New file.
38116         * lib/utimensat.c (utimensat): Likewise.
38117         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38118         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38119         so we can work around Linux bugs.
38120         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38121         * modules/sys_stat (Makefile.am): Substitute them.
38122         * lib/sys_stat.in.h (utimensat): Declare it.
38123         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38124         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38125         * modules/utimensat-tests: New test.
38126         * tests/test-utimensat.c: Likewise.
38127
38128         utimens: let lutimens work on non-symlinks
38129         * lib/utimens.c (lutimens): Fall back to utimens rather than
38130         failing with ENOSYS, when file is not a symlink.
38131         (utimens): Reduce redirection.
38132         * tests/test-lutimens.h (test_lutimens): Update test to cover
38133         non-symlinks.
38134         * tests/test-utimens.h (test_utimens): Update test to cover
38135         symlinks.
38136         * tests/test-utimens.c (main): Update caller.
38137
38138         utimens: cache whether utimensat syscall works
38139         * lib/utimens.c (utimensat_works_really): New cache variable.
38140         (fdutimens, lutimens): Use it to avoid failing syscall.
38141
38142         test-stat-time, test-utimens: improve portability
38143         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38144         ext4 on alpha, and for cygwin.
38145         * tests/test-utimens-common.h: New file.
38146         (nap): Factor delays into single function.
38147         * tests/test-lutimens.h (test_lutimens): Use new header.
38148         * tests/test-futimens.h (test_futimens): Likewise.
38149         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38150         timestamps to occur from same machine, as was done previously for
38151         test_utimens.
38152         * modules/utimens-tests (Files): Ship new file.
38153         * modules/futimens-tests (Files): Likewise.
38154         Reported in part by Jim Meyering.
38155
38156         sys_stat: sort replacement declarations
38157         * lib/sys_stat.in.h: Sort declarations.
38158         * lib/futimens.c (futimens): Fix typo.
38159
38160 2009-10-15  Jim Meyering  <meyering@redhat.com>
38161
38162         don't let environment settings perturb build
38163         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38164         could cause a configure-time and/or build-time malfunction.
38165         Typically, a configure-time function-in-library test is performed
38166         via code like this:
38167
38168           LIB_VAR=
38169           AC_SUBST([LIB_VAR])
38170           prefix_saved_LIBS=$LIBS
38171             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38172                        [test "$ac_cv_search_FUNC" = "none required" ||
38173                         LIB_VAR=$ac_cv_search_FUNC])
38174           LIBS=$prefix_saved_LIBS
38175
38176         However, in each of the files affected by this change, the LIB_VAR=
38177         initialization was omitted.  Thus, when set in the environment, its
38178         value would propagate into generated Makefiles when FUNC is not found
38179         in LIB_NAME.
38180         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38181         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38182         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38183
38184 2009-10-14  Eric Blake  <ebb9@byu.net>
38185
38186         fchdir: avoid infinite recursion in mingw
38187         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38188         recursing.
38189
38190         test-stat-time: port to mingw
38191         * tests/test-stat-time.c (force_unlink): Return a value.
38192         (test_ctime) [W32]: Fix compilation error.
38193         (nap): Don't call usleep with too large an argument.  Use
38194         force_unlink.
38195         * doc/pastposix-functions/usleep.texi (usleep): Document the
38196         portability issue.
38197
38198 2009-10-13  Jim Meyering  <meyering@redhat.com>
38199
38200         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38201         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38202         * modules/pipe-filter-ii: Likewise.
38203         * modules/sys_socket-tests: Likewise.
38204         * modules/tsearch-tests: Likewise.
38205         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38206         (check): Depend on it.
38207
38208 2009-10-12  Eric Blake  <ebb9@byu.net>
38209
38210         utimens-tests: port to NFS file systems
38211         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38212         comparisons to avoid spurious failures from timestamp drift
38213         between NFS machines.
38214
38215 2009-10-12  Eric Blake  <ebb9@byu.net>
38216
38217         stat-time-tests: minor cleanups
38218         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38219         * tests/test-stat-time.c (nap): Separate assignment from call.
38220         Suggested by Paolo Bonzini and Bruno Haible.
38221
38222         sys_stat: guarantee struct timespec
38223         * lib/sys_stat.in.h (includes): Always include <time.h>
38224         * modules/sys_stat (Depends-on): Add time.
38225         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38226         mode_t permission values.
38227         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38228         get at subsecond timestamps.
38229
38230 2009-10-10  Eric Blake  <ebb9@byu.net>
38231
38232         futimens: new module
38233         * modules/futimens: New file.
38234         * lib/futimens.c (futimens): Likewise.
38235         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38236         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38237         we can work around Linux bugs.
38238         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38239         * modules/sys_stat (Makefile.am): Substitute them.
38240         * lib/sys_stat.in.h (futimens): Declare it.
38241         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38242         * doc/posix-functions/futimens.texi (futimens): Likewise.
38243         * modules/futimens-tests: New test.
38244         * tests/test-futimens.c: Likewise.
38245
38246         utimens: introduce fdutimens
38247         * lib/utimens.h (fdutimens): New prototype.
38248         * lib/utimens.c (gl_futimens): Move guts...
38249         (fdutimens): ...to new interface.
38250         * tests/test-utimens.c (do_fdutimens): Use it.
38251
38252         utimens: add UTIME_NOW and UTIME_OMIT support
38253         * lib/utimens.c (validate_timespec, update_timespec): New helper
38254         functions.
38255         (gl_futimens, lutimens): Use them.
38256         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38257         stdbool, sys_stat.
38258         (Link): Mention resulting library dependency.
38259         * modules/utimecmp (Link): Likewise.
38260         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38261         (Makefile.am): Pick up library dependency.
38262         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38263         definition.
38264         * tests/test-sys_stat.c: Test the definitions.
38265         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38266         * NEWS: Document library dependency.
38267
38268         utimecmp: support symlink timestamps
38269         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38270         hashing when possible.  Use pathconf when available.
38271         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38272         * modules/utimecmp (Depends-on): Add lstat.
38273
38274         utimens: add lutimens interface
38275         * lib/utimens.c (lutimens): New function.
38276         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38277         * lib/utimens.h (lutimens): Declare new interface.
38278         * tests/test-utimens.c (main): Enhance test.
38279         * tests/test-lutimens.h (test_lutimens): New file.
38280         * modules/utimens-tests (Files): Distribute it.
38281         (Depends-on): Add symlink.
38282         (configure.ac): Check for usleep.
38283
38284         utimens: validate futimens usage
38285         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38286         fewer syscalls on failure later on.  Avoid compiler warning on
38287         mingw.
38288         * modules/utimens (Depends-on): Add dup2.
38289
38290         utimens: add test
38291         * modules/utimens-tests: New test.
38292         * tests/test-utimens.h: New file.
38293         * tests/test-futimens.h: Likewise.
38294         * tests/test-utimens.c: Likewise.
38295
38296         doc: mention timestamp portability issues
38297         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38298         instead.
38299         * doc/posix-functions/utime.texi (utime): Likewise.
38300         * doc/posix-functions/utimes.texi (utimes): Likewise.
38301         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38302         instead.
38303         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38304         module.
38305         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38306         Mention weakness with symlink timestamps.
38307         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38308         to utimensat/futimens instead.
38309         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38310
38311         test-dup2: enhance test
38312         * tests/test-dup2.c (main): Also check AT_FDCWD.
38313
38314         test-stat-time: avoid more spurious failures
38315         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38316         xfs; and avoid race if the two timestamps cross quantization edge.
38317
38318         relocatable: prefer 'file system' over 'filesystem'
38319         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38320         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38321         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38322         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38323         * lib/relocatable.c (compute_curr_prefix): Likewise.
38324
38325 2009-10-10  Jim Meyering  <meyering@redhat.com>
38326
38327         stat-time-tests: check for the usleep function
38328         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38329
38330 2009-10-10  Bruno Haible  <bruno@clisp.org>
38331
38332         * modules/xnanosleep: Put the Link section after the Include section.
38333
38334 2009-10-09  Eric Blake  <ebb9@byu.net>
38335
38336         dup2: work around FreeBSD 6.1 bug
38337         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38338         * doc/posix-functions/dup2.texi (dup2): Document it.
38339         Reported by Nelson H. F. Beebe and Jim Meyering.
38340
38341         test-stat-time: port to buggy NFS clients
38342         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38343         (test_ctime): Also skip test if mtime and ctime are skewed.
38344
38345         maint: prefer 'file system' over 'filesystem'
38346         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38347         * doc/posix-functions/lstat.texi (lstat): Likewise.
38348         * lib/file-has-acl.c (file_has_acl): Likewise.
38349         * lib/fwriteerror.c [TEST]: Likewise.
38350         * tests/test-areadlink.h (test_areadlink): Likewise.
38351         * tests/test-areadlinkat-with-size.c (main): Likewise.
38352         * tests/test-areadlinkat.c (main): Likewise.
38353         * tests/test-canonicalize-lgpl.c (main): Likewise.
38354         * tests/test-canonicalize.c (main): Likewise.
38355         * tests/test-fstatat.c (main): Likewise.
38356         * tests/test-linkat.c (main): Likewise.
38357         * tests/test-lstat.h (test_lstat_func): Likewise.
38358         * tests/test-mkdir.h (test_mkdir): Likewise.
38359         * tests/test-readlink.h (test_readlink): Likewise.
38360         * tests/test-remove.c (main): Likewise.
38361         * tests/test-rename.h (test_rename): Likewise.
38362         * tests/test-renameat.c (main): Likewise.
38363         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38364         * tests/test-symlink.h (test_symlink): Likewise.
38365         * tests/test-symlinkat.c (main): Likewise.
38366         * tests/test-unlink.h (test_unlink_func): Likewise.
38367         * tests/test-unlinkat.c (main): Likewise.
38368
38369         maint: make realtime library usage explicit
38370         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38371         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38372         * modules/settime (Link): Likewise.
38373         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38374
38375         test-stat-time: speed up execution
38376         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38377         warning on mingw.
38378         (nap): New helper function.
38379         (prepare_test): Use it to reduce sleep time.
38380         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38381         execution.
38382         * modules/stat-time-tests (configure.ac): Check for usleep.
38383
38384 2009-10-09  Jim Meyering  <meyering@redhat.com>
38385
38386         selinux-h: always use getfilecon wrappers
38387         * lib/getfilecon.c: New file.
38388         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38389         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38390         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38391         (fgetfilecon): Provide a stub.
38392         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38393         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38394         file unconditionally.
38395         When <selinux/selinux.h> is found, arrange to use wrappers.
38396         * modules/selinux-h (Files): Add getfilecon.c.
38397         (Makefile.am): Substitute include-next-related bits
38398         into the now-always-generated selinux/selinux.h file.
38399         * doc/glibc-functions/lgetfilecon.texi: New file.
38400         * doc/glibc-functions/fgetfilecon.texi: New file.
38401         * doc/glibc-functions/getfilecon.texi: New file.
38402         * doc/glibc-functions/getfilecon-desc.texi: New file.
38403         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38404         which to pull in the new files.
38405         * MODULES.html.sh (Misc): Add selinux-h.
38406
38407 2009-10-08  Jim Meyering  <meyering@redhat.com>
38408
38409         unistd: fix comment typo
38410         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38411
38412 2009-10-08  Eric Blake  <ebb9@byu.net>
38413
38414         areadlink: use SIZE_MAX consistently
38415         * modules/areadlink (Depends-on): Add stdint.
38416         * modules/areadlink-with-size (Depends-on): Likewise.
38417         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38418         gives NULL; drop sys/types, since unistd gives size_t; and add
38419         stdint for SIZE_MAX.
38420         (SIZE_MAX): Rely on headers.
38421         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38422         and add stdint.
38423         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38424         (SIZE_MAX): Likewise.
38425         (INITIAL_BUF_SIZE): Turn into enum.
38426         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38427
38428 2009-10-08  Jim Meyering  <meyering@redhat.com>
38429
38430         areadlinkat: avoid compilation failure
38431         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38432         Fix typo in comment.
38433
38434 2009-10-07  Eric Blake  <ebb9@byu.net>
38435
38436         areadlinkat-with-size: new module
38437         * modules/areadlinkat-with-size: New module.
38438         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38439         * lib/areadlink.h (areadlinkat): Declare it.
38440         * MODULES.html.sh (File system functions): Mention it.
38441         * modules/areadlinkat-with-size-tests: New test.
38442         * tests/test-areadlinkat-with-size.c: New file.
38443
38444         xreadlinkat: new module
38445         * modules/xreadlinkat: New module.
38446         * lib/xreadlinkat.c (xreadlinkat): New file.
38447         * lib/xreadlink.h (xreadlinkat): Declare it.
38448         * MODULES.html.sh (File system functions): Mention it.
38449
38450         areadlinkat: new module
38451         * lib/at-func.c (FUNC_FAIL): New define.
38452         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38453         * modules/areadlinkat: New module.
38454         * lib/linkat.c (areadlinkat): Move...
38455         * lib/areadlinkat.c (areadlinkat): ...to new file.
38456         * lib/areadlink.h (areadlinkat): Declare it.
38457         * modules/linkat (Depends-on): Add areadlinkat.
38458         * MODULES.html.sh (File system functions): Mention it.
38459         * modules/areadlinkat-tests: New test.
38460         * tests/test-areadlinkat.c: New file.
38461
38462         areadlink, areadlink-with-size: add tests
38463         * modules/areadlink-tests: New test.
38464         * modules/areadlink-with-size-tests: Likewise.
38465         * tests/test-areadlink.h: New file.
38466         * tests/test-areadlink.c: Likewise.
38467         * tests/test-areadlink-with-size.c: Likewise.
38468
38469         maint: minor cleanups
38470         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38471         _UNUSED_PARAMETER_ instead.
38472         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38473         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38474         * modules/linkat-tests (Files): Distribute test-link.h.
38475
38476         openat, utimens: whitespace cleanup
38477         * lib/openat.c: Prefer space throughout, rather than mix of 8
38478         spaces vs. tabs.
38479         * lib/at-func.c: Likewise.
38480         * lib/utimens.c: Likewise.
38481
38482         openat: avoid using wrong fd
38483         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38484         working directory chooses same fd.
38485         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38486
38487         mkdir, mkdirat: fix cygwin 1.5.x bug
38488         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38489         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38490         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38491         bug.
38492         (gl_PREREQ_MKDIR): Delete unused macro.
38493         * modules/mkdir (Files): Track file rename.
38494         (configure.ac): Update macro name.
38495         * modules/openat (Depends-on): Add mkdir.
38496         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38497
38498         mkdir, mkdirat: add tests
38499         * modules/mkdir-tests: New test.
38500         * tests/test-mkdir.h: New file.
38501         * tests/test-mkdir.c: Likewise.
38502         * tests/test-mkdirat.c: Likewise.
38503         * modules/openat-tests (Files): Add new files.
38504         (Makefile.am): Run new test.
38505
38506 2009-10-06  Eric Blake  <ebb9@byu.net>
38507
38508         doc: tweak *at function documentation
38509         * doc/posix-functions/faccessat.texi (faccessat): Mention
38510         known issue with replacement.
38511         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38512         * doc/posix-functions/linkat.texi (linkat): Likewise.
38513         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38514         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38515         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38516         * doc/posix-functions/renameat.texi (renameat): Likewise.
38517         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38518
38519         openat: fix GNU/Hurd bug in unlinkat
38520         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38521         broken.
38522         * doc/posix-functions/unlink.texi (unlink): Document this.
38523         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38524
38525         fdopendir: fix GNU/Hurd bug
38526         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38527         allowing non-directory fds.
38528         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38529         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38530         * modules/dirent (Makefile.am): Substitute it.
38531         * lib/dirent.in.h (fdopendir): Declare replacement.
38532         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38533         * tests/test-fdopendir.c (main): Test something other than
38534         /dev/null, since on Hurd that behaves like a directory.
38535
38536         test-symlink: port to GNU/Hurd
38537         * tests/test-symlink.h (test_symlink): Relax expected errno.
38538
38539         doc: tweak more cygwin information
38540         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38541         now compatible with glibc.
38542         * doc/posix-functions/getopt.texi (getopt): Likewise.
38543
38544         getopt-gnu: add another test
38545         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38546         guarantee behavior relied on by m4.
38547         * tests/test-getopt.c (main): Use it.
38548         * modules/getopt-posix-tests (Depends-on): Add setenv.
38549         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38550
38551         getopt: fix compilation on darwin
38552         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38553         include.
38554         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38555         Reported by Ludovic Courtès.
38556
38557 2009-10-06  Bruno Haible  <bruno@clisp.org>
38558
38559         * modules/size_max (Description): Discourage its use.
38560         Reported by Simon Josefsson.
38561
38562 2009-10-06  Jim Meyering  <meyering@redhat.com>
38563
38564         linkat: avoid compilation failure
38565         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38566
38567 2009-10-05  Eric Blake  <ebb9@byu.net>
38568
38569         linkat: support Linux 2.6.17
38570         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38571         linkat on Linux, but allow cache variable override.
38572         * lib/linkat.c (rpl_linkat): Define override.
38573         * modules/linkat (Depends-on): Add symlinkat.
38574         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38575         * modules/unistd (Makefile.am): Substitute it.
38576         * lib/unistd.in.h (linkat): Declare replacement.
38577         Reported by Pádraig Brady.
38578
38579         quotearg: port test to systems with C.UTF-8 locale
38580         * tests/test-quotearg.c (struct result_strings): Add another
38581         member, differentiating between C.ASCII and C.UTF-8 handling.
38582         (compare_strings): Add parameter.
38583         (main): Adjust all callers.
38584
38585         getopt: avoid clash with FreeBSD _getopt_internal
38586         * lib/getopt.in.h (_getopt_internal): Override the name.
38587         * lib/getopt_int.h (includes): Pick up any overrides.
38588         Reported by Reuben Thomas.
38589
38590         hash: allow C89 compilation
38591         * lib/hash.c (check_tuning): Move declaration before statement.
38592         Reported by Reuben Thomas.
38593
38594 2009-10-05  Karl Berry  <karl@gnu.org>
38595
38596         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38597
38598 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38599             Bruno Haible  <bruno@clisp.org>
38600
38601         * lib/uname.c (uname): Use a table-driven algorithm to compute
38602         Windows NT versions.
38603
38604 2009-10-04  Bruno Haible  <bruno@clisp.org>
38605
38606         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38607         program_invocation_short_name.
38608         * modules/progname (configure.ac): Test for presence of
38609         program_invocation_short_name.
38610         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38611
38612 2009-10-04  Bruno Haible  <bruno@clisp.org>
38613
38614         * lib/progname.c (set_program_name): Fix comment.
38615         Reported by Jim Meyering.
38616
38617 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38618             Bruno Haible  <bruno@clisp.org>
38619
38620         * lib/uname.c: Include <string.h>.
38621         (uname): Do only one call to GetVersionEx in the common case.
38622
38623 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38624             Bruno Haible  <bruno@clisp.org>
38625
38626         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38627         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38628         (uname): Add support for Windows CE and various non-x86 CPU types.
38629
38630 2009-10-03  Bruno Haible  <bruno@clisp.org>
38631
38632         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38633         invocation to tests/configure.ac.
38634         Reported by Ian Beckwith <ianb@erislabs.net>.
38635
38636 2009-10-02  Eric Blake  <ebb9@byu.net>
38637
38638         fchdir: avoid compiler warning
38639         * lib/fchdir.c (canonicalize_file_name)
38640         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38641
38642         test-open: support mingw errno values
38643         * tests/test-open.h (test_open): Relax test.
38644         * tests/test-fopen.h (test_fopen): Likewise.
38645         * tests/test-openat-safer.c (main): Likewise.
38646
38647         open: fix opening directory on mingw
38648         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38649
38650         test-open: on GNU/Hurd, /dev/null is a directory
38651         * tests/test-fopen.h (main): Rename...
38652         (test_fopen): ...to this.  Use a guaranteed non-directory when
38653         confirming open behavior on trailing slash.
38654         * tests/test-openat-safer.c (main): Likewise.
38655         * tests/test-open.h (main): Likewise....
38656         (test_open): ...to this.
38657         * tests/test-fopen.c (main): Adjust caller.
38658         * tests/test-fopen-safer.c (main): Likewise.
38659         * tests/test-open.c (main): Likewise.
38660         * tests/test-fcntl-safer.c (main): Likewise.
38661         Reported by Samuel Thibault.
38662
38663         rename, fchdir: don't ignore chdir failure
38664         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38665         * lib/rename.c (rpl_rename) [W32]: Likewise.
38666         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38667         an empty destination directory if source cannot be renamed,
38668         although there is still possibility for failure.
38669         * doc/posix-functions/rename.texi (rename): Document the race.
38670         Reported by Jim Meyering.
38671
38672         maint: cleanup whitespace in recent commits
38673         * lib/rename.c (rpl_rename): Remove tabs.
38674         * tests/test-link.h (test_link): Likewise.
38675         * lib/fchdir.c (get_name): Likewise.
38676         Reported by Jim Meyering.
38677
38678 2009-10-02  Ben Pfaff  <blp@gnu.org>
38679
38680         relocatable-prog-wrapper: Add missing dependency on
38681         double-slash-root.
38682         * modules/relocatable-prog-wrapper: Add dependency.
38683         Reported by Ian Beckwith <ianb@erislabs.net>.
38684
38685 2009-10-02  Eric Blake  <ebb9@byu.net>
38686
38687         renameat: fix Solaris bugs
38688         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38689         needed fixing.
38690         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38691         * modules/stdio (Makefile.am): Substitute it.
38692         * lib/stdio.in.h (renameat): Declare replacement.
38693         * lib/renameat.c (rpl_renameat): Implement fix.
38694
38695         renameat: new module
38696         * modules/renameat: New file.
38697         * lib/renameat.c (renameat): Likewise.
38698         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38699         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38700         * modules/stdio (Makefile.am): Substitute them.
38701         * lib/stdio.in.h (renameat): Declare it.
38702         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38703         * doc/posix-functions/renameat.texi (renameat): Likewise.
38704         * modules/renameat-tests: New test.
38705         * tests/test-renameat.c: Likewise.
38706
38707         rename: fix mingw bugs
38708         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38709         directory overwrite bugs.
38710
38711         rename: fix another cygwin 1.5 bug
38712         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38713         checks.
38714         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38715         unnecessary cygwin workarounds.  Also work around bug with moving
38716         full directory onto an empty one.
38717         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38718
38719         rename-dest-slash: merge into rename module
38720         * modules/rename-dest-slash (Status): Mark obsolete.
38721         (Depends-on): Add rename.
38722         (Files): Let rename do it all.
38723         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38724         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38725         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38726         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38727         * lib/rename.c (rpl_rename): Update comments.
38728
38729         rename: fix cygwin 1.5.x bugs
38730         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38731         * lib/rename.c (rpl_rename): Work around them.
38732         * modules/rename (Depends-on): Add same-inode.
38733
38734         rename: fix Solaris 10 bug
38735         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38736         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38737         was the only bug.
38738
38739         rename: fix Solaris 9 bug
38740         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38741         on non-directory.  Avoid calling exit.
38742         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38743         strdup.
38744         * modules/rename-tests (Depends-on): Drop lstat.
38745         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38746         (gl_PREREQ_RENAME): Delete unused macro.
38747
38748         rename-dest-slash: fix NetBSD bug
38749         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38750         links.
38751         * modules/rename-dest-slash (Depends-on): Add same-inode.
38752
38753         rename-tests: new test, exposes several platform bugs
38754         * modules/rename-tests: New file.
38755         * tests/test-rename.h: Likewise.
38756         * tests/test-rename.c: Likewise.
38757         * doc/posix-functions/rename.texi (rename): Improve documentation,
38758         including bugs that will eventually be fixed in gnulib.
38759
38760 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38761
38762         * lib/uname.c: Include <stdlib.h>
38763         (uname): Assume version info is available.
38764
38765 2009-10-02  Jim Meyering  <meyering@redhat.com>
38766
38767         gnu-web-doc-update: correct --help output
38768         * build-aux/gnu-web-doc-update: Make --help output relevant.
38769
38770         gnu-web-doc-update: add standard options
38771         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38772
38773         gnu-web-doc-update: New module.
38774         Use this script to automatically update the on-line web documentation
38775         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38776         * modules/gnu-web-doc-update: New file, from coreutils.
38777         * build-aux/gnu-web-doc-update: New script.
38778
38779 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38780
38781         link: LoadLibrary is not needed.
38782         * lib/link.c: Use GetModuleHandle.
38783
38784 2009-10-01  Eric Blake  <ebb9@byu.net>
38785
38786         getopt: bump serial number
38787         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38788         change.
38789
38790         tests: tighten link, rmdir, and remove tests
38791         * tests/test-link.h (includes): No need to use <config.h> here.
38792         Clean up if directory hard link was created, otherwise test for
38793         trailing '.'.
38794         * tests/test-linkat.c (main): Simplify.
38795         * tests/test-remove.c (main): Enhance test for trailing '.'.
38796         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38797
38798 2009-10-01  Jim Meyering  <meyering@redhat.com>
38799
38800         maint.mk: requiring "make major" was annoying, for a "minor" release.
38801         What is intended is "stable", to contrast with alpha and beta,
38802         so require "make stable", not "make major".
38803         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
38804         (get_tool_versions): Likewise.
38805         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
38806
38807 2009-09-30  Ben Pfaff  <blp@gnu.org>
38808
38809         Fix broken build of replacement for Windows tmpfile().
38810         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
38811         flags argument added along with the 'mkostemp' module.
38812
38813 2009-09-28  Bruno Haible  <bruno@clisp.org>
38814
38815         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38816         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38817         to 'remove_elt'.
38818         (gl_list_remove): Update.
38819         * lib/gl_list.c (gl_list_remove): Update.
38820         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38821         to 'remove_elt'.
38822         (gl_oset_remove): Update.
38823         * lib/gl_list.c (gl_oset_remove): Update.
38824         Reported by Eric Blake.
38825
38826 2009-09-28  Eric Blake  <ebb9@byu.net>
38827
38828         doc: mention yet more cygwin 1.7 status
38829         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38830         cygwin.
38831         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38832         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38833
38834         argp: fix test failure
38835         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38836         that are not upper-case.  Pass correct range to tolower.
38837
38838 2009-09-27  Jim Meyering  <meyering@redhat.com>
38839
38840         test-yesno: work around sparc-dash here-document infelicity
38841         Without this change, the literal \177 byte in a here document
38842         would make dash 0.5.5.1-3 access uninitialized memory.
38843         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38844         Instead, use a marker, "@", and filter through tr to create the desired
38845         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38846
38847 2009-09-27  Bruno Haible  <bruno@clisp.org>
38848
38849         Disable untested support for new flavours of ACLs on AIX.
38850         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38851         progress.
38852         * lib/set-mode-acl.c (qset_acl): Likewise.
38853
38854 2008-12-07  Bruno Haible  <bruno@clisp.org>
38855
38856         Add support for new flavours of ACLs on AIX. (Untested.)
38857         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38858         (file_has_acl): Add support for newer AIX.
38859         * lib/set-mode-acl.c (qset_acl): Likewise.
38860         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38861         Rainer Tammer <tammer@tammer.net>.
38862
38863 2009-09-26  Eric Blake  <ebb9@byu.net>
38864
38865         argp: fix compilation of getopt
38866         * lib/getopt.in.h (includes): Use different guard than glibc.
38867         Reported by Sergey Poznyakoff.
38868
38869         doc: mention more cygwin 1.7 status
38870         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38871         bug.
38872         * doc/posix-functions/execl.texi (execl): Likewise.
38873         * doc/posix-functions/execle.texi (execle): Likewise.
38874         * doc/posix-functions/execlp.texi (execlp): Likewise.
38875         * doc/posix-functions/execv.texi (execv): Likewise.
38876         * doc/posix-functions/execve.texi (execve): Likewise.
38877         * doc/posix-functions/execvp.texi (execvp): Likewise.
38878         * doc/glibc-functions/canonicalize_file_name.texi
38879         (canonicalize_file_name): Cygwin 1.7 now provides this.
38880         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38881         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38882         on AT_SYMLINK_NOFOLLOW.
38883
38884 2009-09-24  Eric Blake  <ebb9@byu.net>
38885
38886         test-linkat: make test more robust
38887         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38888
38889         getopt: fix inclusion guards for cygwin
38890         * modules/getopt-posix (Depends-on): Add include-next.
38891         (Makefile.am): Substitute more items in replacement header.
38892         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38893         <getopt.h>.
38894         * lib/getopt.in.h (includes): Use split inclusion guard, and
38895         prefer <getopt.h> over include <unistd.h> when one is present.
38896         (option): Also override name of 'struct option'.
38897
38898         same-inode: revert prior change; it is not yet ready
38899         * NEWS: Undo mention of this change.
38900         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38901         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38902         * lib/cycle-check.c (cycle_check): Likewise.
38903         * lib/same.c (same_name): Likewise.
38904         * lib/at-func2.c (at_func2): Likewise.
38905
38906 2009-09-23  Eric Blake  <ebb9@byu.net>
38907
38908         linkat: new module
38909         * modules/linkat: New file.
38910         * lib/at-func2.c (at_func2): Likewise.
38911         * lib/linkat.c (linkat): Likewise.
38912         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38913         * lib/openat-priv.h (at_func2): Add declaration.
38914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38915         * modules/unistd (Makefile.am): Substitute them.
38916         * lib/unistd.in.h (linkat): Declare it.
38917         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38918         * doc/posix-functions/linkat.texi (linkat): Likewise.
38919         * doc/posix-functions/link.texi (link): Tweak wording.
38920         * tests/test-link.c (main): Move guts...
38921         * tests/test-link.h (test_link): ...into new file.
38922         * modules/linkat-tests: New test.
38923         * tests/test-linkat.c: Likewise.
38924         * modules/link-tests (Files): Ship new file.
38925         (Depends-on): Add stdbool.
38926
38927         dirname: add library-safe mdir_name
38928         * lib/dirname.h (mdir_name): New prototype.
38929         * lib/dirname.c (dir_name): Move guts...
38930         (mdir_name): ...to new function that avoids xalloc_die.
38931
38932         fchdir: another mingw fix
38933         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
38934         * lib/fchdir.c (get_name): New helper method; skips canonicalize
38935         on mingw (where it has not yet been ported), and make it optional
38936         elsewhere.
38937         (_gl_register_fd): Use it.
38938
38939         same-inode: make SAME_INODE tri-state, to port to mingw
38940         * NEWS: Mention this change.
38941         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
38942         st_ino always being 0.
38943         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38944         * lib/cycle-check.c (cycle_check): Likewise.
38945         * lib/same.c (same_name): Likewise.
38946
38947         lstat: avoid mingw compilation error
38948         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
38949         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
38950         lstat ourselves.
38951         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
38952         was adequate.
38953         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
38954         the checks for lstat.
38955         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
38956
38957         link: fix test failure on Solaris 9
38958         * lib/link.c (rpl_link): Don't assume link will catch bogus
38959         trailing slash on source.
38960
38961         test-symlinkat: enhance test
38962         * tests/test-readlink.c (main): Move guts...
38963         * tests/test-readlink.h (test_readlink): ...into new file.
38964         * tests/test-symlink.c (main): Move guts...
38965         * tests/test-symlink.h (test_symlink): ...into new file.
38966         * tests/test-symlinkat.c (main): Use new files for further
38967         coverage.
38968         (do_symlink, do_readlink): New helper functions.
38969         * modules/symlink-tests (Files): Ship new file.
38970         (Depends-on): Add stdbool.
38971         * modules/readlink-tests (Files): Ship new file.
38972         (Depends-on): Add stdbool.
38973         * modules/symlinkat-tests (Files): Use new files.
38974
38975 2009-09-23  Eric Blake  <ebb9@byu.net>
38976
38977         readlink: document portability issue with symlink length
38978         * doc/posix-functions/lstat.texi (lstat): Mention that some file
38979         systems have bogus st_size on symlinks, and mention the
38980         areadlink-with-size module.
38981         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38982         * doc/posix-functions/readlink.texi (readlink): Mention the
38983         areadlink module, and ERANGE failure.
38984         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38985         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
38986
38987         readlink: fix Solaris 9 bug with trailing slash
38988         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
38989         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
38990         * doc/posix-functions/readlink.texi (readlink): Document this.
38991         * modules/readlink-tests: New test.
38992         * tests/test-readlink.c: Likewise.
38993
38994         readlink: fix cygwin 1.5.x bug with return type
38995         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
38996         * lib/unistd.in.h (readlink): Use ssize_t.
38997         * lib/readlink.c (readlink): Likewise.
38998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38999         * modules/unistd (Makefile.am): Substitute it.
39000         * lib/unistd.in.h (readlink): Declare replacement.
39001         * doc/posix-functions/readlink.texi (readlink): Document this.
39002
39003         symlink: use throughout gnulib
39004         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39005         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39006         symlink is not used.
39007         * modules/symlinkat (Depends-on): Add symlink.
39008         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39009         * modules/canonicalize-tests (Depends-on): Likewise.
39010         * modules/lstat-tests (Depends-on): Likewise.
39011         * modules/openat-tests (Depends-on): Likewise.
39012         * modules/remove-tests (Depends-on): Likewise.
39013         * modules/rmdir-tests (Depends-on): Likewise.
39014         * modules/unlink-tests (Depends-on): Likewise.
39015         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39016         * tests/test-canonicalize.c (symlink): Likewise.
39017         * tests/test-fstatat.c (symlink): Likewise.
39018         * tests/test-lstat.c (symlink): Likewise.
39019         * tests/test-remove.c (symlink): Likewise.
39020         * tests/test-rmdir.c (symlink): Likewise.
39021         * tests/test-unlink.c (symlink): Likewise.
39022         * tests/test-unlinkat.c (symlink): Likewise.
39023
39024         symlink: new module, for Solaris 9 bug
39025         * modules/symlink: New file.
39026         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39027         * lib/symlink.c: Likewise.
39028         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39029         * modules/unistd (Makefile.am): Substitute them.
39030         * lib/unistd.in.h (symlink): Declare replacement.
39031         * MODULES.html.sh (File system functions): Mention it.
39032         * doc/posix-functions/symlink.texi (symlink): Likewise.
39033         * modules/symlink-tests: New test.
39034         * tests/test-symlink.c: Likewise.
39035
39036 2009-09-23  Bruno Haible  <bruno@clisp.org>
39037
39038         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39039         when needed.
39040         Test case: gnulib-tool --import --with-tests atexit inttypes.
39041         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39042
39043 2009-09-23  Bruno Haible  <bruno@clisp.org>
39044
39045         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39046         subcommand, not in a subshell.
39047
39048 2009-09-22  Eric Blake  <ebb9@byu.net>
39049
39050         unistd: sort replacement declarations
39051         * lib/unistd.in.h: Sort declarations.
39052
39053         open, openat: minor optimization
39054         * lib/open.c (open): If open succeeded, len is non-zero.
39055         * lib/openat.c (rpl_openat): Likewise.
39056
39057         link-follow: ensure correct result
39058         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39059         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39060         distinguish between possible failures.
39061
39062 2009-09-21  Eric Blake  <ebb9@byu.net>
39063
39064         fts: avoid compiler warning
39065         * lib/fts.c (dirent_inode_sort_may_be_useful)
39066         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39067
39068 2009-09-19  Bruno Haible  <bruno@clisp.org>
39069
39070         * lib/progreloc.c (canonicalize_file_name): New declaration.
39071
39072 2009-09-19  Eric Blake  <ebb9@byu.net>
39073
39074         link: fix quoting
39075         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39076
39077         openat: fix openat bugs on Solaris 9
39078         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39079         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39080         * modules/openat (Depends-on): Add open.
39081         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39082         * modules/fcntl-h (Makefile.am): Substitute it.
39083         * lib/fcntl.in.h (openat): Declare replacement.
39084         * doc/posix-functions/openat.texi (openat): Document this.
39085
39086         openat: move fstatat and unlinkat into correct files
39087         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39088         compiled.
39089         * lib/openat.c (fstatat, unlinkat): Move...
39090         * lib/fstatat.c (fstatat): ...into correct files.
39091         * lib/unlinkat.c (unlinkat): Likewise.
39092
39093         openat: fix unlinkat bugs on Solaris 9
39094         * lib/unlinkat.c (unlinkat): New file.
39095         * modules/openat (Depends-on): Add unlink.
39096         (Files): Distribute it.
39097         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39098         trailing slash behavior is broken.
39099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39100         * modules/unistd (Makefile.am): Substitute it.
39101         * lib/unistd.in.h (unlinkat): Declare replacement.
39102         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39103
39104         openat: fix fstatat bugs on Solaris 9
39105         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39106         stat.
39107         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39108
39109         test-unlinkat: enhance test, to expose Solaris 9 bug
39110         * tests/test-unlink.c (main): Factor guts...
39111         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39112         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39113         * tests/test-rmdir.c (main): Adjust caller.
39114         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39115         (unlinker): New helper function.
39116         (rmdirat): Enhance check.
39117         * modules/rmdir-tests (Depends-on): Add stdbool.
39118         * modules/unlink-tests (Depends-on): Likewise.
39119         (Files): Add test-unlink.h.
39120         * modules/openat-tests (Files): Likewise.
39121         (Depends-on): Add unlinkdir.
39122
39123         test-fstatat: new test, to expose Solaris 9 bugs
39124         * tests/test-stat.c (main): Factor guts...
39125         * tests/test-stat.h (test_stat_func): ...into new file.
39126         * tests/test-lstat.c (main): Factor guts...
39127         * tests/test-lstat.h (test_lstat_func): ...into new file.
39128         * tests/test-fstatat.c: New file.
39129         * modules/stat-tests (Files): Add test-stat.h.
39130         * modules/lstat-tests (Files): Add test-lstat.h.
39131         (Depends-on): Add stdbool.
39132         * modules/openat-tests (Depends-on): Add pathmax.
39133         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39134         (Makefile.am): Run new test.
39135
39136         remove: new module, for mingw and Solaris 9 bugs
39137         * modules/remove: New file.
39138         * lib/remove.c: Likewise.
39139         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39141         * modules/stdio (Makefile.am): Use them.
39142         * lib/stdio.in.h (remove): Declare replacement.
39143         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39144         * doc/posix-functions/remove.texi (remove): Likewise.
39145         * modules/remove-tests: New test.
39146         * tests/test-remove.c: Likewise.
39147
39148         unlink: new module, for Solaris 9 bug
39149         * modules/unlink: New file.
39150         * lib/unlink.c: Likewise.
39151         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39153         * modules/unistd (Makefile.am): Use them.
39154         * lib/unistd.in.h (stat): Declare replacement.
39155         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39156         * doc/posix-functions/unlink.texi (unlink): Likewise.
39157         * modules/unlink-tests: New test.
39158         * tests/test-unlink.c: Likewise.
39159
39160         lstat: fix Solaris 9 bug
39161         * lib/lstat.c (lstat): Also check for trailing slash on
39162         non-symlink, non-directories.  Use stat module to simplify logic.
39163         * doc/posix-functions/lstat.texi (lstat): Document it.
39164         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39165         (configure.ac): Check for symlink.
39166         * tests/test-lstat.c (main): Add more tests.
39167
39168         stat: add as dependency to other modules
39169         * modules/chown (Depends-on): Add stat.
39170         * modules/euidaccess (Depends-on): Likewise.
39171         * modules/fchdir (Depends-on): Likewise.
39172         * modules/isdir (Depends-on): Likewise.
39173         * modules/link (Depends-on): Likewise.
39174         * modules/lstat (Depends-on): Likewise.
39175         * modules/mkdir-p (Depends-on): Likewise.
39176         * modules/modechange (Depends-on): Likewise.
39177         * modules/open (Depends-on): Likewise.
39178         * modules/readlink (Depends-on): Likewise.
39179         * modules/same (Depends-on): Likewise.
39180
39181         stat: fix Solaris 9 bug
39182         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39183         slash.
39184         * lib/stat.c (rpl_stat): Work around it.
39185         * doc/posix-functions/stat.texi (stat): Update documentation.
39186
39187         stat: new module, for mingw bug
39188         * modules/stat: New file.
39189         * lib/stat.c: Likewise.
39190         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39191         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39192         * modules/sys_stat (Makefile.am): Use them.
39193         * lib/sys_stat.in.h (stat): Declare replacement.
39194         * lib/openat.c (fstatat): Deal with lstat and stat being function
39195         macros.
39196         * modules/openat (Depends-on): Add inline.
39197         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39198         * doc/posix-functions/stat.texi (stat): Likewise.
39199         * modules/stat-tests: New test.
39200         * tests/test-stat.c: Likewise.
39201
39202 2009-09-19  Jim Meyering  <meyering@redhat.com>
39203
39204         syntax-check: detect unnecessary inclusion of canonicalize.h
39205         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39206
39207 2009-09-19  Eric Blake  <ebb9@byu.net>
39208
39209         canonicalize-lgpl: adjust clients to use correct header
39210         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39211         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39212         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39213         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39214         * lib/progreloc.c (includes): Likewise.
39215
39216 2009-09-19  Jim Meyering  <meyering@redhat.com>
39217
39218         test-posixtm.c: correct a comment
39219         * tests/test-posixtm.c: Correct first-line comment.
39220         Spotted by Eric Blake.
39221
39222 2009-09-16  Jim Meyering  <meyering@redhat.com>
39223
39224         posixtm-tests: make T const-correct; add a test case
39225         * tests/test-posixtm.c (T): Declare const.
39226         Add a test for -(2^31+1).
39227         Remove useless can-succeed-only-in-2002 test.
39228
39229         posixtm-tests: adjust the sole failing test
39230         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39231         expected output matches what mktime now produces.  Cross-checked via
39232         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39233
39234         posixtm: move #ifdef'd tests into a new module
39235         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39236         * tests/test-posixtm.c: ... this new file.
39237         * modules/posixtm-tests: New module.
39238
39239 2009-09-19  Eric Blake  <ebb9@byu.net>
39240
39241         openat: simplify use of at-func.c
39242         * lib/at-func.c (includes): Include prerequisites here, to
39243         simplify requirements on client files.
39244         * lib/openat-priv.h: Add double-inclusion guard.
39245         * lib/faccessat.c (includes): Simplify.
39246         * lib/fchmodat.c (includes): Likewise.
39247         * lib/fchownat.c (includes): Likewise.
39248         * lib/mkdirat.c (includes): Likewise.
39249         * lib/mkfifoat.c (includes): Likewise.
39250         * lib/symlinkat.c (includes): Likewise.
39251
39252         openat: allow return of fd 0
39253         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39254         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39255         unistd-safer.
39256         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39257         <fcntl.h>; this module does not leak fds.
39258         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39259         must be allowed to return 0, leaving openat_safer to add the
39260         safety.
39261         (openat_permissive): Avoid writing to just-opened fd 2 if
39262         restoring the current directory fails.
39263         * lib/openat-die.c (openat_restore_fail): Add comment.
39264         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39265         (save_cwd): Guarantee safe fd, but without use of open_safer.
39266         * tests/test-openat.c: New test.
39267         * modules/openat-tests (Files, Makefile.am): Distribute and build
39268         new file.
39269
39270         relocatable-prog-wrapper: fix build
39271         * modules/relocatable-prog-wrapper (Files): Update name of
39272         canonicalize m4 file, broken on 2009-09-17.
39273         Reported by emad hajjar <aleppos@hotmail.com>.
39274
39275 2009-09-19  Bruno Haible  <bruno@clisp.org>
39276
39277         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39278         * lib/safe-alloc.c: Likewise.
39279         Reported by Ian Beckwith <ianb@erislabs.net>.
39280
39281 2009-09-18  Bruno Haible  <bruno@clisp.org>
39282
39283         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39284         Reported by <erobles@sensacd.com.mx>.
39285
39286 2009-09-17  Eric Blake  <ebb9@byu.net>
39287
39288         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39289         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39290         slashes when checking if last component is missing.
39291         * tests/test-canonicalize.c (main): Test this.
39292
39293         canonicalize, canonicalize-lgpl: honor // if distinct from /
39294         * modules/canonicalize (Files): Add double-slash-root.m4.
39295         * modules/canonicalize-lgpl (Files): Likewise.
39296         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39297         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39298         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39299         fallback definition.
39300         (canonicalize_filename_mode): Use it to protect //.
39301         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39302         (__realpath): Likewise.
39303         * tests/test-canonicalize.c (main): Test this.
39304         * tests/test-canonicalize-lgpl.c (main): Likewise.
39305         * modules/canonicalize-tests (Depends-on): Add same-inode.
39306         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39307
39308         canonicalize-lgpl: fix glibc bug with trailing slash
39309         * m4/canonicalize-lgpl.m4: Move contents...
39310         * m4/canonicalize.m4: ...here.
39311         (gl_CANONICALIZE_LGPL): Factor realpath check...
39312         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39313         glibc 2.3.5 bug, fixed 2005-04-27.
39314         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39315         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39316         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39317         * modules/canonicalize-lgpl (Files): Manage file rename.
39318         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39319         * modules/stdlib (Makefile.am): Substitute witness.
39320         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39321         is needed.
39322         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39323         replacement is required.
39324         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39325         * doc/glibc-functions/canonicalize_file_name.texi
39326         (canonicalize_file_name): Document this.
39327         * doc/posix-functions/realpath.texi (realpath): Likewise.
39328
39329         canonicalize-lgpl: reject non-directory with trailing slash
39330         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39331         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39332         catches failures in glibc 2.3.5.
39333         * tests/test-canonicalize.c (main): Likewise.
39334
39335         canonicalize-lgpl: use native realpath if it works
39336         * lib/canonicalize-lgpl.c (realpath): Guard with
39337         FUNC_REALPATH_WORKS.
39338         * lib/stdlib.in.h (realpath): Make declaration optional based on
39339         HAVE_REALPATH.
39340         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39341         native realpath works.
39342         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39343         * modules/stdlib (Makefile.am): Substitute witness.
39344
39345         canonicalize, canonicalize-lgpl: use <stdlib.h>
39346         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39347         (Include): Mention <stdlib.h>.
39348         (configure.ac): Mention functions we provide.
39349         * modules/canonicalize (configure.ac): Likewise.
39350         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39351         realpath if canonicalize_file_name is missing.
39352         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39353         * modules/stdlib (Makefile.am): Substitute witnesses.
39354         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39355         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39356         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39357         * NEWS: Document this.
39358         * doc/glibc-functions/canonicalize_file_name.texi
39359         (canonicalize_file_name): Likewise.
39360         * doc/posix-functions/realpath.texi (realpath): Likewise.
39361         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39362
39363         test-canonicalize: consolidate into single C program
39364         * tests/test-canonicalize.sh: Delete; move setup into...
39365         * tests/test-canonicalize.c (main): ...the program, making it
39366         easier to run in debugger.  Add some tests.
39367         * modules/canonicalize-tests (Files): Remove unused file.
39368         (Depends-on): Add progname.
39369         (configure.ac, Makefile.am): Simplify.
39370
39371         test-canonicalize-lgpl: consolidate into single C program
39372         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39373         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39374         easier to run in debugger.  Add some tests.
39375         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39376         (configure.ac, Makefile.am): Simplify.
39377
39378         canonicalize: avoid resolvepath
39379         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39380         unnecessary checks.
39381         * lib/canonicalize.c (includes): Simplify.
39382         (canonicalize_file_name): Drop resolvepath implementation.
39383         * modules/canonicalize (Depends-on): Drop filenamecat.
39384
39385         canonicalize: don't lose errno
39386         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39387         over calls to free.
39388
39389         canonicalize: simplify errno handling
39390         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39391         assignment.
39392
39393         canonicalize, canonicalize-lgpl: update module dependencies
39394         * modules/canonicalize (Depends-on): Add extensions, lstat,
39395         pathmax, stdlib.
39396         (Files): Drop pathmax.h.
39397         (configure.ac): Adjust macro name.
39398         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39399         lstat, stdlib, sys_stat.
39400         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39401         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39402         extensions.
39403         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39404         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39405         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39406         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39407         declaration, if available.
39408         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39409         we can rely on the readlink module.
39410         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39411         (includes): Use <unistd.h> unconditionally.
39412
39413 2009-09-17  Eric Blake  <ebb9@byu.net>
39414
39415         maint: make Include sections of modules consistent
39416         * modules/alloca: Use only header name; no need to list #include.
39417         * modules/alloca-opt: Likewise.
39418         * modules/arpa_inet: Likewise.
39419         * modules/canon-host: Likewise.
39420         * modules/configmake: Likewise.
39421         * modules/dirent: Likewise.
39422         * modules/eealloc: Likewise.
39423         * modules/environ: Likewise.
39424         * modules/fchdir: Likewise.
39425         * modules/fcntl: Likewise.
39426         * modules/fcntl-h: Likewise.
39427         * modules/gethrxtime: Likewise.
39428         * modules/gettime: Likewise.
39429         * modules/ignore-value: Likewise.
39430         * modules/inet_ntop: Likewise.
39431         * modules/inet_pton: Likewise.
39432         * modules/inttypes: Likewise.
39433         * modules/isnand-nolibm: Likewise.
39434         * modules/isnanf-nolibm: Likewise.
39435         * modules/mbchar: Likewise.
39436         * modules/mbfile: Likewise.
39437         * modules/mbiter: Likewise.
39438         * modules/mbuiter: Likewise.
39439         * modules/netdb: Likewise.
39440         * modules/netinet_in: Likewise.
39441         * modules/nproc: Likewise.
39442         * modules/pagealign_alloc: Likewise.
39443         * modules/poll: Likewise.
39444         * modules/printf-frexp: Likewise.
39445         * modules/pthread: Likewise.
39446         * modules/putenv: Likewise.
39447         * modules/random_r: Likewise.
39448         * modules/relocatable-prog: Likewise.
39449         * modules/search: Likewise.
39450         * modules/select: Likewise.
39451         * modules/selinux-h: Likewise.
39452         * modules/settime: Likewise.
39453         * modules/signal: Likewise.
39454         * modules/size_max: Likewise.
39455         * modules/socklen: Likewise.
39456         * modules/ssize_t: Likewise.
39457         * modules/stdarg: Likewise.
39458         * modules/stdbool: Likewise.
39459         * modules/stddef: Likewise.
39460         * modules/stdint: Likewise.
39461         * modules/stdio: Likewise.
39462         * modules/stdlib: Likewise.
39463         * modules/string: Likewise.
39464         * modules/strings: Likewise.
39465         * modules/sys_file: Likewise.
39466         * modules/sys_ioctl: Likewise.
39467         * modules/sys_select: Likewise.
39468         * modules/sys_socket: Likewise.
39469         * modules/sys_stat: Likewise.
39470         * modules/sys_time: Likewise.
39471         * modules/sys_times: Likewise.
39472         * modules/sys_utsname: Likewise.
39473         * modules/sys_wait: Likewise.
39474         * modules/sysexits: Likewise.
39475         * modules/time: Likewise.
39476         * modules/times: Likewise.
39477         * modules/tmpfile: Likewise.
39478         * modules/trim: Likewise.
39479         * modules/unistd: Likewise.
39480         * modules/wchar: Likewise.
39481         * modules/wctype: Likewise.
39482
39483 2009-09-17  Bruno Haible  <bruno@clisp.org>
39484
39485         Make getdate.y compile on QNX and NetBSD 5 / i386.
39486         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39487         TIME_T_FITS_IN_LONG_INT.
39488         * lib/getdate.y (long_time_t): New type.
39489         (relative_time): Change type of 'seconds' field to long_time_t.
39490         (get_date): Update types of local variables. Check against overflow
39491         during conversion from long_time_t to time_t.
39492         Reported by Matt Kraai <kraai@ftbfs.org>
39493         and Hasso Tepper <hasso@netbsd.org>.
39494
39495 2009-09-17  Bruno Haible  <bruno@clisp.org>
39496
39497         * modules/COPYING: Update copyright years.
39498         * modules/README: Likeiwse.
39499         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39500         Reported by Ian Beckwith <ianb@erislabs.net>.
39501
39502 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39503
39504         * users.txt: Update references for gnuit package.
39505
39506 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39507
39508         * m4/getdelim.m4: Fix typo in copyright line.
39509
39510 2009-09-17  Bruno Haible  <bruno@clisp.org>
39511
39512         * lib/atoll.c: Use the standard header with GPL copyright.
39513         * lib/argz.in.h: Likewise.
39514         * lib/glob.c: Likewise.
39515         * lib/glob-libc.h: Likewise.
39516         * lib/random_r.c: Likewise.
39517         * lib/siglist.h: Likewise.
39518         * lib/strsignal.c: Likewise.
39519         Reported by Ian Beckwith <ianb@erislabs.net>.
39520
39521 2009-09-17  Eric Blake  <ebb9@byu.net>
39522
39523         rmdir: ensure correct dependency order
39524         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39525
39526 2009-09-17  Bruno Haible  <bruno@clisp.org>
39527
39528         Disable assertion that fails on NetBSD 5 / i386.
39529         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39530         Reported by Sam Steingold <sds@gnu.org>
39531         and Hasso Tepper <hasso@netbsd.org>.
39532
39533 2009-09-16  Eric Blake  <ebb9@byu.net>
39534
39535         unlinkdir: port to mingw
39536         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39537         on which no one can unlink a directory.
39538
39539         stdlib: sort witness names
39540         * modules/stdlib (Makefile.am): Sort replacements.
39541         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39542         * lib/stdlib.in.h: Likewise.
39543
39544         parse-duration-tests: avoid link failure
39545         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39546         LIBINTL.
39547         Reported by Tom G. Christensen.
39548
39549         openat-tests: ensure unlinkat behaves like rmdir
39550         * tests/test-rmdir.c (main): Factor guts...
39551         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39552         * modules/rmdir-tests (Files): Ship new file.
39553         * modules/openat-tests: New test.
39554         * tests/test-unlinkat.c: Likewise.
39555
39556         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39557         * modules/rmdir-errno (Status, Notice): Now obsolete.
39558
39559         rmdir: work around cygwin 1.5.x and mingw bugs
39560         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39561         * lib/rmdir.c (rmdir): Work around it.
39562         * modules/rmdir (Status, Notice): No longer obsolete.
39563         (Files): Add dos.m4.
39564         (Depends-on): Add unistd.
39565         (configure.ac): Set witnesses.
39566         (License): Relax to LGPLv2+.
39567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39568         * modules/unistd (Makefile.am): Substitute witnesses.
39569         * lib/unistd.in.h (rmdir): Declare replacement.
39570         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39571         * modules/rmdir-tests: New tests.
39572         * tests/test-rmdir.c: Likewise.
39573
39574 2009-09-15  Eric Blake  <ebb9@byu.net>
39575
39576         fchdir: improve use of replacement functions
39577         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39578         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39579         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39580         REPLACE_CLOSEDIR.
39581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39582         * modules/sys_stat (Makefile.am): Substitute correct witness.
39583         * modules/dirent (Makefile.am): Likewise.
39584         * modules/unistd (Makefile.am): Likewise.
39585         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39586         * lib/unistd.in.h (dup): Likewise.
39587         * lib/sys_stat.in.h (fstat): Likewise.
39588
39589         maint: ignore gnulib-tool temp files
39590         * .gitignore: Ignore files created during gnulib-tool --test.
39591
39592 2009-09-13  Jim Meyering  <meyering@redhat.com>
39593
39594         posixtm: don't reject a time that specify "60" as the number of seconds
39595         * lib/posixtm.c (posixtime): The code to reject invalid dates
39596         would also reject a time specified with the .60 suffix.
39597         But POSIX allows that, in order to accommodate leap seconds.
39598         So don't reject it.
39599         (main): Adjust tests accordingly.
39600         * modules/posixtm (Depends-on): Add stpcpy.
39601
39602 2009-09-11  Jim Meyering  <meyering@redhat.com>
39603
39604         announce-gen: include [$release_type] in emitted Subject:
39605         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39606         e.g., [stable] in the emitted Subject: line.
39607
39608 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39609
39610         Remove obsolete macros from several modules.
39611         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39612         obsolete Autoconf macros with their modern counterparts.
39613         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39614         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39615         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39616         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39617         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39618         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39619         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39620         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39621         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39622         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39623         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39624         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39625         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39626         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39627         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39628         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39629         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39630         * m4/time_r.m4 (gl_TIME_R): Likewise.
39631         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39632         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39633         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39634
39635         Fix copyright header in build-aux scripts.
39636         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39637         recommendation.
39638         * build-aux/ncftpput-ftp: Likewise.
39639         * build-aux/update-copyright: Likewise.
39640
39641 2009-09-09  Eric Blake  <ebb9@byu.net>
39642
39643         test-link: allow Linux choice of errno
39644         * tests/test-link.c (main): Relax test for alternate error.
39645
39646         strndup: fix improper m4 caching
39647         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39648         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39649         (gl_PREREQ_STRNDUP): Delete.
39650         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39651         * modules/string (Makefile.am): Substitute it.
39652         * lib/string.in.h (strndup): Modernize prototype.
39653
39654         getcwd: port to mingw
39655         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39656         different from the POSIX assumptions made throughout the getcwd
39657         module; fortunately, the mingw getcwd does not need replacement.
39658         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39659         * modules/getcwd-tests: New test.
39660         * tests/test-getcwd.c: Likewise.
39661
39662         link: fix platform bugs
39663         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39664         * lib/link.c (link): Work around them.  Fix related mingw bug.
39665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39666         * modules/unistd (Makefile.am): Substitute it.
39667         * lib/unistd.in.h (link): Declare replacement.
39668         * doc/posix-functions/link.texi (link): Document this.
39669         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39670
39671         test-link: consolidate into single C program, test more cases
39672         * tests/test-link.sh: Delete.
39673         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39674         at least Cygwin and Solaris.
39675         * modules/link-tests (Files): Remove unused file.
39676         (Depends-on): Add errno, sys_stat.
39677         (Makefile.am): Simplify.
39678
39679 2009-09-08  Bruno Haible  <bruno@clisp.org>
39680
39681         Work around towlower, towupper bug on mingw.
39682         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39683         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39684         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39685         * doc/posix-functions/towupper.texi: Likewise.
39686         Reported by Eric Blake.
39687
39688 2009-09-08  Jim Meyering  <meyering@redhat.com>
39689
39690         build: don't try to run autoheader if we don't use it
39691         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39692         is not used in configure.ac.
39693
39694 2009-09-08  Eric Blake  <ebb9@byu.net>
39695
39696         euidaccess: fix compilation error
39697         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39698
39699         rawmemchr: relax license
39700         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39701         okay.
39702         Reported by Jim Meyering.
39703
39704         mkfifoat: new module
39705         * modules/mkfifoat: New file.
39706         * lib/mkfifoat.c: Likewise.
39707         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39708         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39709         * modules/sys_stat (Makefile.am): Use them.
39710         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39711         * MODULES.html.sh (File system functions): Mention module.
39712         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39713         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39714         * modules/mkfifoat-tests: New test.
39715         * tests/test-mkfifoat.c: Likewise.
39716
39717         strchrnul: relax license
39718         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39719         okay.
39720         Reported by Jim Meyering.
39721
39722 2009-09-08  Eric Blake  <ebb9@byu.net>
39723
39724         fstatat: fix compilation on Solaris
39725         * lib/fstatat.c (includes): Add fcntl.h.
39726         Reported by Pádraig Brady.
39727
39728 2009-09-07  Eric Blake  <ebb9@byu.net>
39729
39730         rename: modernize replacement
39731         * modules/rename (Depends-on): Add stdio.
39732         (configure.ac): Declare witness.
39733         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39734         stdio take care of replacement.
39735         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39736         * modules/stdio (Makefile.am): Substitute them.
39737         * lib/stdio.in.h (rename): Declare replacement.
39738         * lib/rename.c (includes): Allow cross-compilation to non-windows
39739         machines.
39740         * doc/posix-functions/rename.texi (rename): Improve
39741         documentation.
39742
39743         stdio: sort witness names
39744         * modules/stdio (Makefile.am): Sort replacements.
39745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39746         * lib/stdio.in.h: Likewise.
39747
39748         getcwd: minor cleanups
39749         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39750         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39751
39752         openat: provide more convenience names
39753         * modules/faccessat (configure.ac): Add C witness.
39754         * lib/unistd.in.h (readlinkat): Fix typo.
39755         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39756         convenience wrappers.
39757         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39758         wrappers in syntax checks.
39759
39760 2009-09-06  Eric Blake  <ebb9@byu.net>
39761
39762         doc: fix comments in recent patches
39763         * lib/faccessat.c: Mention correct function.
39764         * lib/fchmodat.c: Likewise.
39765         * lib/fchownat.c: Likewise.
39766         * lib/symlinkat.c: Likewise.
39767         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39768         constants.
39769
39770         faccessat, symlinkat: continue cleanup of previous patch
39771         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39772         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39773         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39775         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39776         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39777         set.
39778
39779 2009-09-06  Bruno Haible  <bruno@clisp.org>
39780
39781         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39782         (fstatat): Declare if GNULIB_FSTATAT is set.
39783         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39784         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39785         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39786         * modules/fcntl-h (Files): Remove m4/openat.m4.
39787         * modules/sys_stat (Files): Remove m4/openat.m4.
39788         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39789         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39790         * modules/unistd (Files): Remove m4/openat.m4.
39791         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39792         GNULIB_OPENAT.
39793         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39794         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39795         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39796         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39797         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
39798         gl_OPENAT_DEFAULTS.
39799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
39800         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
39801         Don't require gl_OPENAT_DEFAULTS.
39802         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
39803         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
39804         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
39805         (gl_OPENAT_DEFAULTS): Remove macro.
39806
39807 2009-09-06  Bruno Haible  <bruno@clisp.org>
39808
39809         * modules/openat (configure.ac): Remove unneeded witness.
39810
39811 2009-09-06  Bruno Haible  <bruno@clisp.org>
39812
39813         Set errno to ENOSYS when a function is entirely unsupported.
39814         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39815         EOPNOTSUPP.
39816         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39817         * modules/chown (Depends-on): Remove errno.
39818
39819 2009-09-06  Bruno Haible  <bruno@clisp.org>
39820
39821         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39822
39823 2009-09-06  Bruno Haible  <bruno@clisp.org>
39824
39825         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39826
39827 2009-09-06  Ben Pfaff  <blp@gnu.org>
39828             Bruno Haible  <bruno@clisp.org>
39829
39830         Work around a glibc bug in strtok_r.
39831         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39832         Undefine if UNDEFINE_STRTOK_R is set.
39833         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39835         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39836         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39837         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39838         UNDEFINE_STRTOK_R.
39839         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39840
39841 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39842
39843         exclude: minor fix
39844         * lib/exclude.c: Include wctype.h
39845
39846 2009-09-06  Akim Demaille  <demaille@gostai.com>
39847
39848         bootstrap: improve error message
39849         * build-aux/bootstrap (find_tool): Upon failure, report the list
39850         of candidates.
39851         Honor the initial value of the envvar.
39852
39853 2009-09-05  Eric Blake  <ebb9@byu.net>
39854
39855         symlinkat: new module
39856         * modules/symlinkat: New file.
39857         * lib/symlinkat.c: Likewise.
39858         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39860         * modules/unistd (Makefile.am): Use them.
39861         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39862         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39863         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39864         * MODULES.html.sh (File system functions): Mention module.
39865         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39866         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39867         * modules/symlinkat-tests: New test.
39868         * tests/test-symlinkat.c: Likewise.
39869
39870         test-openat-safer: add more checks
39871         * tests/test-openat-safer.c (main): Check more code paths.
39872
39873 2009-09-05  Jim Meyering  <meyering@redhat.com>
39874
39875         syntax-check: detect unnecessary inclusion of openat.h
39876         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39877
39878 2009-09-05  Bruno Haible  <bruno@clisp.org>
39879
39880         Support towlower, towupper.
39881         * doc/posix-functions/towlower.texi: Mention module wctype.
39882         * doc/posix-functions/towupper.texi: Likewise.
39883         * lib/wctype.in.h (towlower, towupper): New functions.
39884         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39885         (ASSERT): New macro.
39886         (e): New variable.
39887         (main): Test also towlower, towupper. Test WEOF argument.
39888         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39889
39890 2009-09-05  Bruno Haible  <bruno@clisp.org>
39891
39892         Fix conversion behaviour when the input is invalid.
39893         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39894         mark occurring in first pass of indirect conversion.
39895         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39896         input.
39897         Found by clang's static analyzer.
39898
39899 2009-09-05  Bruno Haible  <bruno@clisp.org>
39900
39901         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39902         where direct conversion is possible.
39903
39904 2009-09-04  Eric Blake  <ebb9@byu.net>
39905
39906         openat: fail with ENOENT on empty name
39907         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39908         buffer.
39909
39910         link-follow: fix logic bug in prior patch
39911         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39912         reversed sense of yes and no in prior patch.  Avoid confusing
39913         compilation failure with desired semantics.
39914
39915         link-follow: accomodate mingw and cross-compilation
39916         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
39917         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
39918         cross-compilation results to -1, to make linkat easier to
39919         implement when cross-compiling.  Trivially support mingw.
39920         * modules/link-follow (configure.ac): Call new name.
39921         * NEWS: Mention this.
39922
39923 2009-09-03  Eric Blake  <ebb9@byu.net>
39924
39925         faccessat: compile replacement
39926         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
39927         needed.
39928
39929         fts: fix compilation error
39930         * lib/fts.c (includes): Re-add "openat.h", for
39931         openat_needs_fchdir.
39932
39933         faccessat: new module
39934         * modules/faccessat: New file.
39935         * lib/faccessat.c: Likewise.
39936         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39938         * modules/unistd (Makefile.am): Use it.
39939         * lib/unistd.in.h (faccessat): Declare it.
39940         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
39941         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
39942         * MODULES.html.sh (File system functions): Mention it.
39943         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
39944         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39945
39946         euidaccess: prefer POSIX over non-standard implementation
39947         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
39948         * lib/euidaccess.c (euidaccess): Use it if available.
39949
39950         openat: make template easier to use
39951         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
39952         AT_FUNC_F2 to be undefined.
39953         (VALIDATE_FLAG): New macro; use it to reject bad flags.
39954         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
39955         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
39956         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
39957         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
39958         Likewise.
39959         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
39960         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
39961         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
39962         Likewise.
39963
39964         openat: declare in POSIX headers
39965         * NEWS: Mention this.
39966         * modules/openat (configure.ac): Declare witnesses.
39967         (Depends-on): Add fcntl-h, sys_stat, unistd.
39968         (Include): Mention correct headers.
39969         * modules/fcntl-h (Depends-on): Add link-warning.
39970         (Files): Add openat.m4.
39971         (Makefile.am): Substitute witnesses.
39972         * modules/sys_stat (Files, Makefile.am): Likewise.
39973         * modules/unistd (Files, Makefile.am): Likewise.
39974         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
39975         (gl_OPENAT_DEFAULTS): New macro.
39976         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
39977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39978         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
39979         (SYS_STAT_H): Remove unused variable.
39980         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
39981         * lib/fcntl--.h (includes): Remove unneeded header.
39982         * lib/openat-safer.c (includes): Likewise.
39983         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
39984         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
39985         appropriate headers.
39986         (__OPENAT_PREFIX): Delete.
39987         * lib/fcntl.in.h (openat): Provide declaration.
39988         (AT_FDCWD): Fix Solaris bug.
39989         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
39990         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
39991         * lib/fchmodat.c (includes):  Adjust to find declaration.
39992         * lib/fchownat.c (includes): Likewise.
39993         * lib/mkdirat.c (includes): Likewise.
39994         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
39995         still visible.
39996
39997 2009-09-02  Eric Blake  <ebb9@byu.net>
39998
39999         errno: use consistently
40000         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40001         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40002         * lib/canonicalize.c (ELOOP): Likewise.
40003         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40004         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40005         * lib/lchown.c (EOPNOTSUPP): Likewise.
40006         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40007         * lib/savewd.c (ESTALE): Likewise.
40008         * lib/settime.c (ENOSYS): Likewise.
40009         * lib/utimens.c (ENOSYS): Likewise.
40010         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40011         * lib/chdir-safer.c (ELOOP): Likewise.
40012         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40013         * modules/c-stack (Depends-on): Add errno.
40014         * modules/canonicalize (Depends-on): Likewise.
40015         * modules/chdir-safer (Depends-on): Likewise.
40016         * modules/fdopendir (Depends-on): Likewise.
40017         * modules/inet_ntop (Depends-on): Likewise.
40018         * modules/inet_pton (Depends-on): Likewise.
40019         * modules/lchown (Depends-on): Likewise.
40020         * modules/openat (Depends-on): Likewise.
40021         * modules/savewd (Depends-on): Likewise.
40022         * modules/settime (Depends-on): Likewise.
40023         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40024
40025         fts: avoid leaking fds
40026         * modules/fts (Depends-on): Add cloexec.
40027         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40028         flag.
40029
40030         fts: make directory fds more robust
40031         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40032         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40033
40034         backupfile, chdir-long, fts, savedir: make safer
40035         * lib/backupfile.c (includes): Use "dirent--.h", since
40036         numbered_backup can write to stderr during readdir.
40037         * lib/savedir.c (includes): Likewise.
40038         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40039         emulation can write to stderr on failure.
40040         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40041         * lib/getcwd.c: Document why opendir_safer is unused.
40042         * lib/glob.c: Likewise.
40043         * lib/scandir.c: Likewise.
40044         * lib/openat-proc.c: Likewise, for open_safer.
40045         * modules/backupfile (Depends-on): Add dirent-safer.
40046         * modules/savedir (Depends-on): Likewise.
40047         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40048         * modules/chdir-long (Depends-on): Add openat-safer.
40049
40050         openat-safer: new module
40051         * modules/openat-safer: New file.
40052         * lib/openat-safer.c: Likewise.
40053         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40054         * lib/fcntl-safer.h (openat_safer): Declare.
40055         * lib/fcntl--.h (openat): Override.
40056         * MODULES.html.sh (File descriptor based I/O): Mention it.
40057         * lib/openat.h: Add double-inclusion guards.
40058         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40059         "fcntl--.h", so we can implement openat.
40060         * modules/openat-safer-tests: New test.
40061         * tests/test-openat-safer.c: New file.
40062
40063         dirent-safer: new module
40064         * modules/dirent-safer: New file.
40065         * lib/dirent--.h: Likewise.
40066         * lib/dirent-safer.h: Likewise.
40067         * lib/opendir-safer.c: Likewise.
40068         * m4/dirent-safer.m4: Likewise.
40069         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40070         * modules/dirent-safer-tests: New test.
40071         * tests/test-dirent-safer.c: New file.
40072         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40073
40074         fdopendir: optimize on mingw
40075         * lib/unistd.in.h (_gl_directory_name): New prototype.
40076         * lib/fchdir.c (_gl_directory_name): Implement it.
40077         (fchdir): Use it to simplify implementation.
40078         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40079         fchdir, when available, to avoid calling [f]chdir().
40080
40081         fdopendir: split into its own module
40082         * lib/openat.c (fdopendir): Move...
40083         * lib/fdopendir.c: ...into new file.
40084         * modules/fdopendir: New module.
40085         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40086         * modules/openat (Depends-on): Add fdopendir.
40087         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40088         fdopendir here.
40089         * modules/savedir (Depends-on): Only need fdopendir, not full
40090         openat.
40091         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40092         * lib/openat.h (fdopendir): Drop prototype.
40093         * lib/dirent.in.h (fdopendir): Provide prototype.
40094         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40095         * modules/dirent (Makefile.am): Substitute them.
40096         * MODULES.html.sh (File system functions): Mention it.
40097         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40098         * modules/fdopendir-tests: New file.
40099         * tests/test-fdopendir.c: Likewise.
40100
40101         fchdir: use more consistent macro convention
40102         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40103         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40104         REPLACE_FCHDIR, rather than relying on config.h macros.
40105         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40106         inside a single make-time REPLACE_FCHDIR block, rather than using
40107         the config.h FCHDIR_REPLACEMENT.
40108         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40109         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40110         Manage fstat replacement.
40111         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40112         REPLACE_FCHDIR.
40113         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40114         (Makefile.am): Substitute REPLACE_FCHDIR.
40115         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40116         FCHDIR_REPLACEMENT.
40117         * lib/dup-safer.c (dup_safer): Likewise.
40118         * lib/dup2.c (rpl_dup2): Likewise.
40119         * lib/dup3.c (rpl_dup3): Likewise.
40120         * lib/open.c (rpl_open): Likewise.
40121
40122         fchdir: simplify error handling, and support dup3
40123         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40124         stdbool, malloc-posix, realloc-posix.
40125         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40126         (ensure_dirs_slot): Return false on allocation failure.
40127         (rpl_dup2): Delete.
40128         (_gl_register_dup): New function.
40129         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40130         (_gl_register_fd): Close fd on allocation failure.
40131         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40132         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40133         prototype.
40134         (rpl_dup2_fchdir): Delete prototype.
40135         * lib/open.c (open): Update caller.
40136         * lib/dup2.c (dup2): Track fchdir metadata.
40137         * lib/dup3.c (dup3): Likewise.
40138         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40139         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40140
40141 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40142
40143         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40144         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40145         don't pass arguments to AC_OUTPUT.
40146
40147 2009-09-02  Bruno Haible  <bruno@clisp.org>
40148
40149         * modules/mkdtemp (License): Relicense under LGPLv2+.
40150         Reported by Paolo Bonzini.
40151
40152 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40153
40154         Replace uses of obsolete autoconf macros in Jim's modules.
40155         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40156         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40157         can evoke a warning from autoconf when run with -Wobsolete
40158         enabled.  They were declared obsolete for good reasons (see
40159         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40160         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40161         should not continue using the deprecated macros.
40162         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40163         obsolete Autoconf macros with modern counterparts.
40164         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40165         * m4/dos.m4 (gl_AC_DOS): Likewise.
40166         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40167         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40168         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40169         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40170         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40171         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40172         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40173         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40174         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40175         Likewise.
40176         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40177         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40178         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40179         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40180         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40181         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40182
40183 2009-09-01  Eric Blake  <ebb9@byu.net>
40184
40185         fchdir: fix off-by-one bug in previous patch
40186         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40187         (_gl_unregister_fd): Delete useless if.
40188
40189 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40190
40191         maint.mk: sort the list of syntax-check rules
40192         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40193         easier to get a sense of progress when the rules are run sequentially
40194         and take a long time.
40195
40196 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40197
40198         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40199         * modules/netinet_in: Likewise.
40200         * modules/sys_file: Likewise.
40201         * modules/sys_ioctl: Likewise.
40202         * modules/sys_select: Likewise.
40203         * modules/sys_socket: Likewise.
40204         * modules/sys_stat: Likewise.
40205         * modules/sys_time: Likewise.
40206         * modules/sys_times: Likewise.
40207         * modules/sys_utsname: Likewise.
40208         * modules/sys_wait: Likewise.
40209
40210 2009-09-01  Jim Meyering  <meyering@redhat.com>
40211
40212         fts: help ensure that return values are not ignored
40213         * lib/fts_.h (__GNUC_PREREQ): Define.
40214         (__attribute_warn_unused_result__): Define.
40215         (fts_children, fts_close, fts_open, fts_read): Declare with
40216         __attribute_warn_unused_result__.
40217
40218         fts: fts_close now fails also when closing a dir file descriptor fails
40219         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40220         and propagate to caller, along with errno.
40221
40222         announce-gen: correct formatting in --help output
40223         * build-aux/announce-gen (usage): Move the one-line description in
40224         --help output "up", to where it belongs, just after Usage:.
40225
40226 2009-08-31  Eric Blake  <ebb9@byu.net>
40227
40228         fchdir: port to mingw
40229         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40230         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40231         opened, then use a substitute.
40232         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40233         replacement.
40234         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40235         (_gl_register_fd): No need to check stat if open already filters
40236         all directories.
40237         (fchdir): Fix error condition to match POSIX.
40238         * modules/fchdir (Depends-on): Add sys_stat.
40239         * doc/posix-functions/open.texi (open): Document the limitation.
40240         * modules/fchdir-tests: New file.
40241         * tests/test-fchdir.c: Likewise.
40242
40243         canonicalize: allow cross-testing from cygwin to mingw
40244         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40245         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40246         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40247         Likewise.
40248         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40249         target does not support symlinks.
40250         * tests/test-canonicalize-lgpl.sh: Likewise.
40251
40252         chown: avoid compilation warning on mingw
40253         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40254         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40255         mingw.
40256         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40257         * modules/chown (Depends-on): Add errno.
40258
40259 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40260
40261         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40262         command.
40263
40264 2009-08-31  Jim Meyering  <meyering@redhat.com>
40265
40266         canonicalize: remove useless initialization
40267         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40268         initialization of local, "end".
40269
40270 2009-08-30  Bruno Haible  <bruno@clisp.org>
40271
40272         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40273         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40274         ENOSYS.
40275
40276 2009-08-30  Bruno Haible  <bruno@clisp.org>
40277
40278         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40279         /usr/xpg4/bin/tr when it exists.
40280         * tests/test-pipe-filter-gi1.sh: Likewise.
40281
40282 2009-08-30  Bruno Haible  <bruno@clisp.org>
40283
40284         Work around deficient /usr/bin/id program on Solaris.
40285         * tests/test-file-has-acl.sh (ID): New variable.
40286         * tests/test-set-mode-acl.sh (ID): Likewise.
40287         * tests/test-copy-acl.sh (ID): Likewise.
40288         * tests/test-copy-file.sh (ID): Likewise.
40289
40290 2009-08-30  Bruno Haible  <bruno@clisp.org>
40291
40292         New module 'xstriconveh'.
40293         * lib/xstriconveh.h: New file.
40294         * lib/xstriconveh.c: New file.
40295         * modules/xstriconveh: New file.
40296
40297 2009-08-30  Bruno Haible  <bruno@clisp.org>
40298
40299         Make it easier to use mem_cd_iconveh.
40300         * lib/striconveh.h (iconveh_t): New type.
40301         (iconveh_open, iconveh_close): New declarations.
40302         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40303         with a single 'const iconveh_t *' argument.
40304         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40305         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40306         with a single 'const iconveh_t *' argument.
40307         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40308         * tests/test-striconveh.c (main): Update.
40309         * NEWS: Mention the change.
40310
40311 2009-08-30  Bruno Haible  <bruno@clisp.org>
40312
40313         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40314         problem.
40315
40316 2009-08-30  Bruno Haible  <bruno@clisp.org>
40317
40318         Work around iconv_open problem on Solaris.
40319         * lib/iconv_open-solaris.gperf: New file.
40320         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40321         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40322         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40323         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40324         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40325         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40326
40327 2009-08-29  Jim Meyering  <meyering@redhat.com>
40328
40329         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40330         * top/maint.mk (cvs-check): Remove target; it was just an alias
40331         to the better-named vc-diff-check.
40332         (maintainer-distcheck): Remove rule.  It was used only from
40333         the (alpha/beta/major) target, and all of its commands but one
40334         were coreutils-specific.
40335         (vc-dist): Remove rule.
40336         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40337         Run vc-diff-check, not vc-dist.
40338         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40339
40340 2009-08-27  Bruno Haible  <bruno@clisp.org>
40341
40342         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40343         of 0.
40344
40345 2009-08-27  Bruno Haible  <bruno@clisp.org>
40346
40347         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40348         compilers.
40349         * doc/func.texi: Document the SunPRO C bug.
40350
40351 2009-08-27  Bruno Haible  <bruno@clisp.org>
40352
40353         Fix link error on Solaris.
40354         * tests/test-parse-duration.c (xstrdup): Remove function.
40355
40356 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40357
40358         ignore-value: handle pointer types, too
40359         * lib/ignore-value.h (__attribute__): Remove definition.
40360         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40361         of a more concise and more-often effective "(void) i" statement.
40362         (ignore_ptr): New function to suppress warnings from functions that
40363         return pointers, and to make it explicit that one function doesn't
40364         handle all cases.
40365
40366 2009-08-25  Bruno Haible  <bruno@clisp.org>
40367
40368         dup2: work around a Linux bug.
40369         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40370         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40371         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40372         Reported by Simon Josefsson.
40373
40374 2009-08-25  Jim Meyering  <meyering@redhat.com>
40375
40376         libguestfs uses gnulib
40377         * users.txt: Add libguestfs.
40378
40379 2009-08-24  Eric Blake  <ebb9@byu.net>
40380
40381         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40382         * lib/pipe2.c (includes): Add binary-io.h.
40383         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40384
40385 2009-08-24  Bruno Haible  <bruno@clisp.org>
40386
40387         Tolerate declared but missing accept4 syscall.
40388         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40389         available.
40390         * lib/sys_socket.in.h (accept4): If the function is already present,
40391         override it.
40392         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40393         * modules/accept4 (Makefile.am): Compile accept4.c always.
40394         Reported by Paolo Bonzini and Eric Blake.
40395
40396 2009-08-23  Bruno Haible  <bruno@clisp.org>
40397
40398         New module 'accept4'.
40399         * lib/sys_socket.in.h (accept4): New declaration.
40400         * lib/accept4.c: New file.
40401         * m4/accept4.m4: New file.
40402         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40403         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40404         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40405         HAVE_ACCEPT4.
40406         * modules/accept4: New file.
40407         * doc/glibc-functions/accept4.texi: Mention the new module.
40408
40409 2009-08-24  Jim Meyering  <meyering@redhat.com>
40410
40411         progname: also set global program_invocation_name, when possible
40412         Before this change, a libtool-enabled program that calls glibc's
40413         error function would report the program name as
40414         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40415         * modules/progname (configure.ac): Check for a declaration of
40416         program_invocation_name.
40417         * lib/progname.c:  Include <errno.h>.
40418         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40419         Set program_invocation_name.
40420
40421 2009-08-23  Bruno Haible  <bruno@clisp.org>
40422
40423         * lib/dup3.c: Include <string.h>.
40424
40425 2009-08-23  Bruno Haible  <bruno@clisp.org>
40426
40427         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40428         * lib/pipe2.c (pipe2): Likewise.
40429         Suggested by Eric Blake.
40430
40431 2009-08-23  Bruno Haible  <bruno@clisp.org>
40432
40433         Tolerate declared but missing dup3 syscall.
40434         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40435         * lib/unistd.in.h (dup3): If the function is already present,
40436         override it.
40437         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40438         * modules/dup3 (Makefile.am): Compile dup3.c always.
40439         Reported by Paolo Bonzini.
40440
40441 2009-08-23  Bruno Haible  <bruno@clisp.org>
40442
40443         Tolerate declared but missing pipe2 syscall.
40444         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40445         available.
40446         * lib/unistd.in.h (pipe2): If the function is already present,
40447         override it.
40448         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40449         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40450         Reported by Paolo Bonzini.
40451
40452 2009-08-23  Bruno Haible  <bruno@clisp.org>
40453
40454         * lib/pipe2.c (pipe2): Move #ifs inside function.
40455
40456 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40457
40458         quotearg: document limitations of quote_these_too
40459         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40460         those limitations are created.
40461         * lib/quotearg.h (set_char_quoting): Document that digits and
40462         letters that are special after backslash are not permitted.
40463         (quotearg_char): Cross-reference set_char_quoting documentation.
40464
40465 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40466
40467         quotearg: implement custom_quoting_style
40468         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40469         right_quote fields.
40470         (set_custom_quoting): New public function.
40471         (quotearg_buffer_restyled): Add left_quote and right_quote
40472         arguments, handle them very much like locale quoting, and update
40473         all uses.
40474         (quotearg_n_custom): New public function.
40475         (quotearg_n_custom_mem): New public function.
40476         (quotearg_custom): New public function.
40477         (quotearg_custom_mem): New public function.
40478         * lib/quotearg.h: Prototype and document new public functions.
40479         (enum quoting_style): For escape_quoting_style and
40480         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40481         ignored even though they're otherwise like c_quoting_style.
40482         Add custom_quoting_style member and document with comparison to
40483         clocale_quoting_style.
40484         * tests/test-quotearg.c (custom_quotes): New array.
40485         (custom_results): New array.
40486         (main): Extend to test custom quoting.
40487
40488 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40489
40490         quotearg: fix right quote escaping when it's in quote_these_too
40491         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40492         quote, be sure to prepend only one backslash.
40493         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40494         (main): Test it.
40495
40496 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40497
40498         quotearg-tests: test escaping of embedded locale quotes
40499         * tests/test-quotearg.c (struct result_strings): Add member for
40500         new input.
40501         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40502         (inputs): Add new input.
40503         (results_g): Add expected results.
40504         (flag_results): Likewise.
40505         (locale_results): Likewise.
40506         (compare_strings): Check those.
40507
40508 2009-08-23  Bruno Haible  <bruno@clisp.org>
40509
40510         Tests for module 'dup3'.
40511         * modules/dup3-tests: New file.
40512         * tests/test-dup3.c: New file.
40513
40514         New module 'dup3'.
40515         * lib/unistd.in.h (dup3): New declaration.
40516         * lib/dup3.c: New file.
40517         * m4/dup3.m4: New file.
40518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40519         HAVE_DUP3.
40520         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40521         * modules/dup3: New file.
40522         * doc/glibc-functions/dup3.texi: Mention the new module.
40523
40524 2009-08-23  Bruno Haible  <bruno@clisp.org>
40525
40526         Tweak the dup2 test.
40527         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40528         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40529         the test file is still empty. Fix argument order of lseek.
40530
40531 2009-08-23  Bruno Haible  <bruno@clisp.org>
40532
40533         Avoid test link errors when the modules getopt-gnu, gettext are used.
40534         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40535         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40536
40537 2009-08-23  Bruno Haible  <bruno@clisp.org>
40538
40539         Fix getdtablesize() on mingw.
40540         * lib/getdtablesize.c (getdtablesize): Implement differently.
40541         * lib/unistd.in.h (getdtablesize): Improve comment.
40542
40543 2009-08-23  Bruno Haible  <bruno@clisp.org>
40544
40545         New module 'mkostemp'.
40546         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40547         * lib/stdlib.in.h (mksotemp): New declaration.
40548         * lib/mkostemp.c: New file, from glibc with modifications.
40549         * lib/tempname.h (GT_FILE): Remove outdated comment.
40550         (gen_tempname): Add flags argument.
40551         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40552         (__GT_FILE): Map to 1.
40553         (small_open, large_open): Remove macros.
40554         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40555         * lib/mkstemp.c (mkstemp): Update.
40556         * lib/mkdtemp.c (mkdtemp): Likewise.
40557         * m4/mkostemp.m4: New file.
40558         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40559         HAVE_MKOSTEMP.
40560         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40561         HAVE_MKOSTEMP.
40562         * modules/mkostemp: New file, based on modules/mkstemp.
40563         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40564         * NEWS: Mention the change.
40565
40566 2009-08-23  Bruno Haible  <bruno@clisp.org>
40567
40568         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40569         Reported by Eric Blake.
40570
40571 2009-08-23  Bruno Haible  <bruno@clisp.org>
40572
40573         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40574         Reported by Eric Blake.
40575
40576 2009-08-23  Bruno Haible  <bruno@clisp.org>
40577
40578         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40579         * modules/pipe2 (Depends-on): Likewise.
40580
40581 2009-08-23  Eric Blake  <ebb9@byu.net>
40582
40583         fcntl-h: add O_TTY_INIT support
40584         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40585         * tests/test-fcntl-h.c (o): Test it.
40586         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40587
40588         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40589         * modules/fcntl: Move <fcntl.h> header replacement...
40590         * modules/fcntl-h: ...to new name, so as not to collide with
40591         like-named function.
40592         * tests/test-fcntl.c: Rename...
40593         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40594         * modules/fcntl-tests: Rename...
40595         * modules/fcntl-h-tests: ...to this.  Update test file name.
40596         * modules/chdir-long (Depends-on): Update clients.
40597         * modules/chdir-safer (Depends-on): Likewise.
40598         * modules/fcntl-safer (Depends-on): Likewise.
40599         * modules/fts (Depends-on): Likewise.
40600         * modules/mkancesdirs (Depends-on): Likewise.
40601         * modules/mkdir-p (Depends-on): Likewise.
40602         * modules/open (Depends-on): Likewise.
40603         * modules/savewd (Depends-on): Likewise.
40604         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40605         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40606
40607 2009-08-22  Bruno Haible  <bruno@clisp.org>
40608
40609         * modules/binary-io (License): Relicense under LGPL.
40610         * modules/pipe2 (License): Likewise.
40611
40612 2009-08-22  Bruno Haible  <bruno@clisp.org>
40613
40614         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40615         return value.
40616         * lib/pipe-filter-gi.c (filter_init): Likewise.
40617         Reported by Eric Blake.
40618
40619 2009-08-22  Bruno Haible  <bruno@clisp.org>
40620
40621         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40622         * modules/pipe (Depends-on): Add pipe2.
40623
40624 2009-08-22  Bruno Haible  <bruno@clisp.org>
40625
40626         Tests for module 'pipe2'.
40627         * modules/pipe2-tests: New file.
40628         * tests/test-pipe2.c: New file.
40629
40630         New module 'pipe2'.
40631         * lib/unistd.in.h (pipe2): New declaration.
40632         * lib/pipe2.c: New file.
40633         * m4/pipe2.m4: New file.
40634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40635         HAVE_PIPE2.
40636         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40637         * modules/pipe2: New file.
40638         * doc/glibc-functions/pipe2.texi: Mention the new module.
40639
40640 2009-08-22  Bruno Haible  <bruno@clisp.org>
40641
40642         Reference some new glibc functions.
40643         * doc/glibc-functions/accept4.texi: New file.
40644         * doc/glibc-functions/dup3.texi: New file.
40645         * doc/glibc-functions/mkostemp.texi: New file.
40646         * doc/glibc-functions/pipe2.texi: New file.
40647         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40648         (Glibc sys/socket.h): Refer to accept4.
40649         (Glibc unistd.h): Refer to dup3, pipe2.
40650         Reported by Eric Blake.
40651
40652 2009-08-22  Jim Meyering  <meyering@redhat.com>
40653             Bruno Haible  <bruno@clisp.org>
40654
40655         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40656         This makes it so packages using automake-1.11's silent-rules option
40657         can print e.g., a single "GEN    configmake.h" line, rather than
40658         the 30+ statements that perform the job.  If you want to see the
40659         actual commands, you can still run "make V=1".
40660         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40661         so that make output is abbreviated when those variables are defined
40662         appropriately.
40663         * modules/argz: Likewise.
40664         * modules/arpa_inet: Likewise.
40665         * modules/byteswap: Likewise.
40666         * modules/configmake: Likewise.
40667         * modules/dirent: Likewise.
40668         * modules/errno: Likewise.
40669         * modules/fcntl: Likewise.
40670         * modules/float: Likewise.
40671         * modules/fnmatch: Likewise.
40672         * modules/getopt-posix: Likewise.
40673         * modules/glob: Likewise.
40674         * modules/iconv_open: Likewise.
40675         * modules/inttypes: Likewise.
40676         * modules/localcharset: Likewise.
40677         * modules/locale: Likewise.
40678         * modules/math: Likewise.
40679         * modules/netdb: Likewise.
40680         * modules/netinet_in: Likewise.
40681         * modules/poll: Likewise.
40682         * modules/posix_spawnp-tests: Likewise.
40683         * modules/sched: Likewise.
40684         * modules/search: Likewise.
40685         * modules/selinux-h: Likewise.
40686         * modules/signal: Likewise.
40687         * modules/spawn: Likewise.
40688         * modules/stdarg: Likewise.
40689         * modules/stdbool: Likewise.
40690         * modules/stddef: Likewise.
40691         * modules/stdint: Likewise.
40692         * modules/stdio: Likewise.
40693         * modules/stdlib: Likewise.
40694         * modules/string: Likewise.
40695         * modules/strings: Likewise.
40696         * modules/sys_file: Likewise.
40697         * modules/sys_ioctl: Likewise.
40698         * modules/sys_select: Likewise.
40699         * modules/sys_socket: Likewise.
40700         * modules/sys_stat: Likewise.
40701         * modules/sys_time: Likewise.
40702         * modules/sys_times: Likewise.
40703         * modules/sys_utsname: Likewise.
40704         * modules/sys_wait: Likewise.
40705         * modules/sysexits: Likewise.
40706         * modules/time: Likewise.
40707         * modules/unistd: Likewise.
40708         * modules/wchar: Likewise.
40709         * modules/wctype: Likewise.
40710
40711 2009-08-22  Jim Meyering  <meyering@redhat.com>
40712
40713         announce-gen: detect write failure
40714         * build-aux/announce-gen: Add Coda at end.
40715         Remove equivalent-but-more-verbose block at top.
40716
40717 2009-08-19  Akim Demaille  <demaille@gostai.com>
40718
40719         bootstrap: --help to stdout.
40720         * bootstrap (usage): Don't send --help to stderr.
40721         Use a here doc instead of a long string.
40722
40723 2009-08-21  Eric Blake  <ebb9@byu.net>
40724
40725         test-popen-safer: split from test-popen
40726         * tests/test-popen.c (main): Move...
40727         * tests/test-popen.h: ...into new file.
40728         * tests/test-popen-safer2.c: New file.
40729         * modules/popen-tests (Files): Add test-popen.h.
40730         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40731         Suggested by Bruno Haible.
40732
40733         test-fcntl-safer: split from test-open
40734         * tests/test-open.c (main): Move...
40735         * tests/test-open.h: ...into new file.
40736         * tests/test-fcntl-safer.c: New file.
40737         * modules/open-tests (Files): Add test-open.h.
40738         * modules/fcntl-safer-tests: New file.
40739         Suggested by Bruno Haible.
40740
40741         test-fopen-safer: split from test-fopen
40742         * tests/test-fopen.c (main): Move...
40743         * tests/test-fopen.h: ...into new file.
40744         * tests/test-fopen-safer.c: New file.
40745         * modules/fopen-tests (Files): Add test-fopen.h.
40746         * modules/fopen-safer-tests: New file.
40747         Suggested by Bruno Haible.
40748
40749 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40750
40751         popen-safer: test O_CLOEXEC at run-time.
40752         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40753
40754 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40755
40756         fcntl: move more flags to the header
40757         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40758         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40759         * lib/fcntl.in.h: Do both things here.
40760
40761 2009-08-21  Jim Meyering  <meyering@redhat.com>
40762
40763         consistently remove $@-t before redirecting to it
40764         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40765         * modules/alloca-opt: Likewise.
40766         * modules/byteswap: Likewise.
40767         * modules/fnmatch: Likewise.
40768         * modules/getopt-posix: Likewise.
40769         * modules/glob: Likewise.
40770         * modules/poll: Likewise.
40771         * modules/posix_spawnp-tests: Likewise.
40772         * modules/sys_socket: Likewise.
40773         * modules/sysexits: Likewise.
40774
40775 2009-08-21  Eric Blake  <ebb9@byu.net>
40776
40777         popen: simplify access to original popen
40778         * lib/popen.c (rpl_popen): No need to worry about popen being a
40779         macro.
40780         Reported by Bruno Haible.
40781
40782 2009-08-20  Eric Blake  <ebb9@byu.net>
40783
40784         build: avoid some compiler warnings
40785         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40786         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40787         type.
40788         (new_exclude_segment, excluded_file_pattern_p)
40789         (excluded_file_name_p): Reduce scope.
40790         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40791         old-style declaration.
40792
40793 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40794
40795         * tests/test-exclude1.sh: Handle Windows EOL.
40796         * tests/test-exclude2.sh: Likewise.
40797         * tests/test-exclude3.sh: Likewise.
40798         * tests/test-exclude4.sh: Likewise.
40799         * tests/test-exclude5.sh: Likewise.
40800         * tests/test-exclude6.sh: Likewise.
40801         * tests/test-exclude7.sh: Likewise.
40802
40803 2009-08-19  Akim Demaille  <demaille@gostai.com>
40804
40805         bootstrap: find sha1sum when named gsha1sum.
40806         * bootstrap (find_tool): New.
40807         ($SHA1SUM): New.
40808         Use it.
40809
40810 2009-08-20  Jim Meyering  <meyering@redhat.com>
40811
40812         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40813         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40814         expression that converts "." in a file name to "\." in the resulting
40815         regexp.  Start with a dummy statement, so that prior shell variable
40816         definitions are expanded portably.  Reported by Simon Josefsson.
40817
40818 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40819
40820         Fix polling for writeability of a screen buffer.
40821         * lib/poll.c: Distinguish input and screen buffers for the
40822         Win32 implementation.
40823         * lib/select.c: Likewise.
40824
40825 2009-08-19  Eric Blake  <ebb9@byu.net>
40826
40827         popen-safer: prevent popen from clobbering std descriptors
40828         * modules/popen-safer: New file.
40829         * lib/popen-safer.c: Likewise.
40830         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40831         * lib/stdio--.h (popen): Provide override.
40832         * lib/stdio-safer.h (popen_safer): Provide declaration.
40833         * tests/test-popen.c (includes): Partially test this.
40834         * modules/popen-safer-tests: New file, for more tests.
40835         * tests/test-popen-safer.c: Likewise.
40836         * MODULES.html.sh (file stream based Input/Output): Mention it.
40837
40838         tests: test some of the *-safer modules
40839         * modules/fopen-safer (Depends-on): Add fopen.
40840         * modules/fcntl-safer (Depends-on): Add fcntl.
40841         * modules/stdlib-safer (Depends-on): Add stdlib.
40842         (configure.ac): Set indicator.
40843         * modules/unistd-safer (configure.ac): Likewise.
40844         * modules/tmpfile-safer (configure.ac): Likewise.
40845         (Depends-on): Add tmpfile.
40846         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40847         active.
40848         * tests/test-fopen.c (includes): Test safer versions when they are
40849         in use.
40850         * tests/test-open.c (includes): Likewise.
40851
40852         popen: fix cygwin 1.5 bug when stdin closed
40853         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40854         * modules/popen: New file.
40855         * modules/popen-tests: Likewise.
40856         * tests/test-popen.c: Likewise.
40857         * m4/popen.m4: Likewise.
40858         * lib/popen.c: Likewise.
40859         * lib/stdio.in.h (popen): New declaration.
40860         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40861         * modules/stdio (Makefile.am): Likewise.
40862         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40863
40864 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40865
40866         maint.mk: give full control over update-copyright exclusions
40867         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40868         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40869         (update-copyright): Don't force inclusion of top-level
40870         ChangeLog.  Don't force exclusion of all COPYING files, but make
40871         them the default exclusion instead.
40872
40873 2009-08-16  Bruno Haible  <bruno@clisp.org>
40874
40875         Fix test failures on Solaris 10.
40876         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40877         tests when Solaris iconv() is used.
40878         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40879         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40880         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40881         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40882         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40883
40884 2009-08-16  Bruno Haible  <bruno@clisp.org>
40885
40886         Fix test failures on Solaris 10.
40887         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40888         'tr' program and pass it as first argument.
40889         * tests/test-pipe-filter-gi1.sh: Likewise.
40890         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40891         program as first argument.
40892         * tests/test-pipe-filter-gi1.c (main): Likewise.
40893
40894 2009-08-16  Eric Blake  <ebb9@byu.net>
40895
40896         fpurge: fix previous commits
40897         * modules/fpurge (Makefile.am): Make replacement conditional,
40898         partially reverting 2007-04-29 change; missed in previous
40899         attempt.
40900         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40901         is missing.
40902
40903 2009-08-16  Bruno Haible  <bruno@clisp.org>
40904
40905         Clarify fpurge's effect on the file position.
40906         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40907         * tests/test-fpurge.c (main): Make a second pass for checking the file
40908         position.
40909
40910 2009-08-16  Bruno Haible  <bruno@clisp.org>
40911
40912         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40913         declaration of fpurge is missing.
40914         * tests/test-fpurge.c (main): Check that the file has not more contents
40915         than expected. Close the file before removing it.
40916
40917 2009-08-15  Eric Blake  <ebb9@byu.net>
40918
40919         fpurge: don't wrap working cygwin implementation
40920         * lib/fpurge.c (fpurge): Fix comment typo.
40921         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
40922         1.7 to avoid replacement.
40923         * tests/test-fpurge.c (main): Enhance test.
40924
40925 2009-08-15  Eric Blake  <ebb9@byu.net>
40926         and Jim Meyering  <meyering@redhat.com>
40927
40928         test-update-copyright: skip if perl is insufficient
40929         * tests/test-update-copyright.sh: Failure to run maintainer tool
40930         should not cause testsuite failure on cygwin 1.5.
40931
40932 2009-08-14  Eric Blake  <ebb9@byu.net>
40933
40934         doc: mention more functions added in cygwin 1.7.0
40935         * doc/posix-headers/limits.texi (limits.h): Update for recent
40936         cygwin additions.
40937         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
40938         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
40939         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
40940         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
40941         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
40942
40943 2009-08-14  Eric Blake  <ebb9@byu.net>
40944
40945         maint.mk: simplify update-copyright rule
40946         * top/maint.mk (update-copyright-local): Delete, and document how
40947         to do it in cfg.mk instead.
40948         (update-copyright-exclude-regexp): Delete, and document how to do
40949         it in .x-update-copyright instead.
40950         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
40951         exclude ChangeLog.
40952
40953 2009-08-14  Bruno Haible  <bruno@clisp.org>
40954
40955         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
40956
40957 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40958
40959         maint.mk: support update-copyright-env
40960         * top/maint.mk (update-copyright-env): Define place-holder.
40961         (update-copyright): Expand $(update-copyright-env) before
40962         invoking update-copyright.
40963
40964 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40965
40966         update-copyright: implement forced reformatting
40967         * build-aux/update-copyright: Implement and document
40968         UPDATE_COPYRIGHT_FORCE.
40969         * tests/test-update-copyright.sh: Test it.
40970
40971 2009-08-14  Eric Blake  <ebb9@byu.net>
40972         and Bruno Haible  <bruno@clisp.org>
40973
40974         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
40975         * tests/test-locale.c: Revert previous patch related to NULL.
40976         * tests/test-stdio.c: Likewise.
40977         * tests/test-stdlib.c: Likewise.
40978         * tests/test-string.c: Likewise.
40979         * tests/test-unistd.c: Likewise.
40980         * modules/time-tests (Depends-on): Add verify.
40981         * modules/wchar-tests (Depends-on): Likewise.
40982         * tests/test-time.c: Test for NULL compliance.
40983         * tests/test-wchar.c: Likewise.
40984         * modules/locale (Depends-on): Add stddef.
40985         * modules/stdio (Depends-on): Likewise.
40986         * modules/stdlib (Depends-on): Likewise.
40987         * modules/string (Depends-on): Likewise.
40988         * modules/time (Depends-on): Likewise.
40989         * modules/unistd (Depends-on): Likewise.
40990         * modules/wchar (Depends-on): Likewise.
40991         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
40992         * lib/stdlib.in.h (includes): Likewise.
40993         * lib/string.in.h (includes): Likewise.
40994         * lib/time.in.h (includes): Likewise.
40995         * lib/unistd.in.h (includes): Likewise.
40996         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
40997         replaced.
40998         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40999         * m4/stddef_h.m4: New file.
41000         * modules/stddef: Likewise.
41001         * lib/stddef.in.h: Likewise.
41002         * modules/stddef-tests: Likewise.
41003         * tests/test-stddef.c: Likewise.
41004         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41005         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41006         * doc/posix-headers/locale.texi (locale.h): Likewise.
41007         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41008         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41009         * doc/posix-headers/string.texi (string.h): Likewise.
41010         * doc/posix-headers/time.texi (time.h): Likewise.
41011         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41012         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41013
41014 2009-08-14  Eric Blake  <ebb9@byu.net>
41015
41016         doc: improve git diff of texinfo files
41017         * .gitattributes: Add rule for *.texi files, with hint on how to
41018         use it.
41019         Copied from m4, and based on a report by Bruno Haible.
41020
41021 2009-08-14  Bruno Haible  <bruno@clisp.org>
41022
41023         Disable multithread support by default on Cygwin 1.5.x for real.
41024         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41025
41026 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41027
41028         update-copyright: much ado about intervals
41029         * build-aux/update-copyright: Implement and document
41030         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41031         of copyright year intervals.
41032         Also, document UPDATE_COPYRIGHT_YEAR.
41033         * tests/test-update-copyright.sh: Test it.
41034
41035         update-copyright: convert 2-digit to 4-digit years
41036         * build-aux/update-copyright: Implement and document.
41037         * tests/test-update-copyright.sh: Update.
41038
41039 2009-08-14  Jim Meyering  <meyering@redhat.com>
41040
41041         test-exclude: avoid coreutils "make check" failure
41042         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41043         just as in test-argmatch.c.
41044
41045 2009-08-13  Eric Blake  <ebb9@byu.net>
41046
41047         test-dup2: fix bad assumption
41048         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41049         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41050
41051         test-version-etc: fix CRLF portability issue
41052         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41053         recognize \r.
41054         * tests/test-argp-version-etc-1.sh: Likewise.
41055
41056         getopt: update client modules
41057         * modules/argp (Depends-on): Use getopt-gnu.
41058         * modules/git-merge-changelog (Depends-on): Likewise.
41059         * modules/long-options (Depends-on): Likewise.
41060         * modules/xstrtol (Depends-on): Likewise.
41061
41062 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41063
41064         * tests/test-version-etc.sh: Don't fail on different
41065         project/version.  Don't fail on CRLF differences.  Rewrite to use
41066         multiple -e instead of multiple sed forks, suggested by Eric Blake
41067         <ebb9@byu.net>.
41068         * tests/test-argp-version-etc-1.sh: Likewise.
41069
41070 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41071
41072         * tests/test-version-etc.sh: Don't fail on different
41073         project/version.
41074
41075 2009-08-12  Bruno Haible  <bruno@clisp.org>
41076
41077         Tests for modules 'getopt-posix', 'getopt-gnu'.
41078         * modules/getopt-posix-tests: New file.
41079         * tests/test-getopt.c: New file.
41080         * tests/test-getopt.h: New file.
41081         * tests/test-getopt_long.h: New file.
41082
41083         New modules 'getopt-posix', 'getopt-gnu'.
41084         * modules/getopt-gnu: New file, renamed from modules/getopt.
41085         * modules/getopt-posix: New file.
41086         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41087         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41088         (gl_GETOPT): Remove macro.
41089         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41090         Disable the test against BSD systems that declare optreset. Test
41091         against mingw bug. Test against lack of support of optional arguments
41092         on many platforms.
41093         * doc/glibc-headers/getopt.texi: Update module name and list of
41094         relevant platforms.
41095         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41096         'getopt-gnu' and more portability problems.
41097         * NEWS: Mention the changes.
41098
41099 2009-08-12  Bruno Haible  <bruno@clisp.org>
41100
41101         Ensure that optarg etc. get declared by <unistd.h>.
41102         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41103         AC_USE_SYSTEM_EXTENSIONS.
41104         * modules/getopt (Depends-on): Add 'extensions'.
41105
41106 2009-08-12  Bruno Haible  <bruno@clisp.org>
41107
41108         Avoid test link errors.
41109         * modules/pipe-filter-ii-tests (Makefile.am): Define
41110         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41111         * modules/pipe-filter-gi-tests (Makefile.am): Define
41112         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41113         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41114
41115 2009-08-12  Bruno Haible  <bruno@clisp.org>
41116
41117         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41118         gl_GETOPT_SUBSTITUTE before.
41119         (gl_GETOPT): Use it.
41120         * m4/argp.m4 (gl_ARGP): Update.
41121         Reported by Sergey Poznyakoff.
41122
41123         * m4/getopt.m4: Reorder macros.
41124         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41125         (gl_GETOPT_SUBSTITUTE): Remove macro.
41126
41127 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41128
41129         Minor improvement in gitlog-to-changelog
41130
41131         * build-aux/gitlog-to-changelog: New option `--format' makes
41132         output format string configurable.
41133
41134 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41135
41136         Optimize exclude: use hash tables for non-wildcard patterns.
41137
41138         * lib/exclude.c: Include hash.h and mbuiter.h
41139         (struct exclude_pattern, exclude_segment): New data types.
41140         (struct exclude): Rewrite.
41141         (fnmatch_pattern_has_wildcards): New function.
41142         (new_exclude_segment, free_exclude_segment): New functions.
41143         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41144         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41145         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41146         * modules/exclude: Depend on hash and mbuiter.
41147
41148         * modules/exclude-tests: New file.
41149         * tests/test-exclude.c: New file.
41150         * tests/test-exclude1.sh: New file.
41151         * tests/test-exclude2.sh: New file.
41152         * tests/test-exclude3.sh: New file.
41153         * tests/test-exclude4.sh: New file.
41154         * tests/test-exclude5.sh: New file.
41155         * tests/test-exclude6.sh: New file.
41156         * tests/test-exclude7.sh: New file.
41157
41158 2009-08-12  Bruno Haible  <bruno@clisp.org>
41159
41160         Ensure that getopt() gets declared by <unistd.h>.
41161         * lib/unistd.in.h: Conditionally include getopt.h.
41162         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41163         Set GNULIB_UNISTD_H_GETOPT.
41164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41165         GNULIB_UNISTD_H_GETOPT.
41166         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41167
41168 2009-08-12  Bruno Haible  <bruno@clisp.org>
41169
41170         Clarify logic.
41171         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41172         gl_replace_getopt instead of GETOPT_H.
41173
41174 2009-08-12  Bruno Haible  <bruno@clisp.org>
41175
41176         * m4/getopt.m4: Add comments.
41177
41178 2009-08-12  Bruno Haible  <bruno@clisp.org>
41179
41180         Disable multithread support by default on Cygwin 1.5.x.
41181         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41182         set gl_use_threads=no if not specified otherwise.
41183
41184 2009-08-11  Bruno Haible  <bruno@clisp.org>
41185
41186         Avoid compilation error on NetBSD 5.0.
41187         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41188         * tests/test-stdio.c: Likewise.
41189         * tests/test-stdlib.c: Likewise.
41190         * tests/test-string.c: Likewise.
41191         * tests/test-unistd.c: Likewise.
41192         Reported by Greg Troxel <gdt@ir.bbn.com>
41193         at <https://savannah.gnu.org/support/?106973>.
41194
41195 2009-08-11  Bruno Haible  <bruno@clisp.org>
41196
41197         * modules/dup2-tests (Depends-on): Remove close.
41198
41199         Undo 2009-07-19 commit.
41200         * modules/acl-tests (Depends-on): Remove close.
41201         * modules/binary-io-tests (Depends-on): Likewise.
41202         * modules/closein-tests (Depends-on): Likewise.
41203         * modules/flock-tests (Depends-on): Likewise.
41204         * modules/fsync-tests (Depends-on): Likewise.
41205         * modules/lseek-tests (Depends-on): Likewise.
41206         * modules/pipe-tests (Depends-on): Likewise.
41207         * modules/posix_spawn-tests (Depends-on): Likewise.
41208         * modules/posix_spawnp-tests (Depends-on): Likewise.
41209         * modules/stat-time-tests (Depends-on): Likewise.
41210         * modules/yesno-tests (Depends-on): Likewise.
41211
41212 2009-08-10  Bruno Haible  <bruno@clisp.org>
41213
41214         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41215
41216 2009-08-10  Bruno Haible  <bruno@clisp.org>
41217
41218         Fix a gcc warning.
41219         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41220
41221 2009-08-10  Bruno Haible  <bruno@clisp.org>
41222
41223         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41224         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41225         not only the first time.
41226         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41227         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41228         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41229         is 1, not only the the first time.
41230
41231 2009-08-10  Bruno Haible  <bruno@clisp.org>
41232
41233         Make it possible to use module 'gethostname' without module 'close'.
41234         * lib/unistd.in.h (close): Evoke a link error only if
41235         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41237         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41238         * modules/unistd (Makefile.am): Substitute
41239         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41240         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41241         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41242         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41243         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41244         * modules/sys_ioctl (Makefile.am): Substitute
41245         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41246         * modules/socket (configure.ac): On native Windows, set
41247         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41248         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41249         Reported by Sam Steingold <sds@gnu.org>.
41250
41251 2009-08-10  Bruno Haible  <bruno@clisp.org>
41252
41253         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41254         * modules/ioctl (configure.ac): Likewise.
41255
41256 2009-08-10  Bruno Haible  <bruno@clisp.org>
41257
41258         Avoid collision between gnulib wrapper and libintl wrapper.
41259         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41260         already defined in intl/printf.c.
41261         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41262         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41263
41264 2009-08-09  Bruno Haible  <bruno@clisp.org>
41265
41266         Make <sys/select.h> really self-contained, also on Solaris 10.
41267         * lib/sys_select.in.h: Include <string.h>.
41268         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41269         Solaris 10 problem.
41270         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41271         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41272         Reported by Jim Meyering.
41273
41274 2009-08-09  Bruno Haible  <bruno@clisp.org>
41275
41276         Avoid warnings from 'aclocal' that are due to a use of macro name
41277         AM_XGETTEXT_OPTION that is not defined in automake.
41278         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41279         automake.
41280         * modules/error (configure.ac): Likewise.
41281         * modules/propername (configure.ac): Likewise.
41282         * modules/vasprintf (configure.ac): Likewise.
41283         * modules/verror (configure.ac): Likewise.
41284         * modules/xprintf (configure.ac): Likewise.
41285         * modules/xvasprintf (configure.ac): Likewise.
41286
41287 2009-08-08  Bruno Haible  <bruno@clisp.org>
41288
41289         Avoid compilation error in C++ mode.
41290         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41291         Reported by Sam Steingold <sds@gnu.org>.
41292
41293 2009-08-08  Bruno Haible  <bruno@clisp.org>
41294
41295         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41296         for the various Unix platforms.
41297         * doc/posix-headers/limits.texi: Update platforms list regarding
41298         HOST_NAME_MAX.
41299         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41300
41301 2009-08-07  Jim Meyering  <meyering@redhat.com>
41302
41303         selinux-at: fix typo in a comment
41304         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41305         Spotted by Paolo Bonzini.
41306
41307         selinux-at: remove redundant m4 code, add documentation
41308         * modules/selinux-at (configure.ac): Remove redundant code.
41309         LIB_SELINUX is already set via the dependent module, selinux-h.
41310         (Include): Add quotes around selinux-at.h.
41311         * lib/selinux-at.h: Add documentation.
41312         Reported by Bruno Haible in
41313         http://marc.info/?l=gnulib-bug&m=124958988300749
41314
41315 2009-08-07  Bruno Haible  <bruno@clisp.org>
41316
41317         Avoid link error on MacOS X 10.3 and 10.4.
41318         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41319         on non-ELF systems.
41320         * lib/argp-pv.c (argp_program_version): Likewise.
41321         Reported by Simon Josefsson.
41322
41323 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41324
41325         * tests/test-version-etc.sh: Use $EXEEXT.
41326
41327 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41328
41329         update-copyright: update documentation to point to maint.mk
41330         * build-aux/update-copyright: Here.
41331
41332 2009-08-06  Jim Meyering  <meyering@redhat.com>
41333
41334         maint.mk: support update-copyright-local
41335         * top/maint.mk (update-copyright-local): Define place-holder.
41336         (update-copyright): Depend on $(update-copyright-local).
41337
41338 2009-08-06  Jim Meyering  <meyering@redhat.com>
41339
41340         selinux-at: new module
41341         Initially written for coreutils, this module will soon be
41342         used by findutils, too.
41343         * MODULES.html.sh [Misc]: Add selinux-at.
41344         * lib/selinux-at.h: New file, from coreutils.
41345         * lib/selinux-at.c: Likewise.
41346         * modules/selinux-at: Likewise.
41347         (License): Change from LGPL to GPL, since it depends
41348         on the GPL'd openat module.
41349
41350         doc: update README
41351         * README: Remove references to cogito.
41352         Remove cvs-repo-updating instructions from 2007.
41353         Don't imply that CVS is better if you have limited disk space.
41354
41355 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41356
41357         update-copyright: support C-style comments
41358         * build-aux/update-copyright: Implement and document.
41359         * tests/test-update-copyright.sh: Test.
41360
41361 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41362
41363         update-copyright: support omitted "(C)"
41364         * build-aux/update-copyright: Implement and document.  Also,
41365         allow variable whitespace before "(C)".
41366         * tests/test-update-copyright.sh: Test.
41367
41368 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41369
41370         update-copyright: don't trip on non-FSF copyright statements
41371         * build-aux/update-copyright: Fix so that the first correctly
41372         formatted FSF copyright statement is recognized no matter what
41373         appears before it.  Update documentation.
41374         * tests/test-update-copyright.sh: Test that.
41375
41376 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41377
41378         update-copyright: clean up code a little
41379         * build-aux/update-copyright: Append "_re" to the name of any
41380         variable holding a regular expression.
41381         Replace "old" and "new" with "stmt" in variable names.
41382         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41383         handled correctly.
41384         Format code more consistently.
41385
41386 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41387
41388         update-copyright-tests: improve portability
41389         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41390         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41391
41392 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41393
41394         update-copyright: support @copyright{} and &copy;
41395         * build-aux/update-copyright: Implement and document.
41396         * tests/test-update-copyright.sh: Test.
41397
41398 2009-08-04  Jim Meyering  <meyering@redhat.com>
41399
41400         update-copyright-tests: correctly test EOL=\r\n handling
41401         * tests/test-update-copyright.sh: Put \r at the end of some lines
41402         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41403
41404         maint.mk: make update-copyright exclusion list more configurable
41405         * top/maint.mk (update-copyright): Default to excluding COPYING,
41406         but allow an override, in case someone does want to update that file.
41407
41408         maint.mk: don't update copyright date in COPYING
41409         * top/maint.mk (update-copyright): Exclude COPYING.
41410
41411         maint.mk: add a copyright-updating rule
41412         * top/maint.mk (update-copyright): New rule.
41413         Derived from coreutils/Makefile.am.
41414
41415         update-copyright: rename some variables
41416         * build-aux/update-copyright: Rename a few variables for clarity.
41417         Tweak syntax.  List Joel E. Denny as coauthor.
41418
41419 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41420
41421         update-copyright: fix bug for 2-digit last year and add tests
41422         * build-aux/update-copyright: Fix bug.
41423         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41424         specified.
41425         * modules/update-copyright-tests: New
41426         * tests/test-update-copyright.sh: New.
41427
41428 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41429
41430         update-copyright: handle leading tabs in line prefix
41431         * build-aux/update-copyright: Count leading tabs as 8 spaces
41432         when computing margin.  This helps with the formatting of
41433         ChangeLogs, for example.
41434         Fix documentation a little.
41435
41436 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41437
41438         update-copyright: support EOL=\r\n
41439         * build-aux/update-copyright: Implement that.
41440
41441 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41442
41443         update-copyright: automatically format copyright statements
41444         * build-aux/update-copyright: Implement that.
41445         Also, be a little more predictable and safer by always failing
41446         when the full copyright format is not perfectly recognized as an
41447         unbroken whole.  Discussed at
41448         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41449         Rewrite documentation.
41450
41451 2009-08-03  Bruno Haible  <bruno@clisp.org>
41452
41453         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41454
41455 2009-08-02  Bruno Haible  <bruno@clisp.org>
41456
41457         Tests for module 'uname'.
41458         * modules/uname-tests: New file.
41459         * tests/test-uname.c: New file.
41460
41461         New module 'uname'.
41462         * lib/uname.c: New file.
41463         * m4/uname.m4: New file.
41464         * modules/uname: New file.
41465         * doc/posix-functions/uname.texi: Mention the new module.
41466
41467 2009-08-02  Bruno Haible  <bruno@clisp.org>
41468
41469         Tests for module 'sys_utsname'.
41470         * modules/sys_utsname-tests: New file.
41471         * tests/test-sys_utsname.c: New file.
41472
41473         New module 'sys_utsname'.
41474         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41475         * m4/sys_utsname_h.m4: New file.
41476         * modules/sys_utsname: New file.
41477         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41478
41479 2009-08-02  Bruno Haible  <bruno@clisp.org>
41480
41481         Implicitly initialize the sockets library.
41482         * lib/gethostname.c: Include sockets.h.
41483         (rpl_gethostname): Invoke gl_sockets_startup.
41484         * lib/socket.c: Include sockets.h.
41485         (rpl_socket): Invoke gl_sockets_startup.
41486         * modules/gethostname (Depends-on): Add sockets.
41487         * modules/socket (Depends-on): Likewise.
41488         * tests/test-poll.c: Don't include sockets.h.
41489         (main): Don't invoke gl_sockets_startup.
41490         * tests/test-select.c: Don't include sockets.h.
41491         (main): Don't invoke gl_sockets_startup.
41492
41493 2009-08-02  Bruno Haible  <bruno@clisp.org>
41494
41495         Allow multiple calls to gl_sockets_startup.
41496         * lib/sockets.c (initialized_sockets_version): New variable.
41497         (gl_sockets_startup): Do nothing if already called for this or a higher
41498         version.
41499         (gl_sockets_cleanup): Reset initialized_sockets_version.
41500
41501 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41502
41503         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41504         different project/version.
41505
41506 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41507             Bruno Haible  <bruno@clisp.org>
41508
41509         Tests for module 'pipe-filter-gi'.
41510         * modules/pipe-filter-gi-tests: New file.
41511         * tests/test-pipe-filter-gi1.sh: New file.
41512         * tests/test-pipe-filter-gi1.c: New file.
41513         * tests/test-pipe-filter-gi2.sh: New file.
41514         * tests/test-pipe-filter-gi2-main.c: New file.
41515         * tests/test-pipe-filter-gi2-child.c: New file.
41516
41517         New module 'pipe-filter-gi'.
41518         * lib/pipe-filter-gi.c: New file.
41519         * modules/pipe-filter-gi: New file.
41520
41521 2009-08-02  Bruno Haible  <bruno@clisp.org>
41522             Paolo Bonzini  <bonzini@gnu.org>
41523
41524         Tests for module 'pipe-filter-ii'.
41525         * modules/pipe-filter-ii-tests: New file.
41526         * tests/test-pipe-filter-ii1.sh: New file.
41527         * tests/test-pipe-filter-ii1.c: New file.
41528         * tests/test-pipe-filter-ii2.sh: New file.
41529         * tests/test-pipe-filter-ii2-main.c: New file.
41530         * tests/test-pipe-filter-ii2-child.c: New file.
41531
41532         New module 'pipe-filter-ii'.
41533         * lib/pipe-filter.h: New file.
41534         * lib/pipe-filter-ii.c: New file.
41535         * lib/pipe-filter-aux.h: New file.
41536         * modules/pipe-filter-ii: New file.
41537
41538 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41539
41540         * lib/gc-libgcrypt.c: Change copyright to FSF.
41541         * lib/gc-gnulib.c: Likewise.
41542
41543 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41544
41545         * lib/gethostname.c: Include limits.h.
41546
41547 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41548             Bruno Haible  <bruno@clisp.org>
41549
41550         Ensure HOST_NAME_MAX as part of the gethostname module.
41551         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41552         define also HOST_NAME_MAX.
41553         * tests/test-gethostname.c: Include <limits.h>.
41554         (main): Check also HOST_NAME_MAX.
41555         * doc/posix-headers/limits.texi: Document the mingw problem.
41556
41557 2009-08-02  Bruno Haible  <bruno@clisp.org>
41558
41559         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41560         Add comments.
41561
41562 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41563
41564         * lib/gethostname.c: Add Windows wrapper.
41565         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41566         * modules/gethostname: Depend on sys_socket & errno, for also
41567         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41568         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41569
41570 2009-07-31  Jim Meyering  <meyering@redhat.com>
41571
41572         getloadavg: fix symbol name in comment
41573         * lib/getloadavg.c: Correct a typo I introduced when adding
41574         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41575         Matt Kraai spotted the problem.
41576
41577 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41578
41579         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41580         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41581         code also if ! defined N_NAME_POINTER.
41582         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41583         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41584         but the n_name member is a 12-byte array.
41585
41586 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41587
41588         update-copyright: generalize comment handling
41589         * build-aux/update-copyright: Handle copyright statements
41590         within more comment styles.
41591         Document usage.
41592         Report any file with an external copyright holder or parse failure.
41593
41594 2009-07-29  Jim Meyering  <meyering@redhat.com>
41595
41596         mktime: correct setting of REPLACE_MKTIME
41597         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41598
41599         update-copyright: new module
41600         * modules/update-copyright: New file.
41601         * build-aux/update-copyright: New file.
41602         * MODULES.html.sh (maint+release support): Add update-copyright.
41603
41604 2009-07-27  Bruno Haible  <bruno@clisp.org>
41605
41606         Fix compilation error when <ctime> is used and mktime is replaced.
41607         * lib/time.in.h (mktime): New declaration.
41608         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41609         REPLACE_MKTIME instead of defining mktime in config.h.
41610         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41611         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41612         Reported by Ross McFarland <rwmcfa1@neces.com>.
41613
41614 2009-07-27  Bruno Haible  <bruno@clisp.org>
41615
41616         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41617         Reported by Matt Kraai <mkraai@beckman.com>.
41618
41619 2009-07-25  Jim Meyering  <meyering@redhat.com>
41620
41621         maint.mk: avoid warnings about missing files
41622         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41623         diagnostic when .prev-version does not exist.
41624         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41625         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41626         nonexistent cfg.mk.
41627         Suggestions from Simon Josefsson.
41628
41629 2009-07-25  Bruno Haible  <bruno@clisp.org>
41630
41631         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41632         defined as macros. Needed on QNX 6.4.1.
41633         Reported by Matt Kraai <mkraai@beckman.com>.
41634
41635 2009-07-23  Jim Meyering  <meyering@redhat.com>
41636
41637         maint.mk: invoke "make dist" with a working value of XZ_OPT
41638         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41639
41640 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41641
41642         Make fseeko.c compile on QNX.
41643         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41644
41645 2009-07-22  Peter Simons  <simons@cryp.to>
41646
41647         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41648         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41649         * lib/md4.h: Likewise.
41650         * lib/md5.h: Likewise.
41651         * lib/sha1.h: Likewise.
41652         * lib/sha256.h: Likewise.
41653         * lib/sha512.h: Likewise.
41654
41655         tests-sha1: don't assign literal string to 'char *' variable
41656         * tests/test-sha1.c (main): Declare locals with "const" to match
41657         attributes of the right hand side.
41658
41659 2009-07-21  Eric Blake  <ebb9@byu.net>
41660
41661         dup2: fix more mingw problems
41662         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41663         fd to itself.
41664         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41665         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41666         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41667         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41668         care of mingw bugs.
41669
41670 2009-07-21  Jim Meyering  <meyering@redhat.com>
41671
41672         vc-list-files: avoid failure when /bin/sh is dash
41673         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41674         On some Debian based systems, /bin/sh is a symlink to dash, and running
41675         this command would omit the "/" following each 'tests' prefix:
41676           dash -x build-aux/vc-list-files -C . tests
41677         That is because bash and dash work differently:
41678           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41679           bash ok
41680           dash odd
41681
41682 2009-07-21  Eric Blake  <ebb9@byu.net>
41683
41684         dup2-tests: test previous patch
41685         * modules/dup2-tests: New file.
41686         * tests/test-dup2.c: Likewise.
41687         * tests/test-open.c (main): Avoid unspecified behavior.
41688         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41689         test.
41690
41691         dup2: work around mingw and cygwin 1.5 bug
41692         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41694         * modules/unistd (Makefile.am): Substitute it.
41695         * lib/unistd.in.h (dup2): Declare the replacement.
41696         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41697         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41698         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41699         * modules/execute (Depends-on): Add dup2.
41700         * modules/fseterr (Depends-on): Likewise.
41701         * modules/pipe (Depends-on): Likewise.
41702         * modules/posix_spawn-internal (Depends-on): Likewise.
41703
41704 2009-07-21  Bruno Haible  <bruno@clisp.org>
41705
41706         * modules/.gitattributes: New file.
41707
41708 2009-07-20  Bruno Haible  <bruno@clisp.org>
41709
41710         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41711         (main): Use it.
41712
41713 2009-07-20  Eric Blake  <ebb9@byu.net>
41714
41715         test-pipe: make a bit more robust.
41716         * tests/test-pipe.c (myerr): Allow error messages regardless of
41717         what we do to stderr.
41718         (test_pipe): Rearrange to avoid deadlock.
41719         (child_main): Try a larger read, to ensure we avoided deadlock.
41720         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41721         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41722         if misused.
41723
41724 2009-07-19  Jim Meyering  <meyering@redhat.com>
41725
41726         fts: avoid false-positive cycle-detection
41727         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41728         for each new command line argument.
41729
41730 2009-07-19  Bruno Haible  <bruno@clisp.org>
41731
41732         Fix build error on mingw with the modules sys_select and unistd.
41733         * modules/acl-tests (Depends-on): Add close.
41734         * modules/binary-io-tests (Depends-on): Likewise.
41735         * modules/closein-tests (Depends-on): Likewise.
41736         * modules/flock-tests (Depends-on): Likewise.
41737         * modules/fsync-tests (Depends-on): Likewise.
41738         * modules/lseek-tests (Depends-on): Likewise.
41739         * modules/pipe-tests (Depends-on): Likewise.
41740         * modules/posix_spawn-tests (Depends-on): Likewise.
41741         * modules/posix_spawnp-tests (Depends-on): Likewise.
41742         * modules/stat-time-tests (Depends-on): Likewise.
41743         * modules/yesno-tests (Depends-on): Likewise.
41744
41745 2009-07-19  Bruno Haible  <bruno@clisp.org>
41746
41747         Unify conditionals.
41748         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41749         macros, not at the compiler macros.
41750         * lib/pipe.c: Likewise.
41751         * lib/execute.c: Likewise.
41752         * lib/spawni.c: Likewise.
41753
41754 2009-07-19  Bruno Haible  <bruno@clisp.org>
41755
41756         Fix handling of closed stdin/stdout/stderr on mingw.
41757         * lib/w32spawn.h: Include unistd.h.
41758         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41759         file descriptor with O_NOINHERIT flag.
41760         (fd_safer_noinherit): New function, based on fd-safer.c.
41761         (dup_safer_noinherit): New function, based on dup-safer.c.
41762         (undup_safer_noinherit): New function.
41763         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41764         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41765         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41766         instead of fd_safer.
41767         * tests/test-pipe.c: Include <windows.h>.
41768         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41769         result.
41770
41771         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41772         from main.
41773         (test_pipe): Pass an extra argument for disambiguation.
41774         (main): Invoke parent_main or child_main.
41775
41776         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41777         consistently.
41778
41779 2009-07-18  Eric Blake  <ebb9@byu.net>
41780
41781         test-pipe: fix mingw build
41782         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41783
41784 2009-07-18  Bruno Haible  <bruno@clisp.org>
41785
41786         * modules/pipe-tests (Makefile.am): Fix typo.
41787
41788 2009-07-18  Eric Blake  <ebb9@byu.net>
41789
41790         error: fix mingw build
41791         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41792         Reported by Bruno Haible.
41793
41794         error: avoid undefined use of stdout
41795         * lib/error.c (error, error_at_line): Check that fd 1 is open
41796         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41797         is handling faults and the close_stdout module wants to report the
41798         detection of closed stdout as an error.
41799
41800 2009-07-17  Eric Blake  <ebb9@byu.net>
41801
41802         pipe: be robust in face of closed fds
41803         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
41804         should cause child to misbehave.
41805         * modules/pipe-tests: New module.
41806         * tests/test-pipe.c: New file.
41807         * tests/test-pipe.sh: New file.
41808         Reported by Akim Demaille.
41809
41810 2009-07-14  Bruno Haible  <bruno@clisp.org>
41811
41812         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41813         Reported by anonymous kc.
41814
41815 2009-07-07  Jim Meyering  <meyering@redhat.com>
41816
41817         maint.mk: don't look for translatable strings in *.m4 or *.mk
41818         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41819         when searching for translatable strings.
41820
41821 2009-07-05  Jim Meyering  <meyering@redhat.com>
41822
41823         remove superfluous parentheses in STREQ definition
41824         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41825         * lib/getugroups.c (STREQ): Likewise.
41826         * lib/fnmatch.c (STREQ): Likewise.
41827         Spotted by Bruno Haible.
41828
41829 2009-07-04  Jim Meyering  <meyering@redhat.com>
41830
41831         argv-iter: new module
41832         * MODULES.html.sh: Add argv-iter.
41833         * lib/argv-iter.c, lib/argv-iter.h: New files.
41834         * modules/argv-iter: New file.
41835         * modules/argv-iter-tests: New file.
41836         * tests/test-argv-iter.c: Test it.
41837
41838 2009-07-04  Bruno Haible  <bruno@clisp.org>
41839
41840         Fix assertion.
41841         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41842         contains more exact copies of a given entry than file2, leave the extra
41843         copies unpaired rather than aborting.
41844         Reported by Eric Blake.
41845
41846 2009-07-02  Bruno Haible  <bruno@clisp.org>
41847
41848         Speedup git-merge-changelog for git cherry-pick.
41849         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41850         (entries_mapping_get): New function, extracted from compute_mapping.
41851         (entries_mapping_reverse_get): New function.
41852         (compute_mapping): Add a 'full' argument. Return the result in a
41853         'struct entries_mapping'.
41854         (main): Update. Access the mappings through entries_mapping_get.
41855         Reported by Eric Blake.
41856
41857 2009-07-02  Bruno Haible  <bruno@clisp.org>
41858
41859         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41860         best_i.
41861
41862 2009-07-02  Bruno Haible  <bruno@clisp.org>
41863
41864         Speed up approximate search for matching ChangeLog entries.
41865         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41866         argument. Call fstrcmp_bounded instead of fstrcmp.
41867         (compute_mapping, try_split_merged_entry, main): Update callers.
41868
41869 2009-07-02  Bruno Haible  <bruno@clisp.org>
41870
41871         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41872
41873 2009-06-30  Bruno Haible  <bruno@clisp.org>
41874
41875         Reduce the number of uc_is_cased calls.
41876         * lib/unicase.h (casing_suffix_context_t): Add
41877         'first_char_except_ignorable' field.
41878         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41879         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41880         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41881         Update initializer.
41882         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41883         case-ignorable characters.
41884         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41885         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41886         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41887         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41888         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41889
41890 2009-06-30  Bruno Haible  <bruno@clisp.org>
41891
41892         Tests for module 'unicase/ignorable'.
41893         * modules/unicase/ignorable-tests: New file.
41894         * tests/unicase/test-ignorable.c: New file, generated by
41895         gen-uni-tables.
41896
41897         Tests for module 'unicase/cased'.
41898         * modules/unicase/cased-tests: New file.
41899         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41900         * tests/unicase/test-predicate-part1.h: New file, derived from
41901         tests/unictype/test-predicate-part1.h.
41902         * tests/unicase/test-predicate-part2.h: New file, same as
41903         tests/unictype/test-predicate-part2.h.
41904
41905         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41906         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41907         (output_casing_properties): New function.
41908         (main): Call it.
41909         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41910         * lib/unicase/cased.c: Include unictype/bitmap.h.
41911         (uc_is_cased): Define through a bitmap lookup.
41912         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41913         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41914         (uc_is_case_ignorable): Define through a bitmap lookup.
41915         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
41916         lib/unictype/bitmap.h.
41917         (Depends-on): Add inline. Clean up.
41918         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
41919         lib/unictype/bitmap.h.
41920         (Depends-on): Add inline. Clean up.
41921         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
41922         recognition.
41923         * tests/unicase/test-u16-tolower.c (main): Likewise.
41924         * tests/unicase/test-u32-tolower.c (main): Likewise.
41925
41926 2009-06-30  Bruno Haible  <bruno@clisp.org>
41927
41928         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
41929         * lib/unicase/u16-casemap.c: Likewise.
41930         * lib/unicase/u32-casemap.c: Likewise.
41931
41932 2009-06-29  Bruno Haible  <bruno@clisp.org>
41933
41934         Define u32_casefold as a wrapper around u32_ct_casefold.
41935         * lib/unicase/u32-casefold.c: Update.
41936         * modules/unicase/u32-casefold (Depends-on): Add
41937         unicase/u32-ct-casefold, unicase/empty-prefix-context,
41938         unicase/empty-suffix-context. Clean up.
41939
41940         Define u16_casefold as a wrapper around u16_ct_casefold.
41941         * lib/unicase/u16-casefold.c: Update.
41942         * modules/unicase/u16-casefold (Depends-on): Add
41943         unicase/u16-ct-casefold, unicase/empty-prefix-context,
41944         unicase/empty-suffix-context. Clean up.
41945
41946         Define u8_casefold as a wrapper around u8_ct_casefold.
41947         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
41948         * lib/unicase/u8-casefold.c: Update.
41949         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
41950         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41951
41952         Define u32_totitle as a wrapper around u32_ct_totitle.
41953         * lib/unicase/u32-totitle.c: Update.
41954         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
41955         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41956
41957         Define u16_totitle as a wrapper around u16_ct_totitle.
41958         * lib/unicase/u16-totitle.c: Update.
41959         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
41960         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41961
41962         Define u8_totitle as a wrapper around u8_ct_totitle.
41963         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
41964         functions.
41965         (FUNC): Delegate to U_CT_TOTITLE.
41966         * lib/unicase/u8-totitle.c: Update.
41967         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
41968         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41969
41970         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
41971         invocation.
41972         * modules/unicase/u32-tolower (Depends-on): Add
41973         unicase/empty-prefix-context, unicase/empty-suffix-context.
41974
41975         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
41976         invocation.
41977         * modules/unicase/u16-tolower (Depends-on): Add
41978         unicase/empty-prefix-context, unicase/empty-suffix-context.
41979
41980         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
41981         * modules/unicase/u8-tolower (Depends-on): Add
41982         unicase/empty-prefix-context, unicase/empty-suffix-context.
41983
41984         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
41985         invocation.
41986         * modules/unicase/u32-toupper (Depends-on): Add
41987         unicase/empty-prefix-context, unicase/empty-suffix-context.
41988
41989         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
41990         invocation.
41991         * modules/unicase/u16-toupper (Depends-on): Add
41992         unicase/empty-prefix-context, unicase/empty-suffix-context.
41993
41994         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
41995         * modules/unicase/u8-toupper (Depends-on): Add
41996         unicase/empty-prefix-context, unicase/empty-suffix-context.
41997
41998         New module 'unicase/u32-ct-casefold'.
41999         * lib/unicase/u32-ct-casefold.c: New file.
42000         * modules/unicase/u32-ct-casefold: New file.
42001
42002         New module 'unicase/u16-ct-casefold'.
42003         * lib/unicase/u16-ct-casefold.c: New file.
42004         * modules/unicase/u16-ct-casefold: New file.
42005
42006         New module 'unicase/u8-ct-casefold'.
42007         * lib/unicase/u8-ct-casefold.c: New file.
42008         * lib/unicase/u-ct-casefold.h: New file, derived from
42009         lib/unicase/u-casefold.h.
42010         * modules/unicase/u8-ct-casefold: New file.
42011
42012         New module 'unicase/u32-ct-totitle'.
42013         * lib/unicase/u32-ct-totitle.c: New file.
42014         * modules/unicase/u32-ct-totitle: New file.
42015
42016         New module 'unicase/u16-ct-totitle'.
42017         * lib/unicase/u16-ct-totitle.c: New file.
42018         * modules/unicase/u16-ct-totitle: New file.
42019
42020         New module 'unicase/u8-ct-totitle'.
42021         * lib/unicase/u8-ct-totitle.c: New file.
42022         * lib/unicase/u-ct-totitle.h: New file, derived from
42023         lib/unicase/u-totitle.h.
42024         * modules/unicase/u8-ct-totitle: New file.
42025
42026         New module 'unicase/u32-ct-tolower'.
42027         * lib/unicase/u32-ct-tolower.c: New file.
42028         * modules/unicase/u32-ct-tolower: New file.
42029
42030         New module 'unicase/u16-ct-tolower'.
42031         * lib/unicase/u16-ct-tolower.c: New file.
42032         * modules/unicase/u16-ct-tolower: New file.
42033
42034         New module 'unicase/u8-ct-tolower'.
42035         * lib/unicase/u8-ct-tolower.c: New file.
42036         * modules/unicase/u8-ct-tolower: New file.
42037
42038         New module 'unicase/u32-ct-toupper'.
42039         * lib/unicase/u32-ct-toupper.c: New file.
42040         * modules/unicase/u32-ct-toupper: New file.
42041
42042         New module 'unicase/u16-ct-toupper'.
42043         * lib/unicase/u16-ct-toupper.c: New file.
42044         * modules/unicase/u16-ct-toupper: New file.
42045
42046         New module 'unicase/u8-ct-toupper'.
42047         * lib/unicase/u8-ct-toupper.c: New file.
42048         * modules/unicase/u8-ct-toupper: New file.
42049
42050         Add context arguments to u*_casemap functions.
42051         * lib/unicase/unicasemap.h: Include unicase.h.
42052         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42053         suffix_context arguments.
42054         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42055         functions.
42056         (FUNC): Add prefix_context and suffix_context arguments. Use
42057         uc_is_cased and uc_is_case_ignorable.
42058         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42059         * lib/unicase/u16-casemap.c: Likewise.
42060         * lib/unicase/u32-casemap.c: Likewise.
42061         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42062         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42063         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42064         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42065         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42066         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42067
42068         New module 'unicase/u32-suffix-context'.
42069         * lib/unicase/u32-suffix-context.c: New file.
42070         * modules/unicase/u32-suffix-context: New file.
42071
42072         New module 'unicase/u16-suffix-context'.
42073         * lib/unicase/u16-suffix-context.c: New file.
42074         * modules/unicase/u16-suffix-context: New file.
42075
42076         New module 'unicase/u8-suffix-context'.
42077         * lib/unicase/u8-suffix-context.c: New file.
42078         * lib/unicase/u-suffix-context.h: New file.
42079         * modules/unicase/u8-suffix-context: New file.
42080
42081         New module 'unicase/empty-suffix-context'.
42082         * lib/unicase/empty-suffix-context.c: New file.
42083         * modules/unicase/empty-suffix-context: New file.
42084
42085         New module 'unicase/u32-prefix-context'.
42086         * lib/unicase/u32-prefix-context.c: New file.
42087         * modules/unicase/u32-prefix-context: New file.
42088
42089         New module 'unicase/u16-prefix-context'.
42090         * lib/unicase/u16-prefix-context.c: New file.
42091         * modules/unicase/u16-prefix-context: New file.
42092
42093         New module 'unicase/u8-prefix-context'.
42094         * lib/unicase/u8-prefix-context.c: New file.
42095         * lib/unicase/u-prefix-context.h: New file.
42096         * lib/unicase/context.h: New file.
42097         * modules/unicase/u8-prefix-context: New file.
42098
42099         New module 'unicase/empty-prefix-context'.
42100         * lib/unicase/empty-prefix-context.c: New file.
42101         * modules/unicase/empty-prefix-context: New file.
42102
42103         New module 'unicase/ignorable'.
42104         * lib/unicase/ignorable.c: New file.
42105         * modules/unicase/ignorable: New file.
42106
42107         New module 'unicase/cased'.
42108         * lib/unicase/caseprop.h: New file.
42109         * lib/unicase/cased.c: New file.
42110         * modules/unicase/cased: New file.
42111
42112         New functions for case mapping of substrings.
42113         * lib/unicase.h (casing_prefix_context_t): New type.
42114         (unicase_empty_prefix_context): New variable.
42115         (u8_casing_prefix_context, u16_casing_prefix_context,
42116         u32_casing_prefix_context, u8_casing_prefixes_context,
42117         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42118         declarations.
42119         (casing_suffix_context_t): New type.
42120         (unicase_empty_suffix_context): New variable.
42121         (u8_casing_suffix_context, u16_casing_suffix_context,
42122         u32_casing_suffix_context, u8_casing_suffixes_context,
42123         u16_casing_suffixes_context, u32_casing_suffixes_context,
42124         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42125         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42126         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42127         declarations.
42128
42129 2009-06-28  Jim Meyering  <meyering@redhat.com>
42130
42131         boostrap: indent only with spaces
42132         * build-aux/bootstrap: Indent only with spaces, never TABs.
42133
42134         bootstrap: split long lines
42135         * build-aux/bootstrap: Keep line length < 80.
42136
42137         bootstrap: sync from coreutils
42138         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42139         just as autoreconf does.  Verify a list of prerequisite
42140         package-name,version-number pairs if defined in bootstrap.conf.
42141         Refer to README-prereq, if prerequisites are not satisfied.
42142
42143 2009-06-27  Eric Blake  <ebb9@byu.net>
42144
42145         tests: add test for bogus NULL definition
42146         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42147         * tests/test-stdlib.c: Likewise.
42148         * tests/test-string.c: Likewise.
42149         * tests/test-locale.c: Likewise.
42150         * tests/test-unistd.c: Likewise.
42151         * modules/stdio-tests (Depends-on): Add verify.
42152         * modules/stdlib-tests (Depends-on): Likewise.
42153         * modules/string-tests (Depends-on): Likewise.
42154         * modules/locale-tests (Depends-on): Likewise.
42155         * modules/unistd-tests (Depends-on): Likewise.
42156
42157 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42158
42159         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42160         self-explaining comment.
42161         * m4/selinux-selinux-h: Update serial.
42162         (gl_LIBSELINUX): New macro, adding a warning for missing development
42163         packages to code extracted from...
42164         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42165         Add warning for missing development packages here, too.
42166
42167 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42168
42169         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42170
42171 2009-06-25  Eric Blake  <ebb9@byu.net>
42172
42173         version-etc: fix regression
42174         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42175         gcc.
42176         (version_etc): Use it, to catch bugs with trailing NULL.
42177         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42178         (version_etc_va): Fix logic bug.
42179         * modules/version-etc-tests: Add test.
42180         * tests/test-version-etc.c: New file.
42181         * tests/test-version-etc.sh: Likewise.
42182
42183 2009-06-25  Sam Steingold  <sds@gnu.org>
42184
42185         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42186         mbtowc declaration.
42187
42188 2009-06-25  Eric Blake  <ebb9@byu.net>
42189
42190         fpurge: migrate into <stdio.h>
42191         * lib/fpurge.h: Delete...
42192         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42193         * lib/fpurge.c (fpurge): Change declaring header.
42194         * modules/fpurge (Files): Drop deleted file.
42195         (Depends-on): Add stdio.
42196         (configure.ac): Set witness.
42197         * modules/stdio (Makefile.am): Support fpurge macros.
42198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42199         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42200         * lib/fflush.c: Update client.
42201         * tests/test-fpurge.c: Likewise.
42202         * NEWS: Mention the change.
42203
42204 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42205
42206         * lib/argp-version-etc.c (program_authors): Add const
42207         qualifier.
42208         * lib/version-etc.c: Fix typos in the comments.
42209         * modules/argp-version-etc: Depends on version-etc.
42210
42211 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42212
42213         argp-version-etc: new module.
42214
42215         * lib/argp-version-etc.c: New file.
42216         * lib/argp-version-etc.h: New file.
42217         * modules/argp-version-etc: New file.
42218         * modules/argp-version-etc-tests: New file.
42219         * tests/test-argp-version-etc.c: New test.
42220         * tests/test-argp-version-etc-1.sh: New test.
42221
42222 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42223
42224         Provide additional interfaces and documentation for version-etc
42225         module.
42226
42227         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42228         interfaces.
42229         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42230         prototypes.
42231
42232 2009-06-24  Bruno Haible  <bruno@clisp.org>
42233
42234         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42235         HAVE_LIB${NAME} macro.
42236         Reported by Sam Steingold <sds@gnu.org>.
42237
42238 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42239
42240         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42241         needed.
42242
42243 2009-06-21  Bruno Haible  <bruno@clisp.org>
42244
42245         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42246         work.
42247         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42248         together with LIB${NAME}, LTLIB${NAME}.
42249         Reported by Sam Steingold <sds@gnu.org>.
42250
42251 2009-06-20  Jim Meyering  <meyering@redhat.com>
42252
42253         tests: make sc_require_test_exit_idiom more generic
42254         * top/maint.mk (Exit_witness_file): New overridable variable.
42255         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42256         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42257
42258 2009-06-19  Jim Meyering  <meyering@redhat.com>
42259
42260         hash: reverse order of src/dst parameters in an internal interface
42261         * lib/hash.c (transfer_entries): Reverse order of parameters to
42262         put DST before SRC.  Adjust callers.
42263
42264         tests: test-hash: avoid wholesale duplication
42265         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42266         Instead, use a loop and add a single conditional.
42267
42268         tests: test-hash: allow seed selection via a command line argument
42269         * tests/test-hash.c (get_seed): New function.
42270         (main): Use it.
42271
42272 2009-06-19  Eric Blake  <ebb9@byu.net>
42273
42274         hash: avoid memory leak on allocation failure
42275         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42276         failure.  Factor repeated algorithm...
42277         (transfer_entries): ...into new helper routine.
42278         (hash_delete): React to hash_rehash return value.
42279
42280         hash: reduce memory pressure in hash_rehash no-op case
42281         * lib/hash.c (next_prime): Avoid overflow.
42282         (hash_initialize): Factor bucket size computation...
42283         (compute_bucket_size): ...into new helper function.
42284         (hash_rehash): Use new function and open coding to reduce memory
42285         pressure, and avoid a memory leak in USE_OBSTACK code.
42286         Reported by Jim Meyering.
42287
42288 2009-06-18  Eric Blake  <ebb9@byu.net>
42289
42290         hash: make rotation more obvious
42291         * modules/hash (Depends-on): Add bitrotate and stdint.
42292         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42293         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42294         (SIZE_MAX): Rely on headers for definition.
42295         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42296         (raw_hasher): Use rotr_sz.
42297         Suggested by Jim Meyering.
42298
42299         hash: fix memory leak in last patch
42300         * lib/hash.c (hash_rehash): Avoid memory leak.
42301
42302         hash: avoid no-op rehashing
42303         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42304
42305         hash: provide default callback functions
42306         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42307         (hash_initialize): Use them as defaults.
42308         * tests/test-hash.c (main): Test this.
42309
42310         hash: minor optimization
42311         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42312         when possible.
42313         (hash_initialize): Document this promise.
42314         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42315         * tests/test-hash.c (hash_compare_strings): Test this.
42316
42317 2009-06-18  Bruno Haible  <bruno@clisp.org>
42318
42319         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42320         going to be replaced anyway.
42321
42322 2009-06-18  Bruno Haible  <bruno@clisp.org>
42323
42324         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42325         in one place.
42326         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42327         be replaced anyway.
42328
42329 2009-06-18  Eric Blake  <ebb9@byu.net>
42330
42331         hash: check for resize before insertion
42332         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42333         threshold before insertion, so that a pathological hash_rehash
42334         that fills every bucket can still trigger another rehash.
42335
42336 2009-06-18  Jim Meyering  <meyering@redhat.com>
42337
42338         hash-tests: add a loop around the small tests
42339         * tests/test-hash.c (main): Repeat small tests with selected
42340         small initial table sizes.
42341
42342 2009-06-17  Eric Blake  <ebb9@byu.net>
42343
42344         hash: minor cleanups
42345         * lib/hash.h (hash_entry): Make opaque, by moving...
42346         * lib/hash.c (hash_entry): ...here.
42347         (hash_insert): Clarify restrictions on what can be inserted.
42348         (hash_get_next): Clarify when it is safe to remove an element
42349         during traversal.
42350         (check_tuning): Skip verification when tuning is known safe.
42351         (hash_initialize): Clarify restrictions on tuning.
42352
42353 2009-06-17  Jim Meyering  <jim@meyering.net>
42354         and Eric Blake  <ebb9@byu.net>
42355
42356         hash-tests: new module
42357         * modules/hash-tests: New file.
42358         * tests/test-hash.c: New file.
42359
42360 2009-06-17  Eric Blake  <ebb9@byu.net>
42361
42362         strstr-simple: document new module
42363         * MODULES.html.sh: Document new module.
42364
42365         strstr, strcasestr: replace on platforms with broken memchr
42366         * modules/strstr: Split into...
42367         * modules/strstr-simple: ...new module that does not care about
42368         performance, but does care about glibc bug.
42369         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42370         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42371         if platform memchr is broken, per Debian bug 521737.
42372         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42373         memchr.
42374         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42375         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42376         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42377         * modules/mountlist (Depends-on): Add strstr-simple.
42378         * modules/gen-uni-tables (Depends-on): Likewise.
42379         * modules/argz (Depends-on): Add strstr.
42380
42381 2009-06-17  Bruno Haible  <bruno@clisp.org>
42382
42383         * modules/posix_spawn-internal (Depends-on): Add errno.
42384
42385 2009-06-17  Bruno Haible  <bruno@clisp.org>
42386
42387         Define missing ESTALE on Interix 3.5.
42388         * lib/errno.in.h (ESTALE): Assign a value if missing.
42389         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42390         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42391         missing.
42392         * doc/posix-headers/errno.texi: Mention the Interix bug.
42393         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42394
42395 2009-06-15  Eric Blake  <ebb9@byu.net>
42396
42397         memchr, memchr2: add valgrind exception
42398         * lib/memchr.valgrind: New file.
42399         * lib/memchr2.valgrind: New file.
42400         * modules/memchr (Files): Distribute valgrind file.
42401         * modules/memchr2 (Files): Likewise.
42402
42403         docs: memchr is no longer obsolete
42404         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42405         * lib/string.in.h (memchr): Simplify logic.
42406
42407 2009-06-14  Jim Meyering  <meyering@redhat.com>
42408
42409         link-follow: fix the "checking..." message to not mention trailing slash
42410         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42411         never considered trailing slashes.
42412
42413 2009-06-14  Bruno Haible  <bruno@clisp.org>
42414
42415         * m4/memchr.m4: Mention also the bug on IA-64.
42416         * doc/posix-functions/memchr.texi: Likewise.
42417
42418 2009-06-12  Eric Blake  <ebb9@byu.net>
42419
42420         memchr: detect broken x86_64 and alpha implementations
42421         * modules/memchr-tests (Depends-on): Move mmap detection...
42422         * modules/memchr (Depends-on): ...here.
42423         (configure.ac): Set indicator.
42424         * lib/string.in.h (memchr): Declare replacement.
42425         * modules/string (Makefile.am): Trigger replacement.
42426         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42427         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42428         bugs.
42429         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42430         * modules/getpagesize (License): Relax license.
42431
42432 2009-06-11  Bruno Haible  <bruno@clisp.org>
42433
42434         * lib/idpriv.h: Add more references.
42435
42436 2009-06-08  Bruno Haible  <bruno@clisp.org>
42437
42438         Tests for module 'idpriv-droptemp'.
42439         * modules/idpriv-droptemp-tests: New file.
42440         * tests/test-idpriv-droptemp.sh: New file.
42441         * tests/test-idpriv-droptemp.su.sh: New file.
42442         * tests/test-idpriv-droptemp.c: New file.
42443
42444         New module 'idpriv-droptemp'.
42445         * lib/idpriv-droptemp.c: New file.
42446         * modules/idpriv-droptemp: New file.
42447
42448 2009-06-08  Bruno Haible  <bruno@clisp.org>
42449
42450         Tests for module 'idpriv-drop'.
42451         * modules/idpriv-drop-tests: New file.
42452         * tests/test-idpriv-drop.sh: New file.
42453         * tests/test-idpriv-drop.su.sh: New file.
42454         * tests/test-idpriv-drop.c: New file.
42455
42456         New module 'idpriv-drop'.
42457         * lib/idpriv.h: New file.
42458         * lib-idpriv-drop.c: New file.
42459         * m4/idpriv.m4: New file.
42460         * modules/idpriv-drop: New file.
42461
42462 2009-06-08  Bruno Haible  <bruno@clisp.org>
42463
42464         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42465         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42466         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42467         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42468         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42469         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42470         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42471
42472 2009-06-08  Eric Blake  <ebb9@byu.net>
42473
42474         test-strstr: use memory fence, when possible
42475         * tests/test-strstr.c (main): Use memory fence, in order to be
42476         more likely to trigger Debian bug 521737.
42477         * modules/strstr-tests (Files): Pull in additional files.
42478
42479         memchr: no longer obsolete, for wider field testing
42480         * modules/memchr (Status, Notice): Delete, this module is no
42481         longer obsolete.
42482         * modules/vasnprintf (Depends-on): Add memchr.
42483
42484 2009-06-07  Jim Meyering  <meyering@redhat.com>
42485
42486         hash: declare some functions with the warn_unused_result attribute
42487         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42488
42489 2009-06-07  Bruno Haible  <bruno@clisp.org>
42490
42491         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42492         Reported by Eric Blake.
42493
42494 2009-06-06  Eric Blake  <ebb9@byu.net>
42495
42496         test-alignof: fix typo with long double
42497         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42498         compiler error.
42499
42500 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42501
42502         Escape non-texinfo { and }s.
42503         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42504         markup error.
42505
42506 2009-06-04  Jim Meyering  <meyering@redhat.com>
42507
42508         gitlog-to-changelog: don't infloop on an empty commit log
42509         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42510         Reported by Boris Petersen <transacid@centerim.org>.
42511
42512 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42513
42514         version-etc: extend for packagers
42515         Add three new configure options, intended for packagers:
42516           --with-packager="packager name"
42517           --with-packager-version="packager-specific version"
42518           --with-packager-bug-reports="packager bug reporting"
42519         An example with coreutils:
42520           $ ./configure \
42521             --with-packager=Gentoo \
42522             --with-packager-bug-report=http://bugs.gentoo.org/ \
42523             --with-packager-version="patchset 1.6"
42524           $ ./src/ls --version | head -n2
42525           ls (GNU coreutils) 7.1-dirty
42526           Packaged by Gentoo (patchset 1.6)
42527         Note that the bug reporting info via --help doesn't show up because
42528         coreutils uses its own custom emit_bug_reporting_address() implementation
42529         in src/system.h.  If it didn't, it'd look like:
42530           $ ./src/ls --help | tail -n4
42531           Report bugs to <bug-coreutils@gnu.org>.
42532           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42533           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42534           General help using GNU software: <http://www.gnu.org/gethelp/>.
42535         * lib/version-etc.c: Print new information, if provided.
42536         * m4/version-etc.m4: New file.
42537         * modules/version-etc (Files): Add m4/version-etc.m4.
42538         (configure.ac): Add gl_VERSION_ETC.
42539
42540 2009-05-31  Bruno Haible  <bruno@clisp.org>
42541
42542         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42543         and 'int64_t'.
42544         * modules/alignof-tests (Dependencies): Add stdint.
42545         Reported by Eric Blake.
42546
42547 2009-05-31  Bruno Haible  <bruno@clisp.org>
42548
42549         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42550         restriction due to compiler bugs.
42551         Reported by Eric Blake.
42552
42553 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42554             Bruno Haible  <bruno@clisp.org>
42555
42556         Fix test-alignof failure.
42557         * lib/alignof.h (alignof_slot): New macro.
42558         (alignof_type): New macro, with the same semantics as the previous
42559         'alignof'.
42560         (alignof): Alias to alignof_slot.
42561         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42562         check that the results are usable as constant expressions.
42563
42564 2009-05-31  Bruno Haible  <bruno@clisp.org>
42565
42566         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42567         * tests/test-memchr.c (main): Check that memchr does not read past the
42568         first occurrence of the byte.
42569         * tests/test-strstr.c (main): Update comment.
42570         Suggested by Eric Blake.
42571
42572 2009-05-30  Bruno Haible  <bruno@clisp.org>
42573
42574         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42575         detail how to use dumpbin.
42576         Reported by David Byron <dbyron@dbyron.com>.
42577
42578 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42579
42580         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42581
42582 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42583
42584         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42585
42586 2009-05-28  Bruno Haible  <bruno@clisp.org>
42587
42588         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42589         build-aux/ files.
42590
42591 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42592
42593         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42594
42595 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42596
42597         * gnulib-tool (sed_transform_main_lib_file)
42598         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42599         regexps.
42600
42601 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42602
42603         * tests/test-strstr.c: Add another self-test.
42604         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42605         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42606
42607 2009-05-23  Bruno Haible  <bruno@clisp.org>
42608
42609         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42610         change.
42611
42612 2009-05-21  Bruno Haible  <bruno@clisp.org>
42613
42614         Simplify use of mode_t varargs.
42615         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42616         uses 'mode_t' or 'int'.
42617         * lib/openat.c (openat): Likewise.
42618         * lib/open-safer.c (open_safer): Likewise.
42619         * m4/mode_t.m4: New file.
42620         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42621         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42622         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42623         * modules/open (Files): Add m4/mode_t.m4.
42624         * modules/openat (Files): Likewise.
42625         * modules/fcntl-safer (Files): Likewise.
42626         Suggested by Eric Blake.
42627
42628 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42629
42630         * doc/glibc-functions/fallocate.texi: New file.
42631         * doc/gnulib.texi: Include it.
42632
42633 2009-05-21  Eric Blake  <ebb9@byu.net>
42634             Bruno Haible  <bruno@clisp.org>
42635
42636         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42637         invocations.
42638         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42639
42640 2009-05-21  Eric Blake  <ebb9@byu.net>
42641             Bruno Haible  <bruno@clisp.org>
42642
42643         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42644         include_next. Fix of 2008-11-20 commit.
42645         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42646         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42647         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42648         NEXT_MATH_H.
42649         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42650         instead of NEXT_MATH_H.
42651
42652 2009-05-21  Bruno Haible  <bruno@clisp.org>
42653
42654         Avoid redefinition warnings for SIZE_MAX.
42655         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42656         Reported by Simon Josefsson.
42657
42658 2009-05-21  Bruno Haible  <bruno@clisp.org>
42659
42660         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42661         AC_CACHE_VAL.
42662
42663 2009-05-20  Bruno Haible  <bruno@clisp.org>
42664
42665         Make zeroptr.h work on mingw.
42666         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42667         mprotect.
42668         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42669         * modules/memchr2-tests (configure.ac): Likewise.
42670         * modules/memcmp-tests (configure.ac): Likewise.
42671         * modules/memmem-tests (configure.ac): Likewise.
42672         * modules/memrchr-tests (configure.ac): Likewise.
42673         Reported by Simon Josefsson.
42674
42675 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42676
42677         * tests/test-glob.c: Include string.h for strcmp prototype.
42678
42679 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42680
42681         * modules/getdelim (Depends-on): Add explicit stdint, although it
42682         was implicitly already pulled in via realloc-posix.
42683         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42684
42685 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42686
42687         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42688         G. Christensen" <tgc@jupiterrise.com>.
42689         * m4/sys_socket_h.m4: Check for sa_family_t.
42690         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42691         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42692         * tests/test-sys_socket.c: Check that sa_family_t works.
42693
42694 2009-05-18  Eric Blake  <ebb9@byu.net>
42695
42696         maint.mk: allow gnulib_dir in VPATH build
42697         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42698
42699 2009-05-15  Jim Meyering  <meyering@redhat.com>
42700
42701         maint.mk: Give gnulib_dir a default definition.
42702         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42703         Thus, most packages no longer need to specify this variable in cfg.mk
42704
42705 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42706
42707         rename.m4: fix typos that would make non-mingw cross-configure fail
42708         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42709
42710 2009-05-13  Eric Blake  <ebb9@byu.net>
42711
42712         mmap-anon: avoid out-of-order autoconf expansion
42713         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42714         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42715         * modules/memchr-tests (Depends-on): Add extensions.
42716         * modules/memchr2-tests (Depends-on): Add extensions.
42717         * modules/memcmp-tests (Depends-on): Add extensions.
42718         * modules/memmem-tests (Depends-on): Add extensions.
42719         * modules/memrchr-tests (Depends-on): Add extensions.
42720
42721 2009-05-13  Bruno Haible  <bruno@clisp.org>
42722
42723         Make some tests ISO C 99 compliant.
42724         * tests/zerosize-ptr.h: New file.
42725         * tests/test-memchr.c: Include zerosize-ptr.h.
42726         (main): Use a zero-size object pointer instead of NULL.
42727         * tests/test-memchr2.c: Include zerosize-ptr.h.
42728         (main): Use a zero-size object pointer instead of NULL.
42729         * tests/test-memcmp.c: Include zerosize-ptr.h.
42730         (main): Use a zero-size object pointer instead of NULL.
42731         * tests/test-memmem.c: Include zerosize-ptr.h.
42732         (main): Use a zero-size object pointer instead of NULL.
42733         * tests/test-memrchr.c: Include zerosize-ptr.h.
42734         (main): Use a zero-size object pointer instead of NULL.
42735         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42736         m4/mmap-anon.m4.
42737         (Depends-on): Add getpagesize.
42738         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42739         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42740         m4/mmap-anon.m4.
42741         (Depends-on): Add getpagesize.
42742         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42743         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42744         m4/mmap-anon.m4.
42745         (Depends-on): Add getpagesize.
42746         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42747         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42748         m4/mmap-anon.m4.
42749         (Depends-on): Add getpagesize.
42750         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42751         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42752         m4/mmap-anon.m4.
42753         (Depends-on): Add getpagesize.
42754         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42755
42756 2009-05-12  Bruno Haible  <bruno@clisp.org>
42757
42758         Tests for module 'alignof'.
42759         * modules/alignof-tests: New file.
42760         * tests/test-alignof.c: New file.
42761
42762 2009-05-12  Bruno Haible  <bruno@clisp.org>
42763
42764         Fix alignof macro.
42765         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42766         vendor compilers that are always correct.
42767
42768 2009-05-12  Bruno Haible  <bruno@clisp.org>
42769
42770         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42771         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42772         not whether its fully works.
42773
42774 2009-05-12  Bruno Haible  <bruno@clisp.org>
42775
42776         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42777
42778 2009-05-12  Jim Meyering  <meyering@redhat.com>
42779
42780         * top/maint.mk: Adjust backslash alignment.
42781
42782 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42783
42784         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42785
42786 2009-05-11  Eric Blake  <ebb9@byu.net>
42787
42788         argp: avoid undefined behavior
42789         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42790         macros.
42791
42792 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42793
42794         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42795         user.name to prevent git commit from complaining.
42796
42797 2009-05-10  Bruno Haible  <bruno@clisp.org>
42798
42799         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
42800         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
42801         it rewrites every file name only once.
42802         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
42803
42804 2009-05-08  Bruno Haible  <bruno@clisp.org>
42805
42806         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
42807         instead of 'max'.
42808
42809 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42810
42811         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42812         sockaddr_storage test.
42813
42814 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42815
42816         * modules/sys_socket (Makefile.am): Substitute
42817         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42818         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42819         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42820         * tests/test-sys_socket.c: Check sockaddr_storage.
42821
42822 2009-05-08  Bruno Haible  <bruno@clisp.org>
42823
42824         New module 'alignof'.
42825         * lib/alignof.h: New file.
42826         * modules/alignof: New file.
42827
42828 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42829             Bruno Haible  <bruno@clisp.org>
42830
42831         Fix test-file-has-acl on FreeBSD.
42832         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42833         mask is implicitly added.
42834         * tests/test-file-has-acl.c: Include <signal.h>.
42835         (main): Terminate the test after 5 seconds.
42836         * modules/acl-tests (configure.ac): Check for alarm function.
42837
42838 2009-05-04  Bruno Haible  <bruno@clisp.org>
42839
42840         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42841         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42842         * modules/errno (configure.ac): Drop AC_REQUIRE.
42843         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42844         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42845
42846 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42847
42848         * modules/glob-tests: New module.
42849         * tests/test-glob.c: Add.
42850
42851 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42852
42853         * modules/fnmatch-tests: New module.
42854         * tests/test-fnmatch.c: Add.
42855
42856 2009-05-04  Eric Blake  <ebb9@byu.net>
42857
42858         maint: make the new no-submodule-changes rule VPATH-safe
42859         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42860
42861 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42862             Bruno Haible  <bruno@clisp.org>
42863
42864         acl: Fix infinite loop on FreeBSD.
42865         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42866         of return value from acl_get_entry.
42867         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42868         Likewise.
42869
42870 2009-05-03  Bruno Haible  <bruno@clisp.org>
42871
42872         * lib/acl-internal.h (acl_entries): Clarify return value.
42873         * lib/acl_entries.c (acl_entries): Likewise.
42874
42875 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42876
42877         Bug fix in acl module.
42878         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42879
42880 2009-05-03  Bruno Haible  <bruno@clisp.org>
42881
42882         Create gperf-generated file in the source dir, not in the build dir.
42883         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42884         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42885         * modules/unicase/locale-language (unicase/locale-languages.h):
42886         Likewise.
42887         * modules/unicase/special-casing (unicase/special-casing-table.h):
42888         Likewise.
42889         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42890         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42891         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42892         Reported by Ralf Wildenhues.
42893
42894 2009-05-03  Bruno Haible  <bruno@clisp.org>
42895
42896         * modules/fnmatch (Description, configure.ac): Taken from
42897         fnmatch-posix.
42898         * modules/fnmatch-posix: Turn into a symbolic reference to the
42899         'fnmatch' module, and deprecate.
42900         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42901
42902 2009-05-03  Bruno Haible  <bruno@clisp.org>
42903
42904         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42905         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42906         Reported by Ralf Wildenhues.
42907
42908 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42909
42910         * m4/fnmatch.m4: Fix fnmatch re-define.
42911
42912 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42913
42914         priv-set: new module and tests; adapt write-any-file
42915         * lib/priv-set.c: New file.
42916         * lib/priv-set.h: New file.
42917         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
42918         * lib/write-any-file.c: Simplify by using priv-set module.
42919         * m4/priv-set.m4: New file.
42920         * modules/priv-set: New file.
42921         * modules/unlinkdir: Add dependency on priv-set module.
42922         * modules/write-any-file: Likewise.
42923
42924         Tests for module 'priv-set'.
42925         * modules/priv-set-tests: New file.
42926         * tests/test-priv-set.c: New file.
42927
42928 2009-05-03  Jim Meyering  <meyering@redhat.com>
42929             Bruno Haible  <bruno@clisp.org>
42930
42931         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
42932         use the converted UTF-8 variant of the name instead.
42933
42934 2009-05-03  Jim Meyering  <meyering@redhat.com>
42935
42936         tests: tighten some getdate tests
42937         * tests/test-getdate.c (main): Tighten tests: require equality,
42938         not just greater than.  Set TZ envvar to UTC0.
42939
42940 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
42941
42942         getdate: correctly interpret "next monday" when run on a Monday
42943         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
42944         that e.g., "next tues" (when run on a tuesday) results in a date
42945         that is one week in the future, and not today's date.
42946         I.e., add a week when the wday is the same as the current one.
42947         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
42948         and earlier by Martin Bernreuther and Jan Minář.
42949         * tests/test-getdate.c (main): Check that "next DAY" is always in
42950         the future and that "last DAY" is always in the past.
42951
42952 2009-05-02  Jim Meyering  <meyering@redhat.com>
42953
42954         build: ensure that a release build fails when a submodule is unclean
42955         * top/maint.mk (no-submodule-changes): New rule.
42956         (alpha beta major): Depend on it.
42957
42958 2009-05-02  Bruno Haible  <bruno@clisp.org>
42959
42960         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
42961         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
42962         shell variable gl_fnmatch_required to detect which variant is
42963         requested.
42964         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
42965         gl_FUNC_FNMATCH_POSIX.
42966         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
42967         exclude fnmatch-posix.
42968
42969 2009-05-02  Bruno Haible  <bruno@clisp.org>
42970
42971         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
42972         * modules/mbsrtowcs (License): Change to LGPLv2+.
42973         * modules/strnlen1 (License): Likewise.
42974         Reported by Simon Josefsson.
42975
42976 2009-05-02  Bruno Haible  <bruno@clisp.org>
42977
42978         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
42979         "cross".
42980         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
42981         gnulib-tool was called with option --source-base=lib.
42982
42983 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42984
42985         Use automake *-local hooks without commands, for extensibility.
42986         * modules/localcharset (Makefile.am): Rename install-exec-local
42987         rule to install-exec-localcharset, and make it a prerequisite of
42988         install-exec-local.  Likewise, rename the uninstall-local rule to
42989         uninstall-localcharset, and make it a prerequisite of the former.
42990
42991 2009-05-01  Bruno Haible  <bruno@clisp.org>
42992
42993         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
42994         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42995         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
42996         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
42997         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
42998         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42999         m4/locale-zh.m4, m4/codeset.m4.
43000
43001         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43002         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43003         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43004         m4/locale-zh.m4.
43005
43006         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43007         REPLACE_WCRTOMB if mbstate_t must be replaced.
43008         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43009         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43010
43011 2009-05-01  Bruno Haible  <bruno@clisp.org>
43012
43013         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43014         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43015         dngettext, dcngettext, textdomain, bindtextdomain,
43016         bind_textdomain_codeset): Undefine before redefining.
43017
43018 2009-04-30  Bruno Haible  <bruno@clisp.org>
43019
43020         Fix bug introduced on 2009-04-25.
43021         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43022         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43023         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43024         is defined.
43025         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43026         is defined.
43027         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43028         is defined.
43029         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43030
43031 2009-04-28  Bruno Haible  <bruno@clisp.org>
43032
43033         Comment tweaks.
43034         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43035         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43036         * lib/unicase.h (u*_casexfrm): Likewise.
43037         Reported by Paolo Bonzini.
43038
43039 2009-04-28  Bruno Haible  <bruno@clisp.org>
43040
43041         Fix a compilation error.
43042         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43043         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43044         Reported by Jim Meyering.
43045
43046 2009-04-27  Bruno Haible  <bruno@clisp.org>
43047
43048         New module 'libunistring'.
43049         * modules/libunistring: New file.
43050         * m4/libunistring.m4: New file.
43051         * MODULES.html.sh (Unicode string functions): Add it.
43052
43053 2009-04-27  Eric Blake  <ebb9@byu.net>
43054
43055         maint.mk: allow package-specific header to provide <config.h>
43056         * top/maint.mk (sc_require_config_h): New variable.
43057         (sc_require_config_h, sc_require_config_h_first): Use it.
43058
43059 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43060
43061         * top/maint.mk (sc_avoid_if_before_free): Except
43062         useless-if-before-free script.
43063
43064 2009-04-27  Eric Blake  <ebb9@byu.net>
43065
43066         maintainer-makefile: depend on all required helper scripts
43067         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43068         useless-if-before-free.
43069         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43070         version, rather than assuming gnulib checkout is available.
43071         Reported by Simen Josefsson.
43072
43073 2009-04-26  Bruno Haible  <bruno@clisp.org>
43074
43075         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43076         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43077         "../" or "..".
43078
43079 2009-04-26  Bruno Haible  <bruno@clisp.org>
43080
43081         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43082         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43083         AC_LIB_HAVE_LINKFLAGS.
43084
43085 2009-04-26  Bruno Haible  <bruno@clisp.org>
43086
43087         Simplify calling convention of u*_conv_from_encoding.
43088         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43089         u32_conv_from_encoding): Expect a resultbuf argument and return the
43090         result directly as a pointer.
43091         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43092         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43093         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43094         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43095         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43096         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43097         Update.
43098         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43099         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43100         * lib/vasnprintf.c (VASNPRINTF): Update.
43101         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43102         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43103         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43104         * NEWS: Mention the change.
43105
43106 2009-04-26  Bruno Haible  <bruno@clisp.org>
43107
43108         Simplify calling convention of u*_conv_to_encoding.
43109         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43110         u32_conv_to_encoding): Expect a resultbuf argument and return the
43111         result directly as a pointer.
43112         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43113         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43114         freeing scaled_offsets if mem_iconveha failed.
43115         * lib/unicase/u-casexfrm.h (FUNC): Update.
43116         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43117         * lib/vasnprintf.c (VASNPRINTF): Update.
43118         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43119         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43120         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43121         * NEWS: Mention the change.
43122
43123 2009-04-26  Bruno Haible  <bruno@clisp.org>
43124
43125         Avoid test failures on AIX and OSF/1.
43126         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43127         malloc(0).
43128         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43129         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43130         Likewise.
43131         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43132         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43133         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43134         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43135         * doc/posix-functions/malloc.texi: Document the portability problem
43136         related to malloc(0).
43137
43138 2009-04-26  Bruno Haible  <bruno@clisp.org>
43139
43140         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43141         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43142         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43143
43144 2009-04-25  Bruno Haible  <bruno@clisp.org>
43145
43146         Avoid link error when creating a namespace clean library.
43147         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43148         as macro with arguments if already defined as an alias.
43149         * lib/signbitf.c (gl_signbitf): Don't undefine.
43150         * lib/signbitd.c (gl_signbitd): Don't undefine.
43151         * lib/signbitl.c (gl_signbitl): Don't undefine.
43152
43153 2009-04-25  Jim Meyering  <meyering@redhat.com>
43154
43155         vc-list-files: fix another quoting bug
43156         * build-aux/vc-list-files: Avoid sed backslash expansion
43157         of pathological directory names.
43158
43159 2009-04-25  Eric Blake  <ebb9@byu.net>
43160
43161         vc-list-files: fix shell quoting error
43162         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43163         timestamp.
43164
43165 2009-04-25  Jim Meyering  <meyering@redhat.com>
43166
43167         vc-list-files: restore lost functionality with subdir argument
43168         * build-aux/vc-list-files: When given a non-"." sub-directory
43169         argument, substitute the $dir/ prefix back onto each resulting name.
43170         Otherwise, coreutils' root_tests check would fail.
43171
43172 2009-04-24  Eric Blake  <ebb9@byu.net>
43173
43174         vc-list-files: ignore git symlinks
43175         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43176         than ls-files, to ignore git symlinks.
43177
43178         maint.mk: import improvements from m4
43179         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43180         (move_if_change): Delete unused macro.
43181         (news-date-check, vc-diff-check): Support VPATH builds.
43182         (announcement): Likewise.  Split --bootstrap-tools list...
43183         (boostrap-tools): ...into separate list, which can be overridden
43184         in cfg.mk.
43185         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43186         requiring dependency on useless-if-before-free module.
43187         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43188         Support VPATH builds.
43189
43190 2009-04-24  Jim Meyering  <meyering@redhat.com>
43191
43192         maint.mk: remove coreutils-specific rules and variables
43193         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43194         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43195         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43196
43197         maint.mk: remove obsolete rule
43198         * top/maint.mk (rel-check): Remove rule.
43199         (WGET, WGETFLAGS): Remove now-unused variables.
43200
43201 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43202
43203         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43204         consistency.
43205
43206         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43207         '$(PATH_SEPARATOR)' instead of ':'.
43208
43209 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43210
43211         * lib/getopt1.c (main): Use 'const' for static array.
43212
43213 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43214
43215         * top/maint.mk: Sync with coreutils.
43216         * NEWS: Explain incompatibilities.
43217
43218 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43219             Bruno Haible  <bruno@clisp.org>
43220
43221         Fix cross-compilation results.
43222         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43223         statement, as third argument of AC_TRY_RUN.
43224         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43225         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43226         Likewise.
43227         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43228         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43229         Likewise.
43230         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43231         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43232         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43233
43234 2009-04-20  Bruno Haible  <bruno@clisp.org>
43235
43236         Avoid test failure on mingw.
43237         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43238
43239 2009-04-20  Bruno Haible  <bruno@clisp.org>
43240
43241         Avoid compilation error on mingw.
43242         * modules/localename-tests (Depends-on): Add locale.
43243
43244 2009-04-19  Bruno Haible  <bruno@clisp.org>
43245
43246         Support for building a shared library on Windows platforms.
43247         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43248         (main): Test the presence of UNINORM_NFC here.
43249         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43250         (main): Test the presence of UNINORM_NFD here.
43251         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43252         (main): Test the presence of UNINORM_NFKC here.
43253         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43254         (main): Test the presence of UNINORM_NFKD here.
43255
43256 2009-04-19  Bruno Haible  <bruno@clisp.org>
43257
43258         Avoid a compiler warning.
43259         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43260         Change type of variable 'sequence'.
43261
43262 2009-04-19  Bruno Haible  <bruno@clisp.org>
43263
43264         * modules/configmake (Makefile.am): When the contents of configmake.h
43265         does not change, arrange to preserve its modification time.
43266
43267 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43268
43269         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43270         gettext domain.
43271
43272 2009-04-16  Jim Meyering  <meyering@redhat.com>
43273
43274         useless-if-before-free: improve conversion code
43275         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43276         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43277
43278 2009-04-14  Bruno Haible  <bruno@clisp.org>
43279
43280         * modules/fcntl (Depends-on): Add extensions.
43281         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43282
43283 2009-04-12  Ben Pfaff  <blp@gnu.org>
43284
43285         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43286         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43287
43288 2009-03-20  Ben Pfaff  <blp@gnu.org>
43289
43290         Make rename replace existing destinations on Windows.
43291         * m4/rename.m4: Add test for Mingw.
43292         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43293         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43294         * doc/posix-functions/rename.texi: Document.
43295
43296 2009-04-10  Bruno Haible  <bruno@clisp.org>
43297
43298         New include file "iconveh.h".
43299         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43300         * lib/striconveh.h: Include it.
43301         (enum iconv_ilseq_handler): Remove definition.
43302         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43303         striconveh.h.
43304         * lib/striconveha.c: Include striconveh.h.
43305         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43306         * modules/striconveh (Files): Add lib/iconveh.h.
43307         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43308         lib/striconveh.h.
43309
43310 2009-04-10  Bruno Haible  <bruno@clisp.org>
43311
43312         * lib/uniconv.h: Update comment.
43313
43314 2009-04-10  Bruno Haible  <bruno@clisp.org>
43315
43316         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43317         always.
43318         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43319         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43320         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43321         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43322         "unistring-notinline.h", so that the function gets defined always.
43323         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43324         * lib/unistr/u8-uctomb.c: Likewise.
43325         * lib/unistr/u16-mbtouc.c: Likewise.
43326         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43327         * lib/unistr/u16-uctomb.c: Likewise.
43328         * lib/unistr/u32-mbtouc.c: Likewise.
43329         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43330         * lib/unistr/u32-uctomb.c: Likewise.
43331
43332 2009-04-10  Bruno Haible  <bruno@clisp.org>
43333
43334         Mark 'utime' obsolete.
43335         * modules/utime (Status, Notice): New sections.
43336         Suggested by Jim Meyering.
43337
43338         Fix cross-compile guess for utime test.
43339         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43340         autoconf.
43341         * doc/posix-functions/utime.texi: Give more precisions.
43342         Reported by Jan <ipif@ymail.com>.
43343
43344 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43345
43346         filevercmp: correct today's change
43347         * lib/filevercmp.c: Also handle coreutils' test inputs.
43348         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43349
43350         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43351         for reporting it.
43352         * lib/filevercmp.c: Special handle for "", "." and "..".
43353         * tests/test-filevercmp.c: Enlarge the set suite.
43354
43355 2009-04-07  Jim Meyering  <meyering@redhat.com>
43356
43357         useless-if-before-free: show how to remove braced useless free, too
43358         * build-aux/useless-if-before-free: still only in a comment, though.
43359
43360 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43361
43362         maint.mk: import changes to syntax-check macros from coreutils
43363         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43364         Use them in the relevant macros.
43365
43366 2009-04-06  Bruno Haible  <bruno@clisp.org>
43367
43368         Fix unportable use of bit-fields.
43369         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43370         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43371         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43372
43373 2009-04-06  Bruno Haible  <bruno@clisp.org>
43374
43375         Avoid test failures on AIX and OSF/1.
43376         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43377         that malloc(0) = NULL.
43378         * tests/unicase/test-u8-tolower.c (check): Likewise.
43379         * tests/unicase/test-u8-totitle.c (check): Likewise.
43380         * tests/unicase/test-u8-toupper.c (check): Likewise.
43381         * tests/unicase/test-u16-casefold.c (check): Likewise.
43382         * tests/unicase/test-u16-tolower.c (check): Likewise.
43383         * tests/unicase/test-u16-totitle.c (check): Likewise.
43384         * tests/unicase/test-u16-toupper.c (check): Likewise.
43385         * tests/unicase/test-u32-casefold.c (check): Likewise.
43386         * tests/unicase/test-u32-tolower.c (check): Likewise.
43387         * tests/unicase/test-u32-totitle.c (check): Likewise.
43388         * tests/unicase/test-u32-toupper.c (check): Likewise.
43389         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43390         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43391         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43392         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43393         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43394         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43395         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43396         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43397         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43398         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43399         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43400         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43401
43402 2009-04-05  Bruno Haible  <bruno@clisp.org>
43403
43404         Work around an autoconf limitation.
43405         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43406         comment line if it would be longer than 3 KB.
43407
43408 2009-04-05  Bruno Haible  <bruno@clisp.org>
43409
43410         Avoid test failure with libiconv-1.13.
43411         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43412         of the expected test results.
43413
43414 2009-04-05  Bruno Haible  <bruno@clisp.org>
43415
43416         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43417         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43418         that it should be installed.
43419
43420 2009-04-05  Bruno Haible  <bruno@clisp.org>
43421
43422         * gnulib-tool: New option --copy-file.
43423         (func_usage): Document it.
43424         (func_dest_tmpfilename): Moved out of func_import.
43425         (func_add_file, func_update_file): New functions, extracted from
43426         func_import.
43427         (func_import): Update.
43428
43429 2009-04-05  Karl Berry  <karl@gnu.org>
43430
43431         * README: prominently mention gnulib-tool.
43432         Rearrange sections so getting the code is near the top.
43433
43434 2009-04-05  Bruno Haible  <bruno@clisp.org>
43435
43436         * lib/unicase.h: Mention u*_cmp2.
43437         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43438         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43439         * lib/unicase/ulc-casecmp.c: Likewise.
43440         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43441         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43442         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43443         unistr/u8-cmp.
43444         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43445         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43446         unistr/u16-cmp.
43447         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43448         unistr/u32-cmp.
43449
43450         * lib/uninorm.h: Mention u*_cmp2.
43451         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43452         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43453         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43454         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43455         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43456         unistr/u8-cmp.
43457         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43458         unistr/u16-cmp.
43459         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43460         unistr/u32-cmp.
43461
43462         New module 'unistr/u32-cmp2'.
43463         * lib/unistr/u32-cmp2.c: New file.
43464         * modules/unistr/u32-cmp2: New file.
43465
43466         New module 'unistr/u16-cmp2'.
43467         * lib/unistr/u16-cmp2.c: New file.
43468         * modules/unistr/u16-cmp2: New file.
43469
43470         New module 'unistr/u8-cmp2'.
43471         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43472         * lib/unistr/u8-cmp2.c: New file.
43473         * lib/unistr/u-cmp2.h: New file.
43474         * modules/unistr/u8-cmp2: New file.
43475
43476 2009-04-05  Bruno Haible  <bruno@clisp.org>
43477
43478         * lib/unictype.h (uc_property_is_valid): New macro.
43479         * tests/unictype/test-pr_byname.c (main): Use it.
43480
43481         * lib/unistr.h: Doc fixes.
43482         * lib/uniconv.h: Doc fixes.
43483         * lib/unictype.h: Doc fixes.
43484
43485 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43486
43487         Port coreutils 7.2 to Solaris 8.
43488
43489         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43490         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43491         for Solaris 8.  This is a bit of a hack, as it means it's the
43492         caller's responsibility to add -lnsl if needed, but most likely it
43493         won't be needed since only getaddrinfo uses this and getaddrinfo
43494         isn't needed on Solaris 8.
43495
43496         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43497         problem to Solaris 8 encountered with coreutils 7.2, which
43498         resulted in a message "fnmatch.c:292: warning: passing argument 4
43499         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43500         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43501
43502 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43503
43504         * m4/ld-version-script.m4: Add FIXME comment.
43505
43506 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43507
43508         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43509         SOVERSION variable.
43510
43511 2009-04-02  Bruno Haible  <bruno@clisp.org>
43512
43513         * Makefile (info, html, dvi, pdf): Combine the rules.
43514         Suggested by Jim Meyering.
43515
43516 2009-04-01  Bruno Haible  <bruno@clisp.org>
43517
43518         * Makefile (info, html, dvi, pdf): New targets.
43519         Reported by Reuben Thomas <rrt@sc3d.org>.
43520
43521 2009-04-01  Bruno Haible  <bruno@clisp.org>
43522
43523         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43524         can be put into PATH.
43525         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43526
43527 2009-04-01  Bruno Haible  <bruno@clisp.org>
43528
43529         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43530
43531 2009-04-01  Bruno Haible  <bruno@clisp.org>
43532
43533         Rename module 'visibility'.
43534         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43535         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43536         * doc/gnulib.texi: Update.
43537         * MODULES.html.sh (Misc): Update.
43538         * NEWS: Mention the change.
43539
43540 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43541
43542         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43543         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43544         Eric Blake <ebb9@byu.net> for review.
43545         * MODULES.html.sh: Add lib-msvc-compat.
43546         * doc/gnulib.texi: Link to new section.
43547         * m4/ld-output-def.m4: New file.
43548         * doc/ld-output-def.texi: New file.
43549
43550 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43551
43552         Rename ld-version-script to lib-symbol-versions.  Suggested by
43553         Bruno Haible <bruno@clisp.org>.
43554         * modules/ld-version-script: Renamed to lib-symbol-versions.
43555         * doc/ld-version-script.texi: Fix module name.
43556         * MODULES.html.sh: Add lib-symbol-versions.
43557
43558 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43559
43560         * modules/u64-tests: New file.
43561         * tests/test-u64.c: New file.
43562
43563 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43564
43565         * MODULES.html.sh: Mention u64.
43566         * modules/u64: New module.
43567         * modules/crypto/sha512: Depend on u64 module instead of providing
43568         u64.h.
43569
43570 2009-03-27  Eric Blake  <ebb9@byu.net>
43571
43572         test-strerror: make debugging EAI_SYSTEM easier
43573         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43574         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43575         failure was EAI_SYSTEM.
43576
43577 2009-03-25  Bruno Haible  <bruno@clisp.org>
43578
43579         Fix a problem with --enable-relocatable on Solaris 7.
43580         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43581         since 2008-02-24.
43582
43583 2009-03-25  Eric Blake  <ebb9@byu.net>
43584
43585         test-sockets: avoid gcc warning
43586         * tests/test-sockets.c (main): Silence compiler warning.
43587
43588 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43589
43590         New modules nproc, pthread, contributed by Glen Lenker.
43591
43592         * MODULES.html.sh: Add pthread, nproc.
43593         * lib/nproc.c: New file.
43594         * lib/nproc.h: New file.
43595         * lib/pthread.in.h: New file.
43596         * m4/pthread.m4: New file.
43597         * modules/nproc: New file.
43598         * modules/pthread: New file.
43599
43600 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43601
43602         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43603         New variable.
43604
43605 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43606
43607         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43608         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43609         * tests/test-filevercmp.c: Add tests for backup suffixes.
43610
43611 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43612
43613         * modules/stdlib (Depends-on): Add stdint, needed when defining
43614         struct random_data on, for example, HP-UX 10.20.  Reported by
43615         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43616
43617 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43618
43619         * lib/readline.c (readline): Call fflush on stdout after printing
43620         prompt.
43621
43622 2009-03-20  Bruno Haible  <bruno@clisp.org>
43623
43624         Remove dependency from 'close' module to -lws2_32 on native Windows.
43625         * lib/close-hook.h: New file.
43626         * lib/close-hook.c: New file.
43627         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43628         w32sock.h.
43629         (_gl_close_fd_maybe_socket): Remove function.
43630         (rpl_close): Invoke execute_all_close_hooks instead of
43631         _gl_close_fd_maybe_socket.
43632         * lib/sockets.c: Include close-hook.h, w32sock.h.
43633         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43634         (close_sockets_hook): New variable.
43635         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43636         (gl_sockets_cleanup): Unregister it.
43637         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43638         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43639         * modules/close-hook: New file.
43640         * modules/close (Files): Remove lib/w32sock.h.
43641         (Depends-on): Add close-hook.
43642         (Link): Remove section.
43643         * modules/sockets (Files): Add lib/w32sock.h.
43644         (Depends-on): Add close-hook.
43645         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43646         invocation.
43647         * NEWS: Mention that LIB_CLOSE is gone.
43648
43649 2009-03-23  Eric Blake  <ebb9@byu.net>
43650
43651         signal-tests: test previous patch
43652         * tests/test-signal.c: New file.
43653         * modules/signal-tests: Likewise.
43654
43655         signal.h: always support 'volatile sig_atomic_t'
43656         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43657         (gl_SIGNAL_H_DEFAULTS): Add a default.
43658         * modules/signal (Makefile.am): Substitute if needed.
43659         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43660         users can blindly add volatile.
43661         * doc/posix-headers/signal.texi (signal.h): Document it.
43662         Reported by Matthew Woehlke.
43663
43664 2009-03-23  Jim Meyering  <meyering@redhat.com>
43665
43666         pathmax: PATH_MAX: use pathconf only when available
43667         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43668         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43669         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43670         This avoids a link failure in a PSP cross-compilation environment
43671         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43672
43673         * lib/vasnprintf.c (divide): Fix typo in comment.
43674
43675 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43676
43677         * gnulib-tool (func_filter_filelist): Fix comment.
43678
43679 2009-03-20  Bruno Haible  <bruno@clisp.org>
43680
43681         Make sockets.h self-contained.
43682         * lib/sockets.c: Include sockets.h first.
43683         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43684
43685 2009-03-19  Eric Blake  <ebb9@byu.net>
43686
43687         doc: mention more functions added in cygwin 1.7.0
43688         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43689         addition.
43690         * doc/posix-functions/log2f.texi: Likewise.
43691
43692 2009-03-19  Jim Meyering  <meyering@redhat.com>
43693
43694         fsusage: avoid syntax error due to statement-before-declaration
43695         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43696         after all declarations.  Reported by Matthew Woehlke in
43697         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43698
43699 2009-03-18  Eric Blake  <ebb9@byu.net>
43700
43701         build-aux/compile: sync from automake
43702         * build-aux/compile: New file, from automake.
43703         * config/srclist.txt: Mention build-aux/compile.
43704
43705 2009-03-17  Bruno Haible  <bruno@clisp.org>
43706
43707         * lib/git-merge-changelog.c: Fix typo in comment.
43708         Reported by Reuben Thomas <rrt@sc3d.org>.
43709
43710 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43711
43712         * m4/regex.m4: update and improve help for
43713         --without-included-regex.
43714
43715 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43716
43717         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43718         failure on missing include files.
43719
43720 2009-03-17  Eric Blake  <ebb9@byu.net>
43721
43722         doc: mention more functions added in cygwin 1.7.0
43723         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43724         addition.
43725         * doc/posix-functions/fwscanf.texi: Likewise.
43726         * doc/posix-functions/swprintf.texi: Likewise.
43727         * doc/posix-functions/swscanf.texi: Likewise.
43728         * doc/posix-functions/vfwprintf.texi: Likewise.
43729         * doc/posix-functions/vfwscanf.texi: Likewise.
43730         * doc/posix-functions/vswprintf.texi: Likewise.
43731         * doc/posix-functions/vswscanf.texi: Likewise.
43732         * doc/posix-functions/vwprintf.texi: Likewise.
43733         * doc/posix-functions/vwscanf.texi: Likewise.
43734         * doc/posix-functions/wcscasecmp.texi: Likewise.
43735         * doc/posix-functions/wcsdup.texi: Likewise.
43736         * doc/posix-functions/wcsftime.texi: Likewise.
43737         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43738         * doc/posix-functions/wprintf.texi: Likewise.
43739         * doc/posix-functions/wscanf.texi: Likewise.
43740         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43741
43742 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43743
43744         maint.mk: really add $(AM_MAKEFLAGS)
43745         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43746         was inadvertently omitted in the last commit.
43747         Spotted by Bruno Haible.
43748
43749         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43750         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43751         $(AM_MAKEFLAGS)' rather than plain `make'.
43752
43753         gnulib-tool: execute $MAKE not make
43754         * gnulib-tool: Default $MAKE to 'make'.
43755         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43756         than make.  Initialize $MAKE in the do-autobuild script.
43757
43758         gnulib-tool: use $MAKE not make in generated files
43759         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43760         make, in generated files.  Initialize $MAKE in the do-autobuild
43761         script.
43762
43763         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43764
43765         GNUmakefile: disable parallelism only for multiple, recursive targets
43766         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43767         additions in the Makefile.
43768         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43769         by Automake.
43770         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43771         are listed on the command line and at least one of them is
43772         listed in $(ALL_RECURSIVE_TARGETS).
43773
43774 2009-03-14  Bruno Haible  <bruno@clisp.org>
43775
43776         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43777         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43778         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43779         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43780         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43781         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43782         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43783         unistr/u8-uctomb.
43784         * modules/unistr/u8-strchr (Depends-on): Likewise.
43785         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43786         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43787         unistr/u16-uctomb.
43788         * modules/unistr/u16-strchr (Depends-on): Likewise.
43789         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43790
43791 2009-03-12  Bruno Haible  <bruno@clisp.org>
43792
43793         Work around select() bug on Interix 3.5.
43794         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43795         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43796         * m4/select.m4: New file.
43797         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
43798         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
43799         * modules/select (Files): Add m4/select.m4.
43800         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
43801         * modules/nanosleep (Depends-on): Add select.
43802         * modules/poll (Depends-on): Likewise.
43803         * doc/posix-functions/select.texi: Mention the Interix bug.
43804         Reported by Markus Duft <mduft@gentoo.org>.
43805
43806         * lib/select.c: Renamed from lib/winsock-select.c.
43807         * modules/select (Files): Add lib/select.c, remove
43808         lib/winsock-select.c.
43809         (configure.ac): Update.
43810
43811 2009-03-12  Jim Meyering  <meyering@redhat.com>
43812
43813         avoid gcc warnings about unused macro definitions
43814         * lib/readtokens.c (STREQ): Remove unused definition.
43815         * lib/xmalloc.c (SIZE_MAX): Likewise.
43816         * lib/openat-die.c (N_): Likewise.
43817         * lib/mountlist.c (SIZE_MAX): Remove definition.
43818         Instead, include <stdint.h>.
43819         * lib/readutmp.c: Likewise.
43820         * modules/readutmp (Depends-on): Add stdint.
43821         * modules/mountlist (Depends-on): Add stdint.
43822         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43823
43824 2009-03-10  Bruno Haible  <bruno@clisp.org>
43825
43826         Tests for module 'mbmemcasecoll'.
43827         * modules/mbmemcasecoll-tests: New file.
43828         * tests/test-mbmemcasecoll1.sh: New file.
43829         * tests/test-mbmemcasecoll2.sh: New file.
43830         * tests/test-mbmemcasecoll3.sh: New file.
43831         * tests/test-mbmemcasecoll.c: New file.
43832
43833         New module 'mbmemcasecoll'.
43834         * lib/mbmemcasecoll.h: New file.
43835         * lib/mbmemcasecoll.c: New file.
43836         * modules/mbmemcasecoll: New file.
43837
43838         * tests/test-mbmemcasecmp.h: New file, extracted from
43839         tests/test-mbmemcasecmp.c.
43840         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43841         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43842         (main): Update.
43843         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43844
43845 2009-03-09  Bruno Haible  <bruno@clisp.org>
43846
43847         Tests for module 'mbmemcasecmp'.
43848         * modules/mbmemcasecmp-tests: New file.
43849         * tests/test-mbmemcasecmp1.sh: New file.
43850         * tests/test-mbmemcasecmp2.sh: New file.
43851         * tests/test-mbmemcasecmp3.sh: New file.
43852         * tests/test-mbmemcasecmp.c: New file.
43853
43854         New module 'mbmemcasecmp'.
43855         * lib/mbmemcasecmp.h: New file.
43856         * lib/mbmemcasecmp.c: New file.
43857         * modules/mbmemcasecmp: New file.
43858
43859 2009-03-09  Bruno Haible  <bruno@clisp.org>
43860
43861         Tests for module 'unicase/ulc-casecoll'.
43862         * modules/unicase/ulc-casecoll-tests: New file.
43863         * tests/unicase/test-ulc-casecoll1.sh: New file.
43864         * tests/unicase/test-ulc-casecoll2.sh: New file.
43865         * tests/unicase/test-ulc-casecoll.c: New file.
43866
43867         New module 'unicase/ulc-casecoll'.
43868         * lib/unicase.h (ulc_casecoll): New declaration.
43869         * lib/unicase/ulc-casecoll.c: New file.
43870         * modules/unicase/ulc-casecoll: New file.
43871
43872         New module 'unicase/ulc-casexfrm'.
43873         * lib/unicase.h (ulc_casexfrm): New declaration.
43874         * lib/unicase/ulc-casexfrm.c: New file.
43875         * modules/unicase/ulc-casexfrm: New file.
43876
43877 2009-03-09  Bruno Haible  <bruno@clisp.org>
43878
43879         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43880         invocations.
43881
43882         * m4/mbscasecmp.m4: Remove file.
43883         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43884         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43885
43886         * m4/mbscasestr.m4: Remove file.
43887         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43888         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43889
43890         * m4/mbschr.m4: Remove file.
43891         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43892         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43893
43894         * m4/mbscspn.m4: Remove file.
43895         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43896         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43897
43898         * m4/mbslen.m4: Remove file.
43899         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43900         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43901
43902         * m4/mbsncasecmp.m4: Remove file.
43903         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43904         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43905
43906         * m4/mbsnlen.m4: Remove file.
43907         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43908         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43909
43910         * m4/mbspbrk.m4: Remove file.
43911         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43912         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43913
43914         * m4/mbspcasecmp.m4: Remove file.
43915         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
43916         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
43917
43918         * m4/mbsrchr.m4: Remove file.
43919         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
43920         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
43921
43922         * m4/mbssep.m4: Remove file.
43923         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
43924         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
43925
43926         * m4/mbsspn.m4: Remove file.
43927         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
43928         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
43929
43930         * m4/mbsstr.m4: Remove file.
43931         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
43932         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
43933
43934         * m4/mbstok_r.m4: Remove file.
43935         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
43936         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
43937
43938         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
43939
43940         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
43941         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
43942
43943         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
43944
43945 2009-03-08  Bruno Haible  <bruno@clisp.org>
43946
43947         Tests for module 'unicase/ulc-casecmp'.
43948         * modules/unicase/ulc-casecmp-tests: New file.
43949         * tests/unicase/test-ulc-casecmp1.sh: New file.
43950         * tests/unicase/test-ulc-casecmp2.sh: New file.
43951         * tests/unicase/test-ulc-casecmp.c: New file.
43952
43953         New module 'unicase/ulc-casecmp'.
43954         * lib/unicase.h (ulc_casecmp): New declaration.
43955         * lib/unicase/ulc-casecmp.c: New file.
43956         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
43957         'const SRC_UNIT *'.
43958         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
43959         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
43960         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
43961         * modules/unicase/ulc-casecmp: New file.
43962
43963         Tests for module 'unicase/u32-is-cased'.
43964         * modules/unicase/u32-is-cased-tests: New file.
43965         * tests/unicase/test-u32-is-cased.c: New file.
43966
43967         Tests for module 'unicase/u16-is-cased'.
43968         * modules/unicase/u16-is-cased-tests: New file.
43969         * tests/unicase/test-u16-is-cased.c: New file.
43970
43971         Tests for module 'unicase/u8-is-cased'.
43972         * modules/unicase/u8-is-cased-tests: New file.
43973         * tests/unicase/test-u8-is-cased.c: New file.
43974         * tests/unicase/test-is-cased.h: New file.
43975
43976         New module 'unicase/u32-is-cased'.
43977         * lib/unicase/u32-is-cased.c: New file.
43978         * modules/unicase/u32-is-cased: New file.
43979
43980         New module 'unicase/u16-is-cased'.
43981         * lib/unicase/u16-is-cased.c: New file.
43982         * modules/unicase/u16-is-cased: New file.
43983
43984         New module 'unicase/u8-is-cased'.
43985         * lib/unicase/u8-is-cased.c: New file.
43986         * lib/unicase/u-is-cased.h: New file.
43987         * modules/unicase/u8-is-cased: New file.
43988
43989         Tests for module 'unicase/u32-is-casefolded'.
43990         * modules/unicase/u32-is-casefolded-tests: New file.
43991         * tests/unicase/test-u32-is-casefolded.c: New file.
43992
43993         Tests for module 'unicase/u16-is-casefolded'.
43994         * modules/unicase/u16-is-casefolded-tests: New file.
43995         * tests/unicase/test-u16-is-casefolded.c: New file.
43996
43997         Tests for module 'unicase/u8-is-casefolded'.
43998         * modules/unicase/u8-is-casefolded-tests: New file.
43999         * tests/unicase/test-u8-is-casefolded.c: New file.
44000         * tests/unicase/test-is-casefolded.h: New file.
44001
44002         New module 'unicase/u32-is-casefolded'.
44003         * lib/unicase/u32-is-casefolded.c: New file.
44004         * modules/unicase/u32-is-casefolded: New file.
44005
44006         New module 'unicase/u16-is-casefolded'.
44007         * lib/unicase/u16-is-casefolded.c: New file.
44008         * modules/unicase/u16-is-casefolded: New file.
44009
44010         New module 'unicase/u8-is-casefolded'.
44011         * lib/unicase/u8-is-casefolded.c: New file.
44012         * modules/unicase/u8-is-casefolded: New file.
44013
44014         Tests for module 'unicase/u32-is-titlecase'.
44015         * modules/unicase/u32-is-titlecase-tests: New file.
44016         * tests/unicase/test-u32-is-titlecase.c: New file.
44017
44018         Tests for module 'unicase/u16-is-titlecase'.
44019         * modules/unicase/u16-is-titlecase-tests: New file.
44020         * tests/unicase/test-u16-is-titlecase.c: New file.
44021
44022         Tests for module 'unicase/u8-is-titlecase'.
44023         * modules/unicase/u8-is-titlecase-tests: New file.
44024         * tests/unicase/test-u8-is-titlecase.c: New file.
44025         * tests/unicase/test-is-titlecase.h: New file.
44026
44027         New module 'unicase/u32-is-titlecase'.
44028         * lib/unicase/u32-is-titlecase.c: New file.
44029         * modules/unicase/u32-is-titlecase: New file.
44030
44031         New module 'unicase/u16-is-titlecase'.
44032         * lib/unicase/u16-is-titlecase.c: New file.
44033         * modules/unicase/u16-is-titlecase: New file.
44034
44035         New module 'unicase/u8-is-titlecase'.
44036         * lib/unicase/u8-is-titlecase.c: New file.
44037         * modules/unicase/u8-is-titlecase: New file.
44038
44039         Tests for module 'unicase/u32-is-lowercase'.
44040         * modules/unicase/u32-is-lowercase-tests: New file.
44041         * tests/unicase/test-u32-is-lowercase.c: New file.
44042
44043         Tests for module 'unicase/u16-is-lowercase'.
44044         * modules/unicase/u16-is-lowercase-tests: New file.
44045         * tests/unicase/test-u16-is-lowercase.c: New file.
44046
44047         Tests for module 'unicase/u8-is-lowercase'.
44048         * modules/unicase/u8-is-lowercase-tests: New file.
44049         * tests/unicase/test-u8-is-lowercase.c: New file.
44050         * tests/unicase/test-is-lowercase.h: New file.
44051
44052         New module 'unicase/u32-is-lowercase'.
44053         * lib/unicase/u32-is-lowercase.c: New file.
44054         * modules/unicase/u32-is-lowercase: New file.
44055
44056         New module 'unicase/u16-is-lowercase'.
44057         * lib/unicase/u16-is-lowercase.c: New file.
44058         * modules/unicase/u16-is-lowercase: New file.
44059
44060         New module 'unicase/u8-is-lowercase'.
44061         * lib/unicase/u8-is-lowercase.c: New file.
44062         * modules/unicase/u8-is-lowercase: New file.
44063
44064         Tests for module 'unicase/u32-is-uppercase'.
44065         * modules/unicase/u32-is-uppercase-tests: New file.
44066         * tests/unicase/test-u32-is-uppercase.c: New file.
44067
44068         Tests for module 'unicase/u16-is-uppercase'.
44069         * modules/unicase/u16-is-uppercase-tests: New file.
44070         * tests/unicase/test-u16-is-uppercase.c: New file.
44071
44072         Tests for module 'unicase/u8-is-uppercase'.
44073         * modules/unicase/u8-is-uppercase-tests: New file.
44074         * tests/unicase/test-u8-is-uppercase.c: New file.
44075         * tests/unicase/test-is-uppercase.h: New file.
44076
44077         New module 'unicase/u32-is-uppercase'.
44078         * lib/unicase/u32-is-uppercase.c: New file.
44079         * modules/unicase/u32-is-uppercase: New file.
44080
44081         New module 'unicase/u16-is-uppercase'.
44082         * lib/unicase/u16-is-uppercase.c: New file.
44083         * modules/unicase/u16-is-uppercase: New file.
44084
44085         New module 'unicase/u8-is-uppercase'.
44086         * lib/unicase/u8-is-uppercase.c: New file.
44087         * modules/unicase/u8-is-uppercase: New file.
44088
44089         New module 'unicase/u32-is-invariant'.
44090         * lib/unicase/u32-is-invariant.c: New file.
44091         * modules/unicase/u32-is-invariant: New file.
44092
44093         New module 'unicase/u16-is-invariant'.
44094         * lib/unicase/u16-is-invariant.c: New file.
44095         * modules/unicase/u16-is-invariant: New file.
44096
44097         New module 'unicase/u8-is-invariant'.
44098         * lib/unicase/u8-is-invariant.c: New file.
44099         * lib/unicase/invariant.h: New file.
44100         * lib/unicase/u-is-invariant.h: New file.
44101         * modules/unicase/u8-is-invariant: New file.
44102
44103         Tests for module 'unicase/u32-casecoll'.
44104         * modules/unicase/u32-casecoll-tests: New file.
44105         * tests/unicase/test-u32-casecoll.c: New file.
44106
44107         Tests for module 'unicase/u16-casecoll'.
44108         * modules/unicase/u16-casecoll-tests: New file.
44109         * tests/unicase/test-u16-casecoll.c: New file.
44110
44111         Tests for module 'unicase/u8-casecoll'.
44112         * modules/unicase/u8-casecoll-tests: New file.
44113         * tests/unicase/test-u8-casecoll.c: New file.
44114
44115         New module 'unicase/u32-casecoll'.
44116         * lib/unicase/u32-casecoll.c: New file.
44117         * modules/unicase/u32-casecoll: New file.
44118
44119         New module 'unicase/u16-casecoll'.
44120         * lib/unicase/u16-casecoll.c: New file.
44121         * modules/unicase/u16-casecoll: New file.
44122
44123         New module 'unicase/u8-casecoll'.
44124         * lib/unicase/u8-casecoll.c: New file.
44125         * lib/unicase/u-casecoll.h: New file.
44126         * modules/unicase/u8-casecoll: New file.
44127
44128         New module 'unicase/u32-casexfrm'.
44129         * lib/unicase/u32-casexfrm.c: New file.
44130         * modules/unicase/u32-casexfrm: New file.
44131
44132         New module 'unicase/u16-casexfrm'.
44133         * lib/unicase/u16-casexfrm.c: New file.
44134         * modules/unicase/u16-casexfrm: New file.
44135
44136         New module 'unicase/u8-casexfrm'.
44137         * lib/unicase/u8-casexfrm.c: New file.
44138         * lib/unicase/u-casexfrm.h: New file.
44139         * modules/unicase/u8-casexfrm: New file.
44140
44141         Tests for module 'unicase/u32-casecmp'.
44142         * modules/unicase/u32-casecmp-tests: New file.
44143         * tests/unicase/test-u32-casecmp.c: New file.
44144
44145         Tests for module 'unicase/u16-casecmp'.
44146         * modules/unicase/u16-casecmp-tests: New file.
44147         * tests/unicase/test-u16-casecmp.c: New file.
44148
44149         Tests for module 'unicase/u8-casecmp'.
44150         * modules/unicase/u8-casecmp-tests: New file.
44151         * tests/unicase/test-u8-casecmp.c: New file.
44152         * tests/unicase/test-casecmp.h: New file.
44153
44154         New module 'unicase/u32-casecmp'.
44155         * lib/unicase/u32-casecmp.c: New file.
44156         * modules/unicase/u32-casecmp: New file.
44157
44158         New module 'unicase/u16-casecmp'.
44159         * lib/unicase/u16-casecmp.c: New file.
44160         * modules/unicase/u16-casecmp: New file.
44161
44162         New module 'unicase/u8-casecmp'.
44163         * lib/unicase/u8-casecmp.c: New file.
44164         * lib/unicase/u-casecmp.h: New file.
44165         * modules/unicase/u8-casecmp: New file.
44166
44167         Tests for module 'unicase/u32-casefold'.
44168         * modules/unicase/u32-casefold-tests: New file.
44169         * tests/unicase/test-u32-casefold.c: New file.
44170
44171         Tests for module 'unicase/u16-casefold'.
44172         * modules/unicase/u16-casefold-tests: New file.
44173         * tests/unicase/test-u16-casefold.c: New file.
44174
44175         Tests for module 'unicase/u8-casefold'.
44176         * modules/unicase/u8-casefold-tests: New file.
44177         * tests/unicase/test-u8-casefold.c: New file.
44178
44179         New module 'unicase/u32-casefold'.
44180         * lib/unicase/u32-casefold.c: New file.
44181         * modules/unicase/u32-casefold: New file.
44182
44183         New module 'unicase/u16-casefold'.
44184         * lib/unicase/u16-casefold.c: New file.
44185         * modules/unicase/u16-casefold: New file.
44186
44187         New module 'unicase/u8-casefold'.
44188         * lib/unicase/u8-casefold.c: New file.
44189         * lib/unicase/u-casefold.h: New file.
44190         * modules/unicase/u8-casefold: New file.
44191
44192         New module 'unicase/tocasefold'.
44193         * lib/unicase/casefold.h: New file.
44194         * lib/unicase/tocasefold.c: New file.
44195         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44196         * modules/unicase/tocasefold: New file.
44197
44198         Tests for module 'unicase/u32-totitle'.
44199         * modules/unicase/u32-totitle-tests: New file.
44200         * tests/unicase/test-u32-totitle.c: New file.
44201
44202         Tests for module 'unicase/u16-totitle'.
44203         * modules/unicase/u16-totitle-tests: New file.
44204         * tests/unicase/test-u16-totitle.c: New file.
44205
44206         Tests for module 'unicase/u8-totitle'.
44207         * modules/unicase/u8-totitle-tests: New file.
44208         * tests/unicase/test-u8-totitle.c: New file.
44209
44210         New module 'unicase/u32-totitle'.
44211         * lib/unicase/u32-totitle.c: New file.
44212         * modules/unicase/u32-totitle: New file.
44213
44214         New module 'unicase/u16-totitle'.
44215         * lib/unicase/u16-totitle.c: New file.
44216         * modules/unicase/u16-totitle: New file.
44217
44218         New module 'unicase/u8-totitle'.
44219         * lib/unicase/u8-totitle.c: New file.
44220         * lib/unicase/u-totitle.h: New file.
44221         * modules/unicase/u8-totitle: New file.
44222
44223         Tests for module 'unicase/u32-tolower'.
44224         * modules/unicase/u32-tolower-tests: New file.
44225         * tests/unicase/test-u32-tolower.c: New file.
44226
44227         Tests for module 'unicase/u16-tolower'.
44228         * modules/unicase/u16-tolower-tests: New file.
44229         * tests/unicase/test-u16-tolower.c: New file.
44230
44231         Tests for module 'unicase/u8-tolower'.
44232         * modules/unicase/u8-tolower-tests: New file.
44233         * tests/unicase/test-u8-tolower.c: New file.
44234
44235         New module 'unicase/u32-tolower'.
44236         * lib/unicase/u32-tolower.c: New file.
44237         * modules/unicase/u32-tolower: New file.
44238
44239         New module 'unicase/u16-tolower'.
44240         * lib/unicase/u16-tolower.c: New file.
44241         * modules/unicase/u16-tolower: New file.
44242
44243         New module 'unicase/u8-tolower'.
44244         * lib/unicase/u8-tolower.c: New file.
44245         * modules/unicase/u8-tolower: New file.
44246
44247         Tests for module 'unicase/u32-toupper'.
44248         * modules/unicase/u32-toupper-tests: New file.
44249         * tests/unicase/test-u32-toupper.c: New file.
44250
44251         Tests for module 'unicase/u16-toupper'.
44252         * modules/unicase/u16-toupper-tests: New file.
44253         * tests/unicase/test-u16-toupper.c: New file.
44254
44255         Tests for module 'unicase/u8-toupper'.
44256         * modules/unicase/u8-toupper-tests: New file.
44257         * tests/unicase/test-u8-toupper.c: New file.
44258
44259         New module 'unicase/u32-toupper'.
44260         * lib/unicase/u32-toupper.c: New file.
44261         * modules/unicase/u32-toupper: New file.
44262
44263         New module 'unicase/u16-toupper'.
44264         * lib/unicase/u16-toupper.c: New file.
44265         * modules/unicase/u16-toupper: New file.
44266
44267         New module 'unicase/u8-toupper'.
44268         * lib/unicase/u8-toupper.c: New file.
44269         * modules/unicase/u8-toupper: New file.
44270
44271         New module 'unicase/u32-casemap'.
44272         * lib/unicase/u32-casemap.c: New file.
44273         * modules/unicase/u32-casemap: New file.
44274
44275         New module 'unicase/u16-casemap'.
44276         * lib/unicase/u16-casemap.c: New file.
44277         * modules/unicase/u16-casemap: New file.
44278
44279         New module 'unicase/u8-casemap'.
44280         * lib/unicase/unicasemap.h: New file.
44281         * lib/unicase/u8-casemap.c: New file.
44282         * lib/unicase/u-casemap.h: New file.
44283         * modules/unicase/u8-casemap: New file.
44284
44285         New module 'unicase/special-casing'.
44286         * lib/unicase/special-casing.h: New file.
44287         * lib/unicase/special-casing.c: New file.
44288         * lib/unicase/special-casing-table.gperf: New file, generated by
44289         gen-uni-tables.c.
44290         * modules/unicase/special-casing: New file.
44291
44292         Tests for module 'unicase/locale-language'.
44293         * modules/unicase/locale-language-tests: New file.
44294         * tests/unicase/test-locale-language.sh: New file.
44295         * tests/unicase/test-locale-language.c: New file.
44296
44297         New module 'unicase/locale-language'.
44298         * lib/unicase/locale-language.c: New file.
44299         * lib/unicase/locale-languages.gperf: New file.
44300         * modules/unicase/locale-language: New file.
44301
44302         Generate more tables for case conversion and case folding.
44303         * lib/gen-uni-tables.c (SCC_*): New enum items.
44304         (struct special_casing_rule): New type.
44305         (casing_rules, num_casing_rules, allocated_casing_rules): New
44306         variables.
44307         (add_casing_rule, fill_casing_rules): New functions.
44308         (struct casefold_rule): New type.
44309         (casefolding_rules, num_casefolding_rules,
44310         allocated_casefolding_rules): New variables.
44311         (fill_casefolding_rules): New function.
44312         (unicode_casefold): New variable.
44313         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44314         sort_casing_rules, output_casing_rules): New functions.
44315         (main): Accept to more arguments: SpecialCasing.txt and
44316         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44317         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44318         Output mapping for casefolding.
44319
44320         * lib/unicase.h: Include stdbool.h, uninorm.h.
44321         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44322         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44323         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44324         arguments.
44325         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44326         resultp arguments.
44327         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44328         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44329         resultp arguments.
44330         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44331         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44332         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44333         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44334         declarations.
44335         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44336
44337 2009-03-08  Bruno Haible  <bruno@clisp.org>
44338
44339         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44340         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44341         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44342         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44343
44344 2009-03-07  Bruno Haible  <bruno@clisp.org>
44345
44346         Adjust u*_normcmp, u*_normcoll API.
44347         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44348         u16_normcoll, u32_normcoll): Change failure conventions.
44349         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44350         errno and return -1.
44351         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44352
44353 2009-03-07  Bruno Haible  <bruno@clisp.org>
44354
44355         Tests for module 'uninorm/u32-normcoll'.
44356         * modules/uninorm/u32-normcoll-tests: New file.
44357         * tests/uninorm/test-u32-normcoll.c: New file.
44358
44359         Tests for module 'uninorm/u16-normcoll'.
44360         * modules/uninorm/u16-normcoll-tests: New file.
44361         * tests/uninorm/test-u16-normcoll.c: New file.
44362
44363         Tests for module 'uninorm/u8-normcoll'.
44364         * modules/uninorm/u8-normcoll-tests: New file.
44365         * tests/uninorm/test-u8-normcoll.c: New file.
44366
44367 2009-03-07  Bruno Haible  <bruno@clisp.org>
44368
44369         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44370         tests/uninorm/test-u32-normcmp.c.
44371         * tests/uninorm/test-u32-normcmp.c: Include it.
44372         (test_nonascii): New function, extracted from main. Add some more
44373         tests.
44374         (main): Invoke test_ascii and test_nonascii.
44375         * modules/uninorm/u32-normcmp-tests (Files): Add
44376         tests/uninorm/test-u32-normcmp.h.
44377         (Depends-on): Remove uninorm/u32-normcmp.
44378
44379         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44380         tests/uninorm/test-u16-normcmp.c.
44381         * tests/uninorm/test-u16-normcmp.c: Include it.
44382         (test_nonascii): New function, extracted from main. Add some more
44383         tests.
44384         (main): Invoke test_ascii and test_nonascii.
44385         * modules/uninorm/u16-normcmp-tests (Files): Add
44386         tests/uninorm/test-u16-normcmp.h.
44387         (Depends-on): Remove uninorm/u16-normcmp.
44388
44389         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44390         tests/uninorm/test-u8-normcmp.c.
44391         * tests/uninorm/test-u8-normcmp.c: Include it.
44392         (test_nonascii): New function, extracted from main. Add some more
44393         tests.
44394         (main): Invoke test_ascii and test_nonascii.
44395         * modules/uninorm/u8-normcmp-tests (Files): Add
44396         tests/uninorm/test-u8-normcmp.h.
44397         (Depends-on): Remove uninorm/u8-normcmp.
44398
44399 2009-03-07  Bruno Haible  <bruno@clisp.org>
44400
44401         New module 'uninorm/u32-normcoll'.
44402         * lib/uninorm/u32-normcoll.c: New file.
44403         * modules/uninorm/u32-normcoll: New file.
44404
44405         New module 'uninorm/u16-normcoll'.
44406         * lib/uninorm/u16-normcoll.c: New file.
44407         * modules/uninorm/u16-normcoll: New file.
44408
44409         New module 'uninorm/u8-normcoll'.
44410         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44411         declarations.
44412         * lib/uninorm/u8-normcoll.c: New file.
44413         * lib/uninorm/u-normcoll.h: New file.
44414         * modules/uninorm/u8-normcoll: New file.
44415
44416         New module 'uninorm/u32-normxfrm'.
44417         * lib/uninorm/u32-normxfrm.c: New file.
44418         * modules/uninorm/u32-normxfrm: New file.
44419
44420         New module 'uninorm/u16-normxfrm'.
44421         * lib/uninorm/u16-normxfrm.c: New file.
44422         * modules/uninorm/u16-normxfrm: New file.
44423
44424         New module 'uninorm/u8-normxfrm'.
44425         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44426         declarations.
44427         * lib/uninorm/u8-normxfrm.c: New file.
44428         * lib/uninorm/u-normxfrm.h: New file.
44429         * modules/uninorm/u8-normxfrm: New file.
44430
44431 2009-03-07  Bruno Haible  <bruno@clisp.org>
44432
44433         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44434         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44435         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44436
44437 2009-03-07  Bruno Haible  <bruno@clisp.org>
44438
44439         New module 'memxfrm'.
44440         * lib/memxfrm.h: New file.
44441         * lib/memxfrm.c: New file.
44442         * modules/memxfrm: New file.
44443
44444 2009-03-07  Bruno Haible  <bruno@clisp.org>
44445
44446         New module 'memcmp2'.
44447         * lib/memcmp2.h: New file.
44448         * lib/memcmp2.c: New file.
44449         * modules/memcmp2: New file.
44450
44451 2009-03-07  Bruno Haible  <bruno@clisp.org>
44452
44453         Tests for module 'uninorm/decomposing-form'.
44454         * modules/uninorm/decomposing-form-tests: New file.
44455         * tests/uninorm/test-decomposing-form.c: New file.
44456
44457         New module 'uninorm/decomposing-form'.
44458         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44459         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44460         Add 'decomposing_variant' field.
44461         * lib/uninorm/decomposing-form.c: New file.
44462         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44463         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44464         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44465         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44466         * modules/uninorm/decomposing-form: New file.
44467         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44468         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44469
44470 2009-03-07  Bruno Haible  <bruno@clisp.org>
44471
44472         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44473         strings.
44474
44475 2009-03-06  Bruno Haible  <bruno@clisp.org>
44476
44477         Tests for module 'uninorm/u32-normcmp'.
44478         * tests/uninorm/test-u32-normcmp.c: New file.
44479         * modules/uninorm/u32-normcmp-tests: New file.
44480
44481         Tests for module 'uninorm/u16-normcmp'.
44482         * tests/uninorm/test-u16-normcmp.c: New file.
44483         * modules/uninorm/u16-normcmp-tests: New file.
44484
44485         Tests for module 'uninorm/u8-normcmp'.
44486         * tests/uninorm/test-u8-normcmp.c: New file.
44487         * modules/uninorm/u8-normcmp-tests: New file.
44488
44489         New module 'uninorm/u32-normcmp'.
44490         * lib/uninorm/u32-normcmp.c: New file.
44491         * modules/uninorm/u32-normcmp: New file.
44492
44493         New module 'uninorm/u16-normcmp'.
44494         * lib/uninorm/u16-normcmp.c: New file.
44495         * modules/uninorm/u16-normcmp: New file.
44496
44497         New module 'uninorm/u8-normcmp'.
44498         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44499         declarations.
44500         * lib/uninorm/u8-normcmp.c: New file.
44501         * lib/uninorm/u-normcmp.h: New file.
44502         * modules/uninorm/u8-normcmp: New file.
44503
44504 2009-03-06  Bruno Haible  <bruno@clisp.org>
44505
44506         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44507         Reported by Eric Blake.
44508
44509 2009-03-06  Eric Blake  <ebb9@byu.net>
44510             Bruno Haible  <bruno@clisp.org>
44511
44512         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44513         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44514         condition.
44515         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44516         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44517         condition.
44518         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44519
44520 2009-03-06  Eric Blake  <ebb9@byu.net>
44521
44522         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44523         to avoid compiler warnings.
44524         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44525
44526 2009-03-05  Bruno Haible  <bruno@clisp.org>
44527
44528         * tests/test-ftell.c (main): Disable test beyond end of file on
44529         FreeMiNT.
44530         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44531
44532 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44533
44534         * lib/filevercmp.c: Move hidden files up in ordering.
44535         * tests/test-filevercmp.c: Add tests for hidden files.
44536
44537 2009-03-04  Bruno Haible  <bruno@clisp.org>
44538
44539         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44540         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44541         AM_CFLAGS.
44542         Reported by Simon Josefsson.
44543
44544 2009-03-03  Bruno Haible  <bruno@clisp.org>
44545
44546         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44547         Reported by Simon Josefsson.
44548
44549         * doc/ld-version-script.texi: Update node reference.
44550
44551 2009-03-03  Bruno Haible  <bruno@clisp.org>
44552
44553         * modules/visibility (License): Change to 'unlimited'.
44554         Suggested by Simon Josefsson.
44555
44556 2009-03-03  Jim Meyering  <meyering@redhat.com>
44557
44558         unlinkdir: cannot_unlink_dir may modify process state
44559         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44560         it's neither thread-safe nor appropriate for use in a library.
44561
44562 2009-03-03  Eric Blake  <ebb9@byu.net>
44563
44564         test-closein: silence test under Darwin
44565         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44566         care if it dies from EPIPE or EBADF.
44567
44568 2009-03-03  Bruno Haible  <bruno@clisp.org>
44569
44570         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44571         earlier.
44572         * doc/visibility.texi: Fix @node and @section.
44573
44574 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44575
44576         * doc/gnulib.texi: Link to sections for ld version script and
44577         visibility.
44578         * doc/visibility.texi: Add @node and @section.
44579         * modules/ld-version-script: New module.
44580         * m4/ld-version-script.m4: New file.
44581         * doc/ld-version-script.texi: New file.
44582
44583 2009-03-02  David Lutterkort  <lutter@redhat.com>
44584
44585         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44586         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44587
44588 2009-03-02  Bruno Haible  <bruno@clisp.org>
44589
44590         * doc/visibility.texi: Mention libtool's -export-symbols option.
44591
44592 2009-03-02  Jim Meyering  <meyering@redhat.com>
44593
44594         announce-gen: new option: --no-print-checksums
44595         * build-aux/announce-gen (usage): Describe it.
44596         (print_checksums): Print a newline here, not in the [*] footnote.
44597         (main): Honor it.
44598
44599 2009-03-01  Bruno Haible  <bruno@clisp.org>
44600
44601         Use socklen_t in the native Windows replacements prototypes.
44602         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44603         instead of 'int'.
44604         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44605         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44606         * modules/getsockopt (Depends-on): Add socklen.
44607         * modules/setsockopt (Depends-on): Add socklen.
44608
44609 2009-03-01  Bruno Haible  <bruno@clisp.org>
44610
44611         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44612         least 4.2.
44613
44614 2009-03-01  Eric Blake  <ebb9@byu.net>
44615             Bruno Haible  <bruno@clisp.org>
44616
44617         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44618         error messages.
44619         * lib/wait-process.c (wait_subprocess): Omit error message about
44620         deadly signal sent to the child of termsigp != NULL.
44621
44622 2009-03-01  Eric Blake  <ebb9@byu.net>
44623
44624         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44625
44626 2009-03-01  Bruno Haible  <bruno@clisp.org>
44627
44628         Avoid a gcc warning.
44629         * tests/test-sched.c (b): Make global.
44630         Reported by Eric Blake.
44631
44632 2009-01-19  Martin Lambers  <marlam@marlam.de>
44633
44634         Provide POSIX semantics for socket timeout options on W32.
44635         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44636         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44637         * modules/setsockopt: Depend on sys_time module for struct timeval.
44638         * modules/getsockopt: Depend on sys_time module for struct timeval.
44639
44640 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44641
44642         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44643         __USE_GNU, for consistency with netdb.in.h.
44644         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44645
44646 2009-03-01  Bruno Haible  <bruno@clisp.org>
44647
44648         More support for FreeMiNT.
44649         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44650         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44651
44652 2009-03-01  Bruno Haible  <bruno@clisp.org>
44653
44654         More support for FreeMiNT.
44655         * lib/fpurge.c (fpurge): Correct last commit.
44656         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44657
44658 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44659
44660         Fix unportable awk script in vc-list-files.
44661         * build-aux/vc-list-files: In the replacement awk script, use
44662         substr with a second argument of 1, not zero.
44663         Report by Simon Josefsson.
44664
44665 2009-02-28  Bruno Haible  <bruno@clisp.org>
44666
44667         More support for FreeMiNT.
44668         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44669         to FreeMiNT today.
44670         * lib/fwriting.c (fwriting): Likewise.
44671         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44672
44673 2009-02-28  Bruno Haible  <bruno@clisp.org>
44674
44675         * tests/test-freadseek.c (main): Disable test beyond end of file on
44676         FreeMiNT.
44677         * tests/test-ftello.c (main): Likewise.
44678         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44679
44680 2009-02-28  Bruno Haible  <bruno@clisp.org>
44681
44682         Add tentative support for FreeMiNT.
44683         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44684         * lib/fpurge.c (fpurge): Likewise.
44685         * lib/freadable.c (freadable): Likewise.
44686         * lib/freading.c (freading): Likewise.
44687         * lib/freadptr.c (freadptr): Likewise.
44688         * lib/freadseek.c (freadptrinc): Likewise.
44689         * lib/fseeko.c (rpl_fseeko): Likewise.
44690         * lib/fseterr.c (fseterr): Likewise.
44691         * lib/fwritable.c (fwritable): Likewise.
44692         * lib/fwriting.c (fwriting): Likewise.
44693         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44694         Hourihane.
44695         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44696
44697 2009-02-28  Bruno Haible  <bruno@clisp.org>
44698
44699         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44700         SIGCHLD.
44701         Reported by Jim Meyering.
44702
44703 2009-02-28  Bruno Haible  <bruno@clisp.org>
44704
44705         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44706         Mention the results of these tests on various platforms.
44707         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44708         order.
44709         * doc/posix-functions/printf.texi: Likewise.
44710         * doc/posix-functions/snprintf.texi: Likewise.
44711         * doc/posix-functions/sprintf.texi: Likewise.
44712         * doc/posix-functions/vfprintf.texi: Likewise.
44713         * doc/posix-functions/vprintf.texi: Likewise.
44714         * doc/posix-functions/vsnprintf.texi: Likewise.
44715         * doc/posix-functions/vsprintf.texi: Likewise.
44716         * doc/glibc-functions/obstack_printf.texi: Likewise.
44717         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44718
44719 2009-02-28  Bruno Haible  <bruno@clisp.org>
44720
44721         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44722         Reported by Loïc Minier <lool@dooz.org>.
44723
44724 2009-02-27  Bruno Haible  <bruno@clisp.org>
44725
44726         * gnulib-tool (func_import): Make the sed expression used to create the
44727         sed script for updating the .gitignore file POSIX compliant.
44728         Reported by Eric Blake.
44729
44730 2009-02-27  Bruno Haible  <bruno@clisp.org>
44731
44732         * gnulib-tool (sed): Don't alias as "sed --posix".
44733         Reported by Eric Blake.
44734
44735 2009-02-27  Bruno Haible  <bruno@clisp.org>
44736
44737         Avoid test link errors.
44738         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44739         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44740         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44741         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44742         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44743
44744 2009-02-27  Bruno Haible  <bruno@clisp.org>
44745
44746         Avoid spurious "(cached)" in configure output.
44747         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44748         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44749         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44750         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44751         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44752         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44753         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44754         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44755         Reported by Eric Blake.
44756
44757 2009-02-27  Eric Blake  <ebb9@byu.net>
44758
44759         printf: fix regression in previous patch
44760         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44761
44762 2009-02-27  Bruno Haible  <bruno@clisp.org>
44763
44764         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44765         value.
44766         * lib/stdint.in.h: Likewise.
44767         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44768
44769 2009-02-27  Eric Blake  <ebb9@byu.net>
44770
44771         doc: mention more functions added in cygwin 1.7.0
44772         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44773         addition.
44774         * doc/posix-functions/open_wmemstream.texi: Likewise.
44775         * doc/posix-functions/wcsnlen.texi: Likewise.
44776         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44777         * doc/posix-functions/wcstod.texi: Likewise.
44778         * doc/posix-functions/wcstof.texi: Likewise.
44779         * doc/posix-functions/wcstoimax.texi: Likewise.
44780         * doc/posix-functions/wcstok.texi: Likewise.
44781         * doc/posix-functions/wcstoumax.texi: Likewise.
44782
44783         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44784         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44785         * doc/posix-functions/fprintf.texi: Update.
44786         * doc/posix-functions/printf.texi: Update.
44787         * doc/posix-functions/snprintf.texi: Update.
44788         * doc/posix-functions/sprintf.texi: Update.
44789         * doc/posix-functions/vfprintf.texi: Update.
44790         * doc/posix-functions/vprintf.texi: Update.
44791         * doc/posix-functions/vsnprintf.texi: Update.
44792         * doc/posix-functions/vsprintf.texi: Update.
44793         * doc/glibc-functions/obstack_printf.texi: Update.
44794         * doc/glibc-functions/obstack_vprintf.texi: Update.
44795
44796 2009-02-26  Eric Blake  <ebb9@byu.net>
44797
44798         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
44799         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
44800         compilation bug by using runtime conversion.
44801         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
44802         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
44803         * modules/ceill-tests (Files): Use nan.h.
44804         * modules/floorl-tests (Files): Likewise.
44805         * modules/frexpl-tests (Files): Likewise.
44806         * modules/isnanl-tests (Files): Likewise.
44807         * modules/ldexpl-tests (Files): Likewise.
44808         * modules/roundl-tests (Files): Likewise.
44809         * modules/truncl-tests (Files): Likewise.
44810         * tests/test-ceill.c (main): Use a working NaN.
44811         * tests/test-floorl.c (main): Likewise.
44812         * tests/test-frexpl.c (main): Likewise.
44813         * tests/test-isnan.c (test_long_double): Likewise.
44814         * tests/test-isnanl.h (main): Likewise.
44815         * tests/test-ldexpl.h (main): Likewise.
44816         * tests/test-roundl.h (main): Likewise.
44817         * tests/test-truncl.h (main): Likewise.
44818         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44819
44820 2009-02-26  Eric Blake  <ebb9@byu.net>
44821             Bruno Haible  <bruno@clisp.org>
44822
44823         Work around a *printf bug with %ls on Solaris.
44824         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44825         precision is specified, sprintf stops converting the wide string
44826         argument when the number of bytes that have been produced by this
44827         conversion equals or exceeds the precision.
44828         * doc/posix-functions/fprintf.texi: Update.
44829         * doc/posix-functions/printf.texi: Update.
44830         * doc/posix-functions/snprintf.texi: Update.
44831         * doc/posix-functions/sprintf.texi: Update.
44832         * doc/posix-functions/vfprintf.texi: Update.
44833         * doc/posix-functions/vprintf.texi: Update.
44834         * doc/posix-functions/vsnprintf.texi: Update.
44835         * doc/posix-functions/vsprintf.texi: Update.
44836         * doc/glibc-functions/obstack_printf.texi: Update.
44837         * doc/glibc-functions/obstack_vprintf.texi: Update.
44838
44839 2009-02-26  Eric Blake  <ebb9@byu.net>
44840
44841         stdlib: favor compiler check of random.h
44842         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44843         to avoid an ObjC random.h installed by Swarm.
44844
44845 2009-02-26  Bruno Haible  <bruno@clisp.org>
44846
44847         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44848         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44849         Reported by Gary V. Vaughan <gary@gnu.org>.
44850
44851 2009-02-26  Bruno Haible  <bruno@clisp.org>
44852
44853         Fix *printf behaviour regarding the %ls directive.
44854         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44855         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44856         NEED_PRINTF_DIRECTIVE_LS.
44857         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44858         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44859         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44860         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44861         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44862         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44863         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44864         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44865         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44866         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44867         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44868         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44869         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44870         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44871         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44872         * doc/posix-functions/fprintf.texi: Update.
44873         * doc/posix-functions/printf.texi: Update.
44874         * doc/posix-functions/snprintf.texi: Update.
44875         * doc/posix-functions/sprintf.texi: Update.
44876         * doc/posix-functions/vfprintf.texi: Update.
44877         * doc/posix-functions/vprintf.texi: Update.
44878         * doc/posix-functions/vsnprintf.texi: Update.
44879         * doc/posix-functions/vsprintf.texi: Update.
44880         * doc/glibc-functions/obstack_printf.texi: Update.
44881         * doc/glibc-functions/obstack_vprintf.texi: Update.
44882         Reported by Eric Blake.
44883
44884 2009-02-25  Bruno Haible  <bruno@clisp.org>
44885
44886         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44887         with known value.
44888         Reported by Gary V. Vaughan <gary@gnu.org>.
44889
44890 2009-02-25  Bruno Haible  <bruno@clisp.org>
44891
44892         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44893         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44894         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44895         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44896         Reported by Gary V. Vaughan <gary@gnu.org>.
44897
44898 2009-02-25  Bruno Haible  <bruno@clisp.org>
44899
44900         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44901         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44902         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44903         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44904         Reported by Gary V. Vaughan <gary@gnu.org>.
44905
44906 2009-02-25  Eric Blake  <ebb9@byu.net>
44907
44908         tests: skip fseek/ftell tests if ungetc is broken
44909         * m4/ungetc.m4: New file.
44910         * modules/fseek-tests: Split test, so ungetc dependency is
44911         separate from rest of test.
44912         * modules/fseeko-tests: Likewise.
44913         * modules/ftell-tests: Likewise.
44914         * modules/ftello-tests: Likewise.
44915         * tests/test-fseek.c (main): Isolate ungetc dependency.
44916         * tests/test-fseeko.c (main): Likewise.
44917         * tests/test-ftell.c (main): Likewise.
44918         * tests/test-ftello.c (main): Likewise.
44919         * tests/test-fseek2.sh: New file.
44920         * tests/test-fseeko2.sh: Likewise.
44921         * tests/test-ftell2.sh: Likewise.
44922         * tests/test-ftello2.sh: Likewise.
44923
44924 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
44925
44926         test-getaddrinfo: fix usage of skip return code 77
44927         * tests/test-gettaddrinfo.c: Return skip code 77 only
44928         for first occurance of skip (4x77 is not 77)
44929
44930 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
44931
44932         strtod: avoid C99 decl-after-statement
44933         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
44934
44935 2009-02-24  Eric Blake  <ebb9@byu.net>
44936
44937         strtod: detect HP-UX 11.31 bug
44938         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
44939         Reported by Gary V. Vaughan.
44940
44941 2009-02-23  Bruno Haible  <bruno@clisp.org>
44942
44943         Fix invalid read past end of memory block.
44944         * lib/vasnprintf.c (DCHAR_SET): Define.
44945         (local_wcslen): Define only when needed.
44946         (local_strnlen, local_wcsnlen): New functions.
44947         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
44948         directives that involve a conversion ourselves.
44949         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
44950         wcsnlen, mbrtowc, wcrtomb.
44951         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
44952         * tests/test-vasprintf-posix.c (test_function): Likewise.
44953         * tests/test-snprintf-posix.h (test_function): Likewise.
44954         * tests/test-sprintf-posix.h (test_function): Likewise.
44955         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44956
44957 2009-02-22  Bruno Haible  <bruno@clisp.org>
44958
44959         Implement new clarified decomposition of Hangul syllables.
44960         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
44961         of type LTV, return only a pairwise decomposition.
44962         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
44963         Likewise.
44964         * tests/uninorm/test-decomposition.c (main): Updated expected result.
44965         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
44966         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
44967
44968 2009-02-22  Bruno Haible  <bruno@clisp.org>
44969
44970         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
44971         zero-length results and shrink excess allocated memory.
44972         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
44973         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
44974         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
44975         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
44976         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
44977         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
44978         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
44979         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
44980         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
44981         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
44982         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
44983         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
44984
44985 2009-02-21  Bruno Haible  <bruno@clisp.org>
44986
44987         * doc/gnulib.texi: Include safe-alloc.texi earlier.
44988         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
44989         spaces after a period. Put a space between a macro name and its
44990         argument list. Trivial rewordings.
44991         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
44992         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
44993         (main): Return 0 explicitly.
44994
44995 2009-02-21  Bruno Haible  <bruno@clisp.org>
44996
44997         Tests for module 'uninorm/filter'.
44998         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
44999         * modules/uninorm/filter-tests: New file.
45000
45001         New module 'uninorm/filter'.
45002         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45003         uninorm_filter_flush, uninorm_filter_free): New declarations.
45004         * lib/uninorm/uninorm-filter.c: New file.
45005         * modules/uninorm/filter: New file.
45006
45007 2009-02-21  Bruno Haible  <bruno@clisp.org>
45008
45009         Tests for module 'uninorm/nfkc'.
45010         * tests/uninorm/test-nfkc.c: New file.
45011         * tests/uninorm/test-u8-nfkc.c: New file.
45012         * tests/uninorm/test-u16-nfkc.c: New file.
45013         * tests/uninorm/test-u32-nfkc.c: New file.
45014         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45015         * tests/uninorm/test-u32-nfkc-big.c: New file.
45016         * modules/uninorm/nfkc-tests: New file.
45017
45018         New module 'uninorm/nfkc'.
45019         * lib/uninorm/nfkc.c: New file.
45020         * modules/uninorm/nfkc: New file.
45021
45022         Tests for module 'uninorm/nfkd'.
45023         * tests/uninorm/test-nfkd.c: New file.
45024         * tests/uninorm/test-u8-nfkd.c: New file.
45025         * tests/uninorm/test-u16-nfkd.c: New file.
45026         * tests/uninorm/test-u32-nfkd.c: New file.
45027         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45028         * tests/uninorm/test-u32-nfkd-big.c: New file.
45029         * modules/uninorm/nfkd-tests: New file.
45030
45031         New module 'uninorm/nfkd'.
45032         * lib/uninorm/nfkd.c: New file.
45033         * modules/uninorm/nfkd: New file.
45034
45035         Tests for module 'uninorm/nfc'.
45036         * tests/uninorm/test-nfc.c: New file.
45037         * tests/uninorm/test-u8-nfc.c: New file.
45038         * tests/uninorm/test-u16-nfc.c: New file.
45039         * tests/uninorm/test-u32-nfc.c: New file.
45040         * tests/uninorm/test-u32-nfc-big.sh: New file.
45041         * tests/uninorm/test-u32-nfc-big.c: New file.
45042         * modules/uninorm/nfc-tests: New file.
45043
45044         New module 'uninorm/nfc'.
45045         * lib/uninorm/nfc.c: New file.
45046         * modules/uninorm/nfc: New file.
45047
45048         Tests for module 'uninorm/nfd'.
45049         * tests/uninorm/test-nfd.c: New file.
45050         * tests/uninorm/test-u8-nfd.c: New file.
45051         * tests/uninorm/test-u16-nfd.c: New file.
45052         * tests/uninorm/test-u32-nfd.c: New file.
45053         * tests/uninorm/test-u32-nfd-big.sh: New file.
45054         * tests/uninorm/test-u32-nfd-big.c: New file.
45055         * tests/uninorm/test-u32-normalize-big.h: New file.
45056         * tests/uninorm/test-u32-normalize-big.c: New file.
45057         * tests/uninorm/NormalizationTest.txt: New file, created from
45058         Unicode 5.1.0 NormalizationTest.txt.
45059         * modules/uninorm/nfd-tests: New file.
45060
45061         New module 'uninorm/nfd'.
45062         * lib/uninorm/nfd.c: New file.
45063         * modules/uninorm/nfd: New file.
45064
45065         New module 'uninorm/u32-normalize'.
45066         * lib/uninorm/u32-normalize.c: New file.
45067         * modules/uninorm/u32-normalize: New file.
45068
45069         New module 'uninorm/u16-normalize'.
45070         * lib/uninorm/u16-normalize.c: New file.
45071         * modules/uninorm/u16-normalize: New file.
45072
45073         New module 'uninorm/u8-normalize'.
45074         * lib/uninorm/u8-normalize.c: New file.
45075         * lib/uninorm/normalize-internal.h: New file.
45076         * lib/uninorm/u-normalize-internal.h: New file.
45077         * modules/uninorm/u8-normalize: New file.
45078
45079         New module 'uninorm/decompose-internal'.
45080         * lib/uninorm/decompose-internal.c: New file.
45081         * modules/uninorm/decompose-internal: New file.
45082
45083         Tests for module 'uninorm/composition'.
45084         * tests/uninorm/test-composition.c: New file.
45085         * modules/uninorm/composition-tests: New file.
45086
45087         New module 'uninorm/composition'.
45088         * lib/uninorm/composition.c: New file.
45089         * lib/uninorm/composition-table.gperf: New file, generated by
45090         gen-uni-tables.
45091         * modules/uninorm/composition: New file.
45092
45093         Tests for module 'uninorm/compat-decomposition'.
45094         * tests/uninorm/test-compat-decomposition.c: New file.
45095         * modules/uninorm/compat-decomposition-tests: New file.
45096
45097         New module 'uninorm/compat-decomposition'.
45098         * lib/uninorm/decompose-internal.h: New file.
45099         * lib/uninorm/compat-decomposition.c: New file.
45100         * modules/uninorm/compat-decomposition: New file.
45101
45102         Tests for module 'uninorm/canonical-decomposition'.
45103         * tests/uninorm/test-canonical-decomposition.c: New file.
45104         * modules/uninorm/canonical-decomposition-tests: New file.
45105
45106         New module 'uninorm/canonical-decomposition'.
45107         * lib/uninorm/canonical-decomposition.c: New file.
45108         * modules/uninorm/canonical-decomposition: New file.
45109
45110         Tests for module 'uninorm/decomposition'.
45111         * tests/uninorm/test-decomposition.c: New file.
45112         * modules/uninorm/decomposition-tests: New file.
45113
45114         New module 'uninorm/decomposition'.
45115         * lib/uninorm/decomposition.c: New file.
45116         * modules/uninorm/decomposition: New file.
45117
45118         New module 'uninorm/decomposition-table'.
45119         * lib/uninorm/decomposition-table.h: New file.
45120         * lib/uninorm/decomposition-table.c: New file.
45121         * lib/uninorm/decomposition-table1.h: New file, generated by
45122         gen-uni-tables.
45123         * lib/uninorm/decomposition-table2.h: New file, generated by
45124         gen-uni-tables.
45125         * modules/uninorm/decomposition-table: New file.
45126
45127         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45128         (UC_DECOMP_*): New enumeration items.
45129         (get_decomposition): New function.
45130         (struct decomp_table): New type.
45131         (output_decomposition, output_decomposition_tables): New functions.
45132         (unicode_composition_exclusions): New variable.
45133         (fill_composition_exclusions, debug_output_composition_tables): New
45134         functions.
45135         (main): Accept one more argument. Invoke fill_composition_exclusions.
45136         Output decomposition and composition tables.
45137
45138         New module 'uninorm/base'.
45139         * lib/uninorm.h: New file.
45140         * lib/unictype.h: Update comment.
45141         * modules/uninorm/base: New file.
45142
45143 2009-02-21  David Lutterkort  <lutter@redhat.com>
45144
45145         Tests for module 'safe-alloc'.
45146         * tests/test-safe-alloc.c: New file.
45147         * modules/safe-alloc-tests: New file.
45148
45149         New module 'safe-alloc'.
45150         * lib/safe-alloc.h: New file.
45151         * lib/safe-alloc.c: New file.
45152         * m4/safe-alloc.m4: New file.
45153         * modules/safe-alloc: New file.
45154         * doc/safe-alloc.texi: New file.
45155         * doc/gnulib.texi: Include it.
45156         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45157         safe-alloc.
45158
45159 2009-02-18  Bruno Haible  <bruno@clisp.org>
45160
45161         Fix link error on non-glibc systems.
45162         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45163         variable.
45164         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45165
45166 2009-02-18  Jim Meyering  <meyering@redhat.com>
45167
45168         fts: avoid used-uninitialized error due to recent change
45169         * lib/fts.c (fts_read): Guard uses of the new member,
45170         parent->fts_n_dirs_remaining, since it's not relevant for
45171         the parent of a directory specified on the command-line.
45172
45173 2009-02-17  James Youngman  <jay@gnu.org>
45174             Bruno Haible  <bruno@clisp.org>
45175
45176         * m4/include_next.m4: Reformulate comment.
45177
45178 2009-02-16  Jim Meyering  <meyering@redhat.com>
45179
45180         fts: add #if guards so that the fts_lgpl module still builds
45181         * lib/fts.c: Guard just-added hash-table-using parts with
45182         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45183         Reported by Simon Josefsson.
45184
45185 2009-02-15  Bruno Haible  <bruno@clisp.org>
45186
45187         * modules/array-mergesort-tests: New file.
45188         * tests/test-array-mergesort.c: New file.
45189
45190         New module 'array-mergesort'.
45191         * modules/array-mergesort: New file.
45192         * lib/array-mergesort.h: New file.
45193
45194 2009-02-15  Bruno Haible  <bruno@clisp.org>
45195
45196         Fix 2009-02-07 commit.
45197         * lib/gen-uni-tables.c (output_predicate, output_category,
45198         output_combclass, output_bidi_category, output_decimal_digit,
45199         output_digit, output_numeric, output_mirror, output_scripts,
45200         output_ident_category, output_simple_mapping): Fix format directives.
45201         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45202
45203 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45204
45205         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45206         fixes are available from IBM.
45207
45208 2009-02-13  Jim Meyering  <meyering@redhat.com>
45209
45210         fts: arrange not to stat non-directories in more cases
45211         This makes GNU find (when it doesn't need to stat each file)
45212         *much* more efficient at traversing reiserfs file systems.
45213         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45214         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45215         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45216         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45217         (leaf_optimization_applies): New function.
45218         (LCO_hash, LCO_compare): New helper functions.
45219         (link_count_optimize_ok): New function.
45220         (fts_stat): Initialize new member (if dir).
45221         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45222         we've just stat'ed a directory.  Skip the stat call when possible.
45223         ---
45224         Note this AFS-related exchange:
45225         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45226         and note find's pioctl call in find/fstype.c.
45227         But that is necessary only if you want to enable the
45228         optimization for AFS, and for now, I don't.
45229
45230         fts: move a function definition "up" (no semantic change)
45231         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45232         "up" to precede upcoming use of a related function.
45233
45234 2009-02-11  Jim Meyering  <meyering@redhat.com>
45235
45236         fts: correct internal computation of nlinks (optimization-related)
45237         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45238         whether the current entry is a directory, so don't test it.
45239
45240 2009-02-10  Bruno Haible  <bruno@clisp.org>
45241
45242         Tests for module 'uniwbrk/ulc-wordbreaks'.
45243         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45244         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45245         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45246
45247         Tests for module 'uniwbrk/u32-wordbreaks'.
45248         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45249         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45250
45251         Tests for module 'uniwbrk/u16-wordbreaks'.
45252         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45253         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45254
45255         Tests for module 'uniwbrk/u8-wordbreaks'.
45256         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45257         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45258
45259 2009-02-10  Bruno Haible  <bruno@clisp.org>
45260
45261         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45262         property.
45263         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45264         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45265         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45266
45267 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45268
45269         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45270         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45271
45272 2009-02-10  Bruno Haible  <bruno@clisp.org>
45273
45274         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45275         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45276         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45277         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45278         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45279         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45280
45281 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45282
45283         * lib/sockets.h (gl_fd_to_handle): New function.
45284
45285         * tests/test-sockets.c: Call gl_fd_to_handle.
45286
45287 2009-02-09  Bruno Haible  <bruno@clisp.org>
45288
45289         * doc/havelib.texi: Document the conventions on bi-arch systems.
45290
45291 2009-02-08  Bruno Haible  <bruno@clisp.org>
45292
45293         Document the AC_LIB_LINKFLAGS macro.
45294         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45295         * doc/gnulib.texi: Include it.
45296
45297 2009-02-08  Bruno Haible  <bruno@clisp.org>
45298
45299         Fix wrong order of sections, compared to TOC.
45300         * doc/gnulib.texi: Include relocatable-maint.texi after the
45301         "Regular expressions" node, not before.
45302
45303 2009-02-08  Bruno Haible  <bruno@clisp.org>
45304
45305         Tests for module 'unicase/totitle'.
45306         * modules/unicase/totitle-tests: New file.
45307
45308         Tests for module 'unicase/tolower'.
45309         * modules/unicase/tolower-tests: New file.
45310
45311         Tests for module 'unicase/toupper'.
45312         * modules/unicase/toupper-tests: New file.
45313         * tests/unicase/test-mapping-part1.h: New file.
45314         * tests/unicase/test-mapping-part2.h: New file.
45315
45316         New module 'unicase/totitle'.
45317         * modules/unicase/totitle: New file.
45318         * lib/unicase/totitle.c: New file.
45319
45320         New module 'unicase/tolower'.
45321         * modules/unicase/tolower: New file.
45322         * lib/unicase/tolower.c: New file.
45323
45324         New module 'unicase/toupper'.
45325         * modules/unicase/toupper: New file.
45326         * lib/unicase/toupper.c: New file.
45327         * lib/unicase/simple-mapping.h: New file.
45328
45329         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45330         (mapping_table): New structure.
45331         (output_simple_mapping): New function.
45332         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45333         * modules/gen-uni-tables (Description): Update.
45334         * lib/unicase/toupper.h: New file, automatically generated by
45335         gen-uni-tables.
45336         * lib/unicase/tolower.h: New file, automatically generated by
45337         gen-uni-tables.
45338         * lib/unicase/totitle.h: New file, automatically generated by
45339         gen-uni-tables.
45340         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45341         gen-uni-tables.
45342         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45343         gen-uni-tables.
45344         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45345         gen-uni-tables.
45346
45347         New module 'unicase/base'.
45348         * modules/unicase/base: New file.
45349         * lib/unicase.h: New file.
45350
45351 2009-02-08  Bruno Haible  <bruno@clisp.org>
45352
45353         New module 'uniwbrk/ulc-wordbreaks'.
45354         * modules/uniwbrk/ulc-wordbreaks: New file.
45355         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45356
45357         New module 'uniwbrk/u32-wordbreaks'.
45358         * modules/uniwbrk/u32-wordbreaks: New file.
45359         * lib/uniwbrk/u32-wordbreaks.c: New file.
45360
45361         New module 'uniwbrk/u16-wordbreaks'.
45362         * modules/uniwbrk/u16-wordbreaks: New file.
45363         * lib/uniwbrk/u16-wordbreaks.c: New file.
45364
45365         New module 'uniwbrk/u8-wordbreaks'.
45366         * modules/uniwbrk/u8-wordbreaks: New file.
45367         * lib/uniwbrk/u8-wordbreaks.c: New file.
45368         * lib/uniwbrk/u-wordbreaks.h: New file.
45369
45370         New module 'uniwbrk/table'.
45371         * modules/uniwbrk/table: New file.
45372         * lib/uniwbrk/wbrktable.h: New file.
45373         * lib/uniwbrk/wbrktable.c: New file.
45374
45375         New module 'uniwbrk/wordbreak-property'.
45376         * modules/uniwbrk/wordbreak-property: New file.
45377         * lib/uniwbrk/wordbreak-property.c: New file.
45378
45379         * lib/gen-uni-tables.c (WBP_*): New enum items.
45380         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45381         (unicode_org_wbp): New variable.
45382         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45383         New functions.
45384         (wbp_table): New structure.
45385         (output_wbp, output_wbrk_tables): New functions.
45386         (main): Accept additional argument. Invoke fill_org_wbp,
45387         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45388         output_wbrk_tables.
45389         * modules/gen-uni-tables (Description): Update.
45390         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45391         gen-uni-tables.
45392
45393         New module 'uniwbrk/base'.
45394         * modules/uniwbrk/base: New file.
45395         * lib/uniwbrk.h: New file.
45396
45397 2009-02-08  Bruno Haible  <bruno@clisp.org>
45398
45399         Update to Unicode 5.1.0.
45400         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45401         U+2185..U+2188.
45402         (is_property_default_ignorable_code_point): Don't include characters
45403         of category Cc or Cs and not-a-characters.
45404         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45405         U+0D79, U+109E, U+109F, U+A60C.
45406         * lib/unictype/bidi_of.h: Regenerated.
45407         * lib/unictype/blocks.h: Regenerated.
45408         * lib/unictype/categ_C.h: Regenerated.
45409         * lib/unictype/categ_Cf.h: Regenerated.
45410         * lib/unictype/categ_Cn.h: Regenerated.
45411         * lib/unictype/categ_L.h: Regenerated.
45412         * lib/unictype/categ_Ll.h: Regenerated.
45413         * lib/unictype/categ_Lm.h: Regenerated.
45414         * lib/unictype/categ_Lo.h: Regenerated.
45415         * lib/unictype/categ_Lu.h: Regenerated.
45416         * lib/unictype/categ_M.h: Regenerated.
45417         * lib/unictype/categ_Mc.h: Regenerated.
45418         * lib/unictype/categ_Me.h: Regenerated.
45419         * lib/unictype/categ_Mn.h: Regenerated.
45420         * lib/unictype/categ_N.h: Regenerated.
45421         * lib/unictype/categ_Nd.h: Regenerated.
45422         * lib/unictype/categ_Nl.h: Regenerated.
45423         * lib/unictype/categ_No.h: Regenerated.
45424         * lib/unictype/categ_P.h: Regenerated.
45425         * lib/unictype/categ_Pd.h: Regenerated.
45426         * lib/unictype/categ_Pe.h: Regenerated.
45427         * lib/unictype/categ_Pf.h: Regenerated.
45428         * lib/unictype/categ_Pi.h: Regenerated.
45429         * lib/unictype/categ_Po.h: Regenerated.
45430         * lib/unictype/categ_Ps.h: Regenerated.
45431         * lib/unictype/categ_S.h: Regenerated.
45432         * lib/unictype/categ_Sk.h: Regenerated.
45433         * lib/unictype/categ_Sm.h: Regenerated.
45434         * lib/unictype/categ_So.h: Regenerated.
45435         * lib/unictype/categ_of.h: Regenerated.
45436         * lib/unictype/combining.h: Regenerated.
45437         * lib/unictype/ctype_alnum.h: Regenerated.
45438         * lib/unictype/ctype_alpha.h: Regenerated.
45439         * lib/unictype/ctype_graph.h: Regenerated.
45440         * lib/unictype/ctype_lower.h: Regenerated.
45441         * lib/unictype/ctype_print.h: Regenerated.
45442         * lib/unictype/ctype_punct.h: Regenerated.
45443         * lib/unictype/ctype_upper.h: Regenerated.
45444         * lib/unictype/decdigit.h: Regenerated.
45445         * lib/unictype/digit.h: Regenerated.
45446         * lib/unictype/mirror.h: Regenerated.
45447         * lib/unictype/numeric.h: Regenerated.
45448         * lib/unictype/pr_alphabetic.h: Regenerated.
45449         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45450         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45451         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45452         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45453         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45454         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45455         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45456         * lib/unictype/pr_combining.h: Regenerated.
45457         * lib/unictype/pr_dash.h: Regenerated.
45458         * lib/unictype/pr_decimal_digit.h: Regenerated.
45459         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45460         * lib/unictype/pr_deprecated.h: Regenerated.
45461         * lib/unictype/pr_diacritic.h: Regenerated.
45462         * lib/unictype/pr_extender.h: Regenerated.
45463         * lib/unictype/pr_format_control.h: Regenerated.
45464         * lib/unictype/pr_grapheme_base.h: Regenerated.
45465         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45466         * lib/unictype/pr_grapheme_link.h: Regenerated.
45467         * lib/unictype/pr_id_continue.h: Regenerated.
45468         * lib/unictype/pr_id_start.h: Regenerated.
45469         * lib/unictype/pr_ideographic.h: Regenerated.
45470         * lib/unictype/pr_ignorable_control.h: Regenerated.
45471         * lib/unictype/pr_lowercase.h: Regenerated.
45472         * lib/unictype/pr_math.h: Regenerated.
45473         * lib/unictype/pr_numeric.h: Regenerated.
45474         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45475         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45476         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45477         * lib/unictype/pr_other_id_continue.h: Regenerated.
45478         * lib/unictype/pr_other_lowercase.h: Regenerated.
45479         * lib/unictype/pr_other_math.h: Regenerated.
45480         * lib/unictype/pr_punctuation.h: Regenerated.
45481         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45482         * lib/unictype/pr_soft_dotted.h: Regenerated.
45483         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45484         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45485         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45486         * lib/unictype/pr_uppercase.h: Regenerated.
45487         * lib/unictype/pr_xid_continue.h: Regenerated.
45488         * lib/unictype/pr_xid_start.h: Regenerated.
45489         * lib/unictype/pr_zero_width.h: Regenerated.
45490         * lib/unictype/scripts.h: Regenerated.
45491         * lib/unictype/scripts_byname.gperf: Regenerated.
45492         * lib/unictype/sy_java_ident.h: Regenerated.
45493         * lib/unilbrk/lbrkprop1.h: Regenerated.
45494         * lib/unilbrk/lbrkprop2.h: Regenerated.
45495         * tests/unictype/test-categ_C.c: Regenerated.
45496         * tests/unictype/test-categ_Cf.c: Regenerated.
45497         * tests/unictype/test-categ_Cn.c: Regenerated.
45498         * tests/unictype/test-categ_L.c: Regenerated.
45499         * tests/unictype/test-categ_Ll.c: Regenerated.
45500         * tests/unictype/test-categ_Lm.c: Regenerated.
45501         * tests/unictype/test-categ_Lo.c: Regenerated.
45502         * tests/unictype/test-categ_Lu.c: Regenerated.
45503         * tests/unictype/test-categ_M.c: Regenerated.
45504         * tests/unictype/test-categ_Mc.c: Regenerated.
45505         * tests/unictype/test-categ_Me.c: Regenerated.
45506         * tests/unictype/test-categ_Mn.c: Regenerated.
45507         * tests/unictype/test-categ_N.c: Regenerated.
45508         * tests/unictype/test-categ_Nd.c: Regenerated.
45509         * tests/unictype/test-categ_Nl.c: Regenerated.
45510         * tests/unictype/test-categ_No.c: Regenerated.
45511         * tests/unictype/test-categ_P.c: Regenerated.
45512         * tests/unictype/test-categ_Pd.c: Regenerated.
45513         * tests/unictype/test-categ_Pe.c: Regenerated.
45514         * tests/unictype/test-categ_Pf.c: Regenerated.
45515         * tests/unictype/test-categ_Pi.c: Regenerated.
45516         * tests/unictype/test-categ_Po.c: Regenerated.
45517         * tests/unictype/test-categ_Ps.c: Regenerated.
45518         * tests/unictype/test-categ_S.c: Regenerated.
45519         * tests/unictype/test-categ_Sk.c: Regenerated.
45520         * tests/unictype/test-categ_Sm.c: Regenerated.
45521         * tests/unictype/test-categ_So.c: Regenerated.
45522         * tests/unictype/test-ctype_alnum.c: Regenerated.
45523         * tests/unictype/test-ctype_alpha.c: Regenerated.
45524         * tests/unictype/test-ctype_graph.c: Regenerated.
45525         * tests/unictype/test-ctype_lower.c: Regenerated.
45526         * tests/unictype/test-ctype_print.c: Regenerated.
45527         * tests/unictype/test-ctype_punct.c: Regenerated.
45528         * tests/unictype/test-ctype_upper.c: Regenerated.
45529         * tests/unictype/test-decdigit.h: Regenerated.
45530         * tests/unictype/test-digit.h: Regenerated.
45531         * tests/unictype/test-numeric.h: Regenerated.
45532         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45533         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45534         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45535         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45536         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45537         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45538         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45539         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45540         * tests/unictype/test-pr_combining.c: Regenerated.
45541         * tests/unictype/test-pr_dash.c: Regenerated.
45542         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45543         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45544         * tests/unictype/test-pr_deprecated.c: Regenerated.
45545         * tests/unictype/test-pr_diacritic.c: Regenerated.
45546         * tests/unictype/test-pr_extender.c: Regenerated.
45547         * tests/unictype/test-pr_format_control.c: Regenerated.
45548         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45549         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45550         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45551         * tests/unictype/test-pr_id_continue.c: Regenerated.
45552         * tests/unictype/test-pr_id_start.c: Regenerated.
45553         * tests/unictype/test-pr_ideographic.c: Regenerated.
45554         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45555         * tests/unictype/test-pr_lowercase.c: Regenerated.
45556         * tests/unictype/test-pr_math.c: Regenerated.
45557         * tests/unictype/test-pr_numeric.c: Regenerated.
45558         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45559         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45560         Regenerated.
45561         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45562         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45563         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45564         * tests/unictype/test-pr_other_math.c: Regenerated.
45565         * tests/unictype/test-pr_punctuation.c: Regenerated.
45566         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45567         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45568         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45569         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45570         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45571         * tests/unictype/test-pr_uppercase.c: Regenerated.
45572         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45573         * tests/unictype/test-pr_xid_start.c: Regenerated.
45574         * tests/unictype/test-pr_zero_width.c: Regenerated.
45575
45576         Update to Unicode 5.1.0.
45577         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45578         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45579         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45580         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45581         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45582         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45583         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45584         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45585         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45586         (nonspacing_table_ind): Update.
45587         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45588
45589         Update to Unicode 5.1.0.
45590         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45591         code transform.
45592         * lib/uniname/uniname.c (unicode_character_name,
45593         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45594         * lib/uniname/uninames.h: Regenerated.
45595         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45596
45597 2009-02-07  Bruno Haible  <bruno@clisp.org>
45598
45599         Merge gen-ctype and gen-lbrk into a single program.
45600         * lib/gen-uni-tables.c: New file, incorporating
45601         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45602         Add directory prefixes to the names of the generated files.
45603         * lib/unictype/gen-ctype.c: Remove file.
45604         * lib/unilbrk/gen-lbrk.c: Remove file.
45605         * modules/gen-uni-tables: New file.
45606         * modules/unictype/gen-ctype: Remove file.
45607         * modules/unilbrk/gen-lbrk: Remove file.
45608
45609 2009-02-07  Bruno Haible  <bruno@clisp.org>
45610
45611         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45612
45613         New module 'unistr/u32-strcoll'.
45614         * modules/unistr/u32-strcoll: New file.
45615         * lib/unistr/u32-strcoll.c: New file.
45616
45617         New module 'unistr/u16-strcoll'.
45618         * modules/unistr/u16-strcoll: New file.
45619         * lib/unistr/u16-strcoll.c: New file.
45620
45621         New module 'unistr/u8-strcoll'.
45622         * modules/unistr/u8-strcoll: New file.
45623         * lib/unistr/u8-strcoll.c: New file.
45624         * lib/unistr/u-strcoll.h: New file.
45625
45626 2009-02-07  Bruno Haible  <bruno@clisp.org>
45627
45628         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45629         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45630         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45631         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45632         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45633         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45634
45635 2009-02-07  Bruno Haible  <bruno@clisp.org>
45636
45637         Make 64-bit clean.
45638         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45639         output_combclass, output_bidi_category, output_decimal_digit,
45640         output_digit, output_numeric, output_mirror, output_scripts,
45641         output_ident_category): Use proper width specifier in format strings.
45642
45643 2009-02-07  Bruno Haible  <bruno@clisp.org>
45644
45645         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45646         failure behaviour.
45647
45648 2009-02-07  Jim Meyering  <meyering@redhat.com>
45649
45650         regex: avoid compilation failure with upcoming gcc-4.4
45651         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45652         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45653         "... error: integer overflow in preprocessor expression".
45654
45655 2009-02-05  Ben Pfaff  <blp@gnu.org>
45656
45657         Fix link errors on Windows when close module is used.
45658         * modules/close: Add $(LIB_CLOSE) to Link section.
45659         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45660         $(LIB_CLOSE) on Windows.
45661
45662 2009-02-05  Jim Meyering  <meyering@redhat.com>
45663
45664         still avoid unused-parameter warnings, but do it cleanly
45665         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45666         (get_fs_usage): Cast to void instead.
45667         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45668         (dev_from_mount_options, read_file_system_list): Cast to void.
45669         Prompted by Bruno Haible.
45670
45671 2009-02-04  Jim Meyering  <meyering@redhat.com>
45672
45673         fsusage.c: correct copyright year
45674         * lib/fsusage.c: Reflect year in which the change is pushed into
45675
45676         avoid misc. warnings
45677         * lib/fsusage.c (UNUSED_PARAM): Define.
45678         (get_fs_usage): Mark parameter "disk" as unused.
45679         * lib/getugroups.c (getgrent): Use "void" in prototype.
45680         * lib/mountlist.c: Mark unused parameters.
45681         (read_file_system_list): Declare a local with "const".
45682         * lib/nanosleep.c (getnow): Declare static.
45683         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45684
45685         dirfd: set errno upon failure
45686         * lib/dirfd.c: Include <errno.h>.
45687         Set errno to ENOTSUP when returning -1.
45688         * modules/dirfd (Depends-on): Add errno.
45689         Suggested by John Kodis <kodis@comcast.net>.
45690
45691 2009-02-01  Bruno Haible  <bruno@clisp.org>
45692
45693         Don't assume sizeof (long) >= sizeof (void *).
45694         * lib/memcmp.c: Include stdint.h.
45695         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45696         srcp2 to 'const byte *'.
45697         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45698         types to uintptr_t.
45699         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45700         * modules/memcmp (Depends-on): Add stdint.
45701         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45702
45703 2009-01-30  Eric Blake  <ebb9@byu.net>
45704
45705         fix more require-before-expand issues
45706         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45707         expand, AC_PROG_AWK.
45708         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45709
45710 2009-01-28  Eric Blake  <ebb9@byu.net>
45711
45712         version-etc: use consistent URL formatting
45713         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45714         Improve formatting.  Use fputs for string without %.
45715
45716 2009-01-28  Jim Meyering  <meyering@redhat.com>
45717
45718         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45719         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45720         "underquoted definition of NAME" from autoconf-2.59.
45721
45722 2009-01-28  Bruno Haible  <bruno@clisp.org>
45723
45724         * doc/gnulib.texi: Add "Obsolete modules" to index.
45725
45726 2009-01-28  Jim Meyering  <meyering@redhat.com>
45727
45728         useless-if-before-free: recognize more variants
45729         * build-aux/useless-if-before-free: Also recognize e.g.,
45730         if (NULL != p) free (p);
45731
45732 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45733
45734         test-getaddrinfo: skip (don't fail) this test when there's no network
45735         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45736         on the presumption that it means you lack network access.
45737
45738 2009-01-26  Jim Meyering  <meyering@redhat.com>
45739
45740         fflush: avoid warnings on modern systems
45741         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45742         pos and result, into scopes where they're used.
45743
45744 2009-01-26  Eric Blake  <ebb9@byu.net>
45745
45746         Silence warning reintroduced by recent extensions patch.
45747         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45748         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45749         autoconf.
45750
45751         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45752         * m4/00gnulib.m4: New file.
45753         * gnulib-tool (func_get_filelist): Always use it.
45754         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45755         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45756
45757 2009-01-25  Bruno Haible  <bruno@clisp.org>
45758
45759         Make test-quotearg work on MacOS X and AIX.
45760         * tests/test-quotearg.sh: New file.
45761         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45762         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45763         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45764         include <libintl.h>.
45765         (fake_locale): Remove variable.
45766         (gettext, dgettext, dcgettext): Remove functions.
45767         (main): Instead of setting a fake locale, set a real locale. Call
45768         textdomain and bindtextdomain.
45769         * modules/quotearg-tests (Files): Add the new files.
45770         (Depends-on): Add gettext, setenv, unsetenv.
45771         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45772         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45773         Augment TESTS_ENVIRONMENT.
45774
45775 2009-01-25  Bruno Haible  <bruno@clisp.org>
45776
45777         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45778         fr_FR.ISO8859-1 locale on MacOS X.
45779         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45780         ja_JP.eucJP locale on MacOS X.
45781         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45782         zh_CN.GB18030 locale on MacOS X.
45783
45784 2009-01-25  Bruno Haible  <bruno@clisp.org>
45785
45786         Avoid link errors on MacOS X 10.3.
45787         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45788         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45789
45790 2009-01-25  Bruno Haible  <bruno@clisp.org>
45791
45792         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45793         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45794         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45795         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45796         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45797         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45798         posix_spawnattr_init, posix_spawnattr_setsigmask,
45799         posix_spawnattr_setflags, posix_spawnattr_destroy.
45800
45801         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45802         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
45803         * modules/execute (Files): Remove m4/posix_spawn.m4.
45804         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45805         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45806         posix_spawnattr_init, posix_spawnattr_setsigmask,
45807         posix_spawnattr_setflags, posix_spawnattr_destroy.
45808
45809 2009-01-25  Bruno Haible  <bruno@clisp.org>
45810
45811         * lib/glthread/threadlib.c: Include <stdlib.h>.
45812
45813 2009-01-25  Bruno Haible  <bruno@clisp.org>
45814
45815         * lib/glthread/threadlib.c (dummy): New declaration.
45816
45817 2009-01-25  Bruno Haible  <bruno@clisp.org>
45818
45819         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45820         multibyte characters also for the GB18030 encoding. Don't crash when
45821         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45822
45823 2009-01-25  Bruno Haible  <bruno@clisp.org>
45824
45825         Avoid redefining 'struct random_data' on OSF/1 5.1.
45826         * lib/stdlib.in.h: Include <random.h> if it exists.
45827         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45828         HAVE_RANDOM_H. Include <random.h> when testing whether
45829         'struct random_data' exists.
45830         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45831
45832 2009-01-25  Bruno Haible  <bruno@clisp.org>
45833
45834         Don't install charset.alias on MacOS X >= 10.3.
45835         * lib/localcharset.c (DARWIN7): New macro.
45836         (get_charset_aliases): Hardcode the result for Darwin7.
45837         * modules/localcharset (install-exec-local): Don't install
45838         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45839
45840 2009-01-25  Bruno Haible  <bruno@clisp.org>
45841
45842         Don't install charset.alias on mingw and Cygwin.
45843         * modules/localcharset (install-exec-local): Don't install
45844         charset.alias on mingw and Cygwin, if the file does not yet exist.
45845         The result for these platforms is hardcoded in localcharset.c.
45846
45847 2009-01-25  Bruno Haible  <bruno@clisp.org>
45848
45849         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45850         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45851         before requiring AC_USE_SYSTEM_EXTENSIONS.
45852
45853 2009-01-25  Jim Meyering  <meyering@redhat.com>
45854
45855         c-strtod: avoid warnings
45856         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45857         "assignment discards qualifiers from pointer target type" warnings.
45858
45859 2009-01-24  Bruno Haible  <bruno@clisp.org>
45860
45861         Add support for non-UTF-8 locales on MacOS X.
45862         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45863         canonical encodings. For Darwin 7 and newer, don't map traditional
45864         encodings to UTF-8.
45865         Reported by Vincent Lefevre <vincent@vinc17.org>
45866         at <http://savannah.gnu.org/bugs/?25235>.
45867
45868 2009-01-24  Bruno Haible  <bruno@clisp.org>
45869
45870         * doc/gnulib.texi (Obsolete modules): New section.
45871         Reported by Mike Frysinger <vapier@gentoo.org>.
45872
45873 2009-01-24  Bruno Haible  <bruno@clisp.org>
45874
45875         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45876         (%.dvi): New rule.
45877
45878 2009-01-24  Bruno Haible  <bruno@clisp.org>
45879
45880         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45881         Reported by Eric Blake.
45882
45883 2009-01-24  Bruno Haible  <bruno@clisp.org>
45884
45885         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45886         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45887         Reported by Gary V. Vaughan <gary@gnu.org>.
45888
45889 2009-01-24  Bruno Haible  <bruno@clisp.org>
45890
45891         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45892
45893 2009-01-23  Bruno Haible  <bruno@clisp.org>
45894
45895         Make c-strtod, c-strtold usable in libraries.
45896         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45897         (C_STRTOD): Call strdup instead of xstrdup.
45898         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45899         * modules/c-strtold (Depends-on): Likewise.
45900         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45901         * NEWS: Mention the change.
45902         Reported by Michael Gold <mgold@ncf.ca>.
45903
45904 2009-01-23  Jim Meyering  <meyering@redhat.com>
45905
45906         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45907         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45908         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45909
45910 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45911
45912         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45913         GNU CoreUtils.
45914         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45915         * modules/version-etc (Description): Update.
45916
45917 2009-01-22  Bruno Haible  <bruno@clisp.org>
45918
45919         Cache the C locale object.
45920         * lib/c-strtod.c (c_locale_cache): New variable.
45921         (c_locale): New function.
45922         (C_STRTOD): Use it, and don't call freelocale.
45923         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
45924         Suggested by Paolo Bonzini.
45925
45926 2009-01-21  Bruno Haible  <bruno@clisp.org>
45927
45928         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
45929         conditions other than overflow.
45930
45931 2009-01-21  Bruno Haible  <bruno@clisp.org>
45932
45933         * lib/c-strtod.c: Include errno.h.
45934         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
45935         value from STRTOD_L and STRTOD.
45936
45937 2009-01-21  Bruno Haible  <bruno@clisp.org>
45938         and Jim Meyering  <meyering@redhat.com>
45939
45940         nanosleep: skip configure test (fail it) for apple universal builds
45941         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
45942         universal builds, assume that nanosleep does not work.
45943         * modules/nanosleep (Depends-on): Add multiarch.
45944
45945         mktime: skip configure test (fail it) for apple universal builds
45946         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
45947         universal builds, assume that mktime does not work.
45948         * modules/mktime (Depends-on): Add multiarch.
45949
45950 2009-01-21  Eric Blake  <ebb9@byu.net>
45951
45952         multiarch: avoid expand-before-require warning
45953         * modules/multiarch (configure.ac): Require, rather than expand,
45954         gl_MULTIARCH.
45955         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
45956         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
45957         enforce that all clients require it.  Partial reversion of
45958         2008-12-29 patch.
45959
45960         error: avoid expand-before-require warning
45961         * modules/errno (configure.ac): Require, rather than expand,
45962         gl_HEADER_ERRNO_H.
45963         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
45964         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
45965         enforce that all clients require it.
45966
45967         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
45968         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
45969         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
45970         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
45971
45972 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
45973
45974         Revert:
45975         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45976
45977         regex: do not depend on obsolete modules.
45978         * modules/regex: Remove memcmp and memmove.
45979
45980 2009-01-20  Bruno Haible  <bruno@clisp.org>
45981
45982         Make the 'link' module link on Windows NT 4.
45983         * lib/link.c (_WIN32_WINNT): Don't define.
45984         (CreateHardLinkFuncType): New type.
45985         (CreateHardLinkFunc, initialized): New variables.
45986         (initialize): New function.
45987         (link): Invoke CreateHardLink indirectly through the function pointer.
45988
45989 2009-01-20  Bruno Haible  <bruno@clisp.org>
45990
45991         Fix compilation failure on mingw.
45992         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
45993
45994 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
45995
45996         * doc/c-strtod.texi: Mention a couple of restrictions.
45997
45998 2009-01-20  Jim Meyering  <meyering@redhat.com>
45999
46000         gettimeofday: move more declarations out of functions
46001         * lib/gettimeofday.c: Move extern declarations of tzset and
46002         gmtime out of containing functions.  Prompted by Bruno Haible.
46003
46004 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46005
46006         regex: do not depend on obsolete modules.
46007         * modules/regex: Remove memcmp and memmove.
46008
46009 2009-01-19  Bruno Haible  <bruno@clisp.org>
46010
46011         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46012         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46013         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46014         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46015         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46016
46017 2009-01-19  Bruno Haible  <bruno@clisp.org>
46018
46019         * tests/test-link.c: Include <errno.h>.
46020         (main): Exit with code 77 when a hard link cannot be created due to
46021         the file system.
46022         * tests/test-link.sh: Skip test when a hard link cannot be created due
46023         to the file system.
46024         Suggested by Eric Blake.
46025
46026 2009-01-19  Martin Lambers  <marlam@marlam.de>
46027
46028         * modules/link-tests: New file.
46029         * tests/test-link.sh: New file.
46030         * tests/test-link.c: New file.
46031
46032 2009-01-19  Eric Blake  <ebb9@byu.net>
46033
46034         doc: mention another function added in cygwin 1.7.0
46035         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46036         Another new function in cygwin 1.7.
46037
46038 2009-01-19  Bruno Haible  <bruno@clisp.org>
46039
46040         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46041         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46042         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46043         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46044         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46045         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46046         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46047         * m4/md4.m4 (gl_MD4): Likewise.
46048         * m4/md5.m4 (gl_MD5): Likewise.
46049         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46050         * m4/sha1.m4 (gl_SHA1): Likewise.
46051         * m4/sha256.m4 (gl_SHA256): Likewise.
46052         * m4/sha512.m4 (gl_SHA512): Likewise.
46053
46054 2009-01-19  Bruno Haible  <bruno@clisp.org>
46055
46056         * modules/uniname/uniname-tests (Depends-on): Add progname.
46057         * tests/uniname/test-uninames.c: Include progname.h.
46058         (main): Call set_program_name.
46059
46060         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46061         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46062         (main): Call set_program_name.
46063
46064         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46065         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46066         (main): Call set_program_name.
46067
46068         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46069         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46070         (main): Call set_program_name.
46071
46072         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46073         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46074         (main): Call set_program_name.
46075
46076         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46077         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46078         (main): Call set_program_name.
46079
46080         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46081         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46082         (main): Call set_program_name.
46083
46084         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46085         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46086         (main): Call set_program_name.
46087
46088         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46089         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46090         (main): Call set_program_name.
46091
46092 2009-01-19  Eric Blake  <ebb9@byu.net>
46093
46094         test-unistd: test previous patch
46095         * tests/test-unistd.c: Test *_FILENO macros.
46096
46097         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46098         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46099         Guarantee a definition.
46100         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46101         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46102         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46103         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46104         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46105         Likewise.
46106         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46107         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46108         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46109         Likewise.
46110         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46111         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46112         (STDERR_FILENO): Likewise.
46113         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46114         (STDERR_FILENO): Likewise.
46115         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46116         (STDERR_FILENO): Likewise.
46117         Reported by Elbert Pol.
46118
46119 2009-01-19  Eric Blake  <ebb9@byu.net>
46120
46121         doc: mention more functions added in cygwin 1.7.0
46122         * doc/posix-functions/abort.texi (abort): Update wording related
46123         to cygwin.
46124         * doc/posix-functions/daylight.texi (daylight): Likewise.
46125         * doc/posix-functions/optarg.texi (optarg): Likewise.
46126         * doc/posix-functions/optarg.texi (opterr): Likewise.
46127         * doc/posix-functions/optarg.texi (optind): Likewise.
46128         * doc/posix-functions/optarg.texi (optopt): Likewise.
46129         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46130         worked in 1.5.x, and was withdrawn in 1.7.
46131         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46132         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46133         cygwin versions.
46134         * doc/posix-functions/perror.texi (perror): Likewise.
46135         * doc/posix-functions/printf.texi (printf): Likewise.
46136         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46137         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46138         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46139         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46140         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46141         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46142         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46143         Likewise.
46144         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46145         Likewise.
46146         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46147         this function.
46148         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46149         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46150         Likewise.
46151         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46152         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46153         * doc/posix-functions/confstr.texi (confstr): Likewise.
46154         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46155         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46156         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46157         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46158         * doc/posix-functions/fputws.texi (fputws): Likewise.
46159         * doc/posix-functions/fwide.texi (fwide): Likewise.
46160         * doc/posix-functions/getwc.texi (getwc): Likewise.
46161         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46162         * doc/posix-functions/putwc.texi (putwc): Likewise.
46163         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46164         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46165         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46166         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46167         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46168         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46169         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46170         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46171         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46172         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46173         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46174
46175 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46176
46177         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46178         * lib/ioctl.c: Include <sys/ioctl.h>.
46179
46180 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46181
46182         * modules/getdate-tests (Depends-on): Add progname.
46183         * tests/test-getdate.c: Use progname module, to avoid link errors
46184         on non-glibc systems.
46185
46186 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46187
46188         * modules/filenamecat-tests (Depends-on): Add progname.
46189         * modules/fstrcmp-tests (Depends-on): Likewise.
46190
46191         * tests/test-filenamecat.c: Use progname module, to avoid link
46192         errors on non-glibc systems.
46193         * tests/test-fstrcmp.c: Likewise.
46194
46195 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46196
46197         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46198         * lib/gettimeofday.c: Move extern declaration out of function.
46199
46200 2009-01-18  Bruno Haible  <bruno@clisp.org>
46201
46202         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46203         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46204         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46205
46206 2009-01-18  Bruno Haible  <bruno@clisp.org>
46207
46208         * lib/strftime.c (MEMPCPY): Remove unused macro.
46209         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46210
46211 2009-01-18  Martin Lambers  <marlam@marlam.de>
46212
46213         New module 'link'.
46214         * lib/unistd.in.h (link): New declaration.
46215         * lib/link.c: New file.
46216         * m4/link.m4: New file.
46217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46218         HAVE_LINK.
46219         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46220         * modules/link: New file.
46221         * doc/posix-functions/link.texi: Mention the new module.
46222
46223 2009-01-18  Bruno Haible  <bruno@clisp.org>
46224
46225         * tests/test-avltree_list.c (main): Call set_program_name.
46226         * tests/test-avltree_oset.c (main): Likewise.
46227         * tests/test-obstack-printf.c: Include progname.h.
46228         (main): Call set_program_name.
46229         * tests/test-quotearg.c: Include progname.h.
46230         (main): Call set_program_name.
46231         * tests/test-xmemdup0.c: Include progname.h.
46232         (main): Call set_program_name.
46233
46234 2009-01-18  Bruno Haible  <bruno@clisp.org>
46235
46236         New module 'alphasort'.
46237         * lib/dirent.in.h (alphasort): New declaration.
46238         * lib/alphasort.c: New file, from glibc with modifications.
46239         * m4/alphasort.m4: New file.
46240         * modules/alphasort: New file.
46241         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46242         HAVE_ALPHASORT.
46243         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46244         HAVE_ALPHASORT.
46245         * doc/posix-functions/alphasort.texi: Mention the new module and the
46246         portability problems.
46247
46248 2009-01-18  Bruno Haible  <bruno@clisp.org>
46249
46250         New module 'scandir'.
46251         * lib/dirent.in.h (scandir): New declaration.
46252         * lib/scandir.c: New file, from glibc with modifications.
46253         * m4/scandir.m4: New file.
46254         * modules/scandir: New file.
46255         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46256         HAVE_SCANDIR.
46257         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46258         HAVE_SCANDIR.
46259         * doc/posix-functions/scandir.texi: Mention the new module and the
46260         portability problems.
46261
46262 2009-01-17  Bruno Haible  <bruno@clisp.org>
46263
46264         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46265         Update documentation.
46266         (func_remove_suffix): Escape all dots in the suffix. Update
46267         documentation.
46268         (func_filter_filelist): Update documentation.
46269         Reported by Ralf Wildenhues.
46270
46271 2009-01-17  Bruno Haible  <bruno@clisp.org>
46272
46273         * modules/dprintf-posix-tests: New file.
46274         * tests/test-dprintf-posix.sh: New file.
46275         * tests/test-dprintf-posix.c: New file.
46276
46277         New modules 'dprintf', 'dprintf-posix'.
46278         * lib/stdio.in.h (dprintf): New declaration.
46279         * lib/dprintf.c: New file.
46280         * m4/dprintf.m4: New file.
46281         * m4/dprintf-posix.m4: New file.
46282         * modules/dprintf: New file.
46283         * modules/dprintf-posix: New file.
46284         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46285         HAVE_DPRINTF, REPLACE_DPRINTF.
46286         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46287         HAVE_DPRINTF, REPLACE_DPRINTF.
46288         * doc/posix-functions/dprintf.texi: Mention the new modules.
46289
46290 2009-01-17  Bruno Haible  <bruno@clisp.org>
46291
46292         * modules/vdprintf-posix-tests: New file.
46293         * tests/test-vdprintf-posix.sh: New file.
46294         * tests/test-vdprintf-posix.c: New file.
46295
46296         New modules 'vdprintf', 'vdprintf-posix'.
46297         * lib/stdio.in.h (vdprintf): New declaration.
46298         * lib/vdprintf.c: New file.
46299         * m4/vdprintf.m4: New file.
46300         * m4/vdprintf-posix.m4: New file.
46301         * modules/vdprintf: New file.
46302         * modules/vdprintf-posix: New file.
46303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46304         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46305         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46306         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46307         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46308
46309 2009-01-17  Bruno Haible  <bruno@clisp.org>
46310
46311         Fix replacement of fopen on mingw.
46312         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46313         mingw.
46314
46315 2009-01-17  Bruno Haible  <bruno@clisp.org>
46316
46317         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46318         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46319
46320 2009-01-17  Bruno Haible  <bruno@clisp.org>
46321
46322         Avoid test-fflush2.sh failure on mingw.
46323         * tests/test-fflush2.c: Include binary-io.h.
46324         (main): Put standard input into binary mode.
46325         * modules/fflush-tests (Depends-on): Add binary-io.
46326
46327 2009-01-17  Bruno Haible  <bruno@clisp.org>
46328
46329         * lib/wchar.in.h: In another particular situation, include only the
46330         system's <wchar.h> file.
46331         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46332         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46333         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46334
46335 2009-01-17  Bruno Haible  <bruno@clisp.org>
46336
46337         Support for stripping executables in --enable-relocatable.
46338         * build-aux/install-reloc: Expect one more argument, or an environment
46339         variable RELOC_STRIP_PROG. If set, strip the destination program and
46340         its wrapper.
46341         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46342         RELOC_STRIP_PROG.
46343         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46344         to set RELOCATABLE_STRIP.
46345         * NEWS: Mention the new Makefile requirement.
46346
46347 2009-01-17  Bruno Haible  <bruno@clisp.org>
46348
46349         * build-aux/install-reloc: Remove debugging information left over by
46350         C compiler on MacOS X.
46351
46352 2009-01-17  Bruno Haible  <bruno@clisp.org>
46353
46354         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46355         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46356         _NSGetExecutablePath.
46357
46358 2009-01-16  Jim Meyering  <meyering@redhat.com>
46359
46360         strerror: avoid warnings about discarding "const"
46361         * lib/strerror.c (rpl_strerror): Instead of returning a const
46362         string from each and every "case", use a variable, and add a single
46363         cast after the switch.
46364
46365 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46366
46367         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46368
46369 2009-01-16  Bruno Haible  <bruno@clisp.org>
46370
46371         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46372         array initializer syntax that also works in C++ mode.
46373         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46374
46375 2009-01-16  Jim Meyering  <meyering@redhat.com>
46376
46377         poll: suppress a warning
46378         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46379         to ignore "...unsigned expression < 0 is always false" warnings.
46380
46381 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46382
46383         poll: remove declarations of unused variables
46384         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46385         sockbuf and optlen.
46386
46387 2009-01-15  Bruno Haible  <bruno@clisp.org>
46388
46389         Make fflush-after-ungetc POSIX compliant on BSD systems.
46390         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46391         (clear_ungetc_buffer): Implement also for other systems.
46392         (rpl_fflush): On glibc systems, invoke
46393         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46394         clear_ungetc_buffer after fetching the stream's position, not before.
46395
46396 2009-01-15  Bruno Haible  <bruno@clisp.org>
46397
46398         Make fflush-after-ungetc POSIX compliant on glibc systems.
46399         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46400         after ungetc.
46401         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46402         (rpl_fflush): On glibc systems, simply call the system's fflush
46403         function after clearing the ungetc buffer.
46404         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46405         Instead, lseek only to the end of file, then use the system's fseeko
46406         for the rest. On glibc systems, reset the EOF indicator bit.
46407
46408 2009-01-15  Jim Meyering  <meyering@redhat.com>
46409
46410         openmp.m4: revert quote-adding change, for portability to older autoconf
46411         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46412         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46413         Simon Josefsson noticed the problem when using autoconf-2.61.
46414
46415 2009-01-15  Bruno Haible  <bruno@clisp.org>
46416
46417         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46418         * tests/test-fflush2.c (ASSERT): Always fail.
46419         (main): Add two tests for fflush() after ungetc(), taking into account
46420         the Austin Group's clarification.
46421         Suggested by Eric Blake.
46422
46423 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46424
46425         mktime.m4: remove K&R-style function prototypes
46426         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46427         for the Sun C++ compiler.
46428
46429 2009-01-14  Bruno Haible  <bruno@clisp.org>
46430
46431         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46432         while including <wchar.h>.
46433         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46434         the system's <wchar.h> file.
46435         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46436
46437 2009-01-14  Bruno Haible  <bruno@clisp.org>
46438
46439         * m4/csharp.m4: Don't mention gettext on the serial number line.
46440         * m4/csharpexec.m4: Likewise.
46441         * m4/eaccess.m4: Likewise.
46442         * m4/javaexec.m4: Likewise.
46443         * m4/sig_atomic_t.m4: Likewise.
46444         * m4/tmpdir.m4: Likewise.
46445         * m4/intldir.m4: Bump gettext version.
46446         * m4/lib-ld.m4: Likewise.
46447
46448 2009-01-14  Bruno Haible  <bruno@clisp.org>
46449
46450         * lib/progname.c (set_program_name): Add more comments.
46451         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46452
46453 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46454
46455         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46456         were sys/stat.h does not define it.
46457
46458 2009-01-14  Jim Meyering  <meyering@redhat.com>
46459
46460         many *.m4 files: improve m4 quoting
46461         99% of this change was performed by running the following commands:
46462         git ls-files | grep '\.m4$' | xargs perl -pi \
46463           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46464           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46465           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46466           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46467         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46468         The remainder were to add Copyright dates, increment serial numbers,
46469         undo some changes in comments, exclude m4/intl.m4, and add quotes
46470         around the "1" in ",1" where the unusual spacing prohibited the
46471         above regexps from doing the job.  For more details, see
46472         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46473         * m4/acl.m4: Modified.
46474         * m4/afs.m4: Likewise.
46475         * m4/alloca.m4: Likewise.
46476         * m4/argp.m4: Likewise.
46477         * m4/argz.m4: Likewise.
46478         * m4/atexit.m4: Likewise.
46479         * m4/bison-i18n.m4: Likewise.
46480         * m4/bison.m4: Likewise.
46481         * m4/byteswap.m4: Likewise.
46482         * m4/c-stack.m4: Likewise.
46483         * m4/c-strtod.m4: Likewise.
46484         * m4/calloc.m4: Likewise.
46485         * m4/canonicalize-lgpl.m4: Likewise.
46486         * m4/chown.m4: Likewise.
46487         * m4/clock_time.m4: Likewise.
46488         * m4/codeset.m4: Likewise.
46489         * m4/copy-file.m4: Likewise.
46490         * m4/csharp.m4: Likewise.
46491         * m4/csharpcomp.m4: Likewise.
46492         * m4/csharpexec.m4: Likewise.
46493         * m4/d-ino.m4: Likewise.
46494         * m4/d-type.m4: Likewise.
46495         * m4/dirfd.m4: Likewise.
46496         * m4/double-slash-root.m4: Likewise.
46497         * m4/eaccess.m4: Likewise.
46498         * m4/eealloc.m4: Likewise.
46499         * m4/environ.m4: Likewise.
46500         * m4/errno_h.m4: Likewise.
46501         * m4/euidaccess.m4: Likewise.
46502         * m4/execute.m4: Likewise.
46503         * m4/fatal-signal.m4: Likewise.
46504         * m4/fchdir.m4: Likewise.
46505         * m4/fcntl_h.m4: Likewise.
46506         * m4/fileblocks.m4: Likewise.
46507         * m4/filenamecat.m4: Likewise.
46508         * m4/findprog.m4: Likewise.
46509         * m4/flexmember.m4: Likewise.
46510         * m4/fnmatch.m4: Likewise.
46511         * m4/fopen.m4: Likewise.
46512         * m4/fpending.m4: Likewise.
46513         * m4/fprintf-posix.m4: Likewise.
46514         * m4/free.m4: Likewise.
46515         * m4/frexp.m4: Likewise.
46516         * m4/frexpl.m4: Likewise.
46517         * m4/fsusage.m4: Likewise.
46518         * m4/ftruncate.m4: Likewise.
46519         * m4/gc-camellia.m4: Likewise.
46520         * m4/gc-random.m4: Likewise.
46521         * m4/gc.m4: Likewise.
46522         * m4/getaddrinfo.m4: Likewise.
46523         * m4/getcwd-abort-bug.m4: Likewise.
46524         * m4/getcwd-path-max.m4: Likewise.
46525         * m4/getdate.m4: Likewise.
46526         * m4/getdomainname.m4: Likewise.
46527         * m4/getgroups.m4: Likewise.
46528         * m4/gethostname.m4: Likewise.
46529         * m4/gethrxtime.m4: Likewise.
46530         * m4/getline.m4: Likewise.
46531         * m4/getloadavg.m4: Likewise.
46532         * m4/getndelim2.m4: Likewise.
46533         * m4/getpass.m4: Likewise.
46534         * m4/gettext.m4: Likewise.
46535         * m4/gettime.m4: Likewise.
46536         * m4/gettimeofday.m4: Likewise.
46537         * m4/gnulib-common.m4: Likewise.
46538         * m4/group-member.m4: Likewise.
46539         * m4/host-os.m4: Likewise.
46540         * m4/iconv.m4: Likewise.
46541         * m4/iconv_open.m4: Likewise.
46542         * m4/inet_ntop.m4: Likewise.
46543         * m4/inet_pton.m4: Likewise.
46544         * m4/inline.m4: Likewise.
46545         * m4/intldir.m4: Likewise.
46546         * m4/intlmacosx.m4: Likewise.
46547         * m4/intmax.m4: Likewise.
46548         * m4/intmax_t.m4: Likewise.
46549         * m4/inttypes.m4: Likewise.
46550         * m4/inttypes_h.m4: Likewise.
46551         * m4/inttypes-pri.m4: Likewise.
46552         * m4/isapipe.m4: Likewise.
46553         * m4/isnand.m4: Likewise.
46554         * m4/isnanf.m4: Likewise.
46555         * m4/isnanl.m4: Likewise.
46556         * m4/javacomp.m4: Likewise.
46557         * m4/javaexec.m4: Likewise.
46558         * m4/jm-winsz1.m4: Likewise.
46559         * m4/jm-winsz2.m4: Likewise.
46560         * m4/lchown.m4: Likewise.
46561         * m4/lcmessage.m4: Likewise.
46562         * m4/ldexpl.m4: Likewise.
46563         * m4/lib-ld.m4: Likewise.
46564         * m4/lib-link.m4: Likewise.
46565         * m4/libsigsegv.m4: Likewise.
46566         * m4/link-follow.m4: Likewise.
46567         * m4/localcharset.m4: Likewise.
46568         * m4/locale-fr.m4: Likewise.
46569         * m4/locale-ja.m4: Likewise.
46570         * m4/locale-tr.m4: Likewise.
46571         * m4/locale-zh.m4: Likewise.
46572         * m4/lock.m4: Likewise.
46573         * m4/longlong.m4: Likewise.
46574         * m4/ls-mntd-fs.m4: Likewise.
46575         * m4/lstat.m4: Likewise.
46576         * m4/malloc.m4: Likewise.
46577         * m4/mathl.m4: Likewise.
46578         * m4/mbrtowc.m4: Likewise.
46579         * m4/mbstate_t.m4: Likewise.
46580         * m4/mbswidth.m4: Likewise.
46581         * m4/memchr.m4: Likewise.
46582         * m4/memcmp.m4: Likewise.
46583         * m4/memcpy.m4: Likewise.
46584         * m4/memmem.m4: Likewise.
46585         * m4/memmove.m4: Likewise.
46586         * m4/mempcpy.m4: Likewise.
46587         * m4/memrchr.m4: Likewise.
46588         * m4/memset.m4: Likewise.
46589         * m4/minmax.m4: Likewise.
46590         * m4/mkdir-slash.m4: Likewise.
46591         * m4/mkdtemp.m4: Likewise.
46592         * m4/mktime.m4: Likewise.
46593         * m4/mmap-anon.m4: Likewise.
46594         * m4/mountlist.m4: Likewise.
46595         * m4/nanosleep.m4: Likewise.
46596         * m4/nls.m4: Likewise.
46597         * m4/nocrash.m4: Likewise.
46598         * m4/open.m4: Likewise.
46599         * m4/openat.m4: Likewise.
46600         * m4/openmp.m4: Likewise.
46601         * m4/pathmax.m4: Likewise.
46602         * m4/perl.m4: Likewise.
46603         * m4/physmem.m4: Likewise.
46604         * m4/pipe.m4: Likewise.
46605         * m4/po.m4: Likewise.
46606         * m4/poll.m4: Likewise.
46607         * m4/posixtm.m4: Likewise.
46608         * m4/posixver.m4: Likewise.
46609         * m4/printf-frexp.m4: Likewise.
46610         * m4/printf-frexpl.m4: Likewise.
46611         * m4/printf-posix.m4: Likewise.
46612         * m4/printf-posix-rpl.m4: Likewise.
46613         * m4/printf.m4: Likewise.
46614         * m4/progtest.m4: Likewise.
46615         * m4/putenv.m4: Likewise.
46616         * m4/readline.m4: Likewise.
46617         * m4/readlink.m4: Likewise.
46618         * m4/readutmp.m4: Likewise.
46619         * m4/realloc.m4: Likewise.
46620         * m4/regex.m4: Likewise.
46621         * m4/relocatable.m4: Likewise.
46622         * m4/relocatable-lib.m4: Likewise.
46623         * m4/rename-dest-slash.m4: Likewise.
46624         * m4/rename.m4: Likewise.
46625         * m4/rmdir-errno.m4: Likewise.
46626         * m4/rmdir.m4: Likewise.
46627         * m4/roundf.m4: Likewise.
46628         * m4/roundl.m4: Likewise.
46629         * m4/rpmatch.m4: Likewise.
46630         * m4/save-cwd.m4: Likewise.
46631         * m4/selinux-selinux-h.m4: Likewise.
46632         * m4/setenv.m4: Likewise.
46633         * m4/settime.m4: Likewise.
46634         * m4/sig2str.m4: Likewise.
46635         * m4/sig_atomic_t.m4: Likewise.
46636         * m4/signalblocking.m4: Likewise.
46637         * m4/signbit.m4: Likewise.
46638         * m4/sigpipe.m4: Likewise.
46639         * m4/sockets.m4: Likewise.
46640         * m4/sockpfaf.m4: Likewise.
46641         * m4/st_dm_mode.m4: Likewise.
46642         * m4/stat-time.m4: Likewise.
46643         * m4/stdbool.m4: Likewise.
46644         * m4/stdint.m4: Likewise.
46645         * m4/stdint_h.m4: Likewise.
46646         * m4/stpcpy.m4: Likewise.
46647         * m4/stpncpy.m4: Likewise.
46648         * m4/strcase.m4: Likewise.
46649         * m4/strchrnul.m4: Likewise.
46650         * m4/strcspn.m4: Likewise.
46651         * m4/strdup.m4: Likewise.
46652         * m4/strftime.m4: Likewise.
46653         * m4/strndup.m4: Likewise.
46654         * m4/strnlen.m4: Likewise.
46655         * m4/strpbrk.m4: Likewise.
46656         * m4/strptime.m4: Likewise.
46657         * m4/strsep.m4: Likewise.
46658         * m4/strtod.m4: Likewise.
46659         * m4/strtoimax.m4: Likewise.
46660         * m4/strtok_r.m4: Likewise.
46661         * m4/strtol.m4: Likewise.
46662         * m4/strtoll.m4: Likewise.
46663         * m4/strtoul.m4: Likewise.
46664         * m4/strtoull.m4: Likewise.
46665         * m4/strtoumax.m4: Likewise.
46666         * m4/strverscmp.m4: Likewise.
46667         * m4/threadlib.m4: Likewise.
46668         * m4/timegm.m4: Likewise.
46669         * m4/tm_gmtoff.m4: Likewise.
46670         * m4/tmpdir.m4: Likewise.
46671         * m4/tmpfile.m4: Likewise.
46672         * m4/tzset.m4: Likewise.
46673         * m4/uintmax_t.m4: Likewise.
46674         * m4/unlinkdir.m4: Likewise.
46675         * m4/unlocked-io.m4: Likewise.
46676         * m4/uptime.m4: Likewise.
46677         * m4/userspec.m4: Likewise.
46678         * m4/utimbuf.m4: Likewise.
46679         * m4/utime.m4: Likewise.
46680         * m4/utimes-null.m4: Likewise.
46681         * m4/utimes.m4: Likewise.
46682         * m4/vararrays.m4: Likewise.
46683         * m4/vasnprintf.m4: Likewise.
46684         * m4/vfprintf-posix.m4: Likewise.
46685         * m4/vprintf-posix.m4: Likewise.
46686         * m4/wait-process.m4: Likewise.
46687         * m4/wchar_t.m4: Likewise.
46688         * m4/wint_t.m4: Likewise.
46689         * m4/write-any-file.m4: Likewise.
46690         * m4/yield.m4: Likewise.
46691
46692 2009-01-13  Bruno Haible  <bruno@clisp.org>
46693
46694         Avoid test-copy-file.sh failures when ACL support insufficient.
46695         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46696         TESTS_ENVIRONMENT.
46697         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46698         Reported by Jim Meyering.
46699
46700 2009-01-13  Bruno Haible  <bruno@clisp.org>
46701
46702         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46703         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46704         * modules/unistdio/u8-printf-parse (Files): Likewise.
46705         * modules/unistdio/u32-printf-parse (Files): Likewise.
46706         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46707
46708 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46709
46710         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46711         and m4/inttypes_h.m4 too.
46712
46713 2009-01-12  Eric Blake  <ebb9@byu.net>
46714
46715         tests: IRIX 6.2 cc can't compile -0.0 into .data
46716         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46717         rather than at compile-time.
46718         * tests/test-floorl.c (minus_zero): Likewise.
46719         * tests/test-frexpl.c (minus_zero): Likewise.
46720         * tests/test-isnan.c (minus_zerol): Likewise.
46721         * tests/test-isnanl.h (minus_zero): Likewise.
46722         * tests/test-ldexpl.c (minus_zero): Likewise.
46723         * tests/test-roundl.c (minus_zero): Likewise.
46724         * tests/test-signbit.c (minus_zerol): Likewise.
46725         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46726         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46727         * tests/test-truncl.c (minus_zero): Likewise.
46728         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46729         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46730         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46731
46732 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46733
46734         regex: fix glibc bug 9697
46735         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46736         handling.
46737
46738 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46739
46740         regex: fix glibc bug 697
46741         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46742         being NULL also if there are no backreferences.
46743
46744 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46745
46746         regex: merge glibc changes
46747         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46748         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46749         re_string_skip_chars, re_string_reconstruct): Likewise.
46750         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46751
46752 2009-01-07  Jim Meyering  <meyering@redhat.com>
46753
46754         poll: filter through cppi
46755         * lib/poll.c: Indent cpp directives to reflect nesting.
46756
46757 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46758
46759         poll: don't return uninitialized
46760         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46761
46762 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46763
46764         avoid compile failure on AIX 6.1
46765         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46766         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46767
46768 2009-01-04  Jim Meyering  <meyering@redhat.com>
46769
46770         remove duplicate inclusion of <stdio.h>
46771         * tests/test-fprintf-posix.c: Likewise.
46772         * tests/test-printf-posix.c: Likewise.
46773         * tests/test-snprintf-posix.c: Likewise.
46774         * tests/test-sprintf-posix.c: Likewise.
46775         * tests/test-vasprintf-posix.c: Likewise.
46776         * tests/test-vfprintf-posix.c: Likewise.
46777         * tests/test-vprintf-posix.c: Likewise.
46778         * tests/test-vsnprintf-posix.c: Likewise.
46779         * tests/test-vsprintf-posix.c: Likewise.
46780
46781 2009-01-03  Jim Meyering  <meyering@redhat.com>
46782
46783         gnulib-tool: fix sed-based filtering
46784         * gnulib-tool (func_filter_filelist): Remove extra backslash
46785         in sed_fff_filter definition.
46786
46787 2009-01-02  Jim Meyering  <meyering@redhat.com>
46788
46789         strftime: avoid compilation failure on Solaris 2.6
46790         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46791         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46792         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46793         be available.  Reported by Tom G. Christensen.  Details in
46794         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46795
46796 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46797             Bruno Haible  <bruno@clisp.org>
46798
46799         Speed up gnulib-tool by doing more string processing through shell
46800         built-ins.
46801         * gnulib-tool (fast_func_append): New variable.
46802         (func_remove_prefix, func_remove_suffix): New functions.
46803         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
46804         (func_filter_filelist): New function.
46805         (func_get_dependencies): Use func_remove_suffix instead of sed.
46806         (func_get_automake_snippet): Use func_filter_filelist instead of a
46807         subshell and sed invocation.
46808
46809 2009-01-01  Bruno Haible  <bruno@clisp.org>
46810
46811         Fix a security bug.
46812         * gnulib-tool (func_import, import, update): Don't allow the characters
46813         '"', '$', '`', '\' in macro arguments that become part of commands that
46814         are evaluated.
46815
46816 2009-01-01  Bruno Haible  <bruno@clisp.org>
46817
46818         * gnulib-tool (func_reset_sigpipe): Add more comments.
46819
46820 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46821
46822         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46823         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46824         already know the answer.
46825
46826 2009-01-01  Jim Meyering  <meyering@redhat.com>
46827
46828         * lib/version-etc.c (version_etc_va): Update copyright year.
46829
46830 2008-12-30  Bruno Haible  <bruno@clisp.org>
46831
46832         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46833         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46834         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46835
46836 2008-12-29  Eric Blake  <ebb9@byu.net>
46837
46838         multiarch: avoid autoconf AC_REQUIRE bug
46839         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46840         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46841         2.63 and older.
46842         Reported by Bruno Haible, and analyzed in
46843         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46844
46845 2008-12-29  Bruno Haible  <bruno@clisp.org>
46846
46847         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46848         files in subdirectories correctly.
46849         Reported by Ralf Wildenhues.
46850
46851 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46852
46853         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46854         rather than 'join FILE -', for Solaris join.
46855
46856 2008-12-29  Bruno Haible  <bruno@clisp.org>
46857
46858         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46859         quoting.
46860         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46861         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46862         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46863         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46864         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46865         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46866         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46867         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46868         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46869         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46870         * m4/nls.m4 (AM_NLS): Likewise.
46871         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46872         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46873         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46874         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46875         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46876         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46877         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46878         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46879         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46880         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46881         * m4/xsize.m4 (gl_XSIZE): Likewise.
46882         Suggested by Jim Meyering.
46883
46884 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46885
46886         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46887         * lib/parse-duration.c: use a switch instead of cascading if's.
46888
46889 2008-12-29  Eric Blake  <ebb9@byu.net>
46890
46891         wchar.h: supply WEOF on Irix 5.3
46892         * lib/wchar.in.h (wint_t): Also supply WEOF.
46893         * lib/wctype.in.h (wint_t): Likewise.
46894         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46895         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46896         Reported by Tom G. Christensen.
46897
46898 2008-12-26  Bruno Haible  <bruno@clisp.org>
46899
46900         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46901         i486, i586, i686.
46902
46903 2008-12-26  Bruno Haible  <bruno@clisp.org>
46904
46905         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46906
46907 2008-12-26  Bruno Haible  <bruno@clisp.org>
46908
46909         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46910         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46911         not __STDC_CONSTANT_MACROS.
46912         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46913
46914 2008-12-25  Bruno Haible  <bruno@clisp.org>
46915
46916         Add support for universal builds to vasnprintf.
46917         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
46918         universal builds, guess no.
46919         * modules/vasnprintf-posix (Depends-on): Add multiarch.
46920         * modules/vasprintf-posix (Depends-on): Likewise.
46921         * modules/fprintf-posix (Depends-on): Likewise.
46922         * modules/vfprintf-posix (Depends-on): Likewise.
46923         * modules/snprintf-posix (Depends-on): Likewise.
46924         * modules/vsnprintf-posix (Depends-on): Likewise.
46925         * modules/sprintf-posix (Depends-on): Likewise.
46926         * modules/vsprintf-posix (Depends-on): Likewise.
46927         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46928         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46929         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46930         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46931         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46932         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46933         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46934
46935         Add support for universal builds to <inttypes.h>.
46936         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
46937         _SCNu64_PREFIX): In Apple
46938         universal builds, define directly, using _LP64.
46939         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
46940         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
46941         * modules/inttypes (Depends-on): Add multiarch.
46942         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46943
46944         Add support for universal builds to <stdint.h>.
46945         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
46946         universal builds, define directly, using _LP64.
46947         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
46948         Apple universal builds, don't test for the size and suffix of ptrdiff_t
46949         and size_t.
46950         * modules/stdint (Depends-on): Add multiarch.
46951         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46952
46953         New module 'multiarch'.
46954         * modules/multiarch: New file.
46955         * m4/multiarch.m4: New file.
46956
46957 2008-12-25  Bruno Haible  <bruno@clisp.org>
46958
46959         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
46960
46961 2008-12-25  Bruno Haible  <bruno@clisp.org>
46962
46963         * modules/btowc (License): Relicense under LGPLv2+.
46964         * modules/mbsinit (License): Likewise.
46965         * modules/mbrtowc (License): Likewise.
46966         * modules/wcrtomb (License): Likewise.
46967         * modules/streq (License): Likewise.
46968         Reported by David Lutterkort <lutter@redhat.com>.
46969
46970 2008-12-23  Bruno Haible  <bruno@clisp.org>
46971
46972         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
46973
46974 2008-12-23  Bruno Haible  <bruno@clisp.org>
46975
46976         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
46977         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
46978         GETADDRINFO_LIB, not in LIBS.
46979         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
46980         * modules/canon-host (Link): Likewise.
46981         * NEWS: Mention the change.
46982         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
46983         GETADDRINFO_LIB.
46984
46985 2008-12-22  Bruno Haible  <bruno@clisp.org>
46986
46987         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
46988         * doc/posix-functions/iswalpha_l.texi: Likewise.
46989         * doc/posix-functions/iswblank_l.texi: Likewise.
46990         * doc/posix-functions/iswcntrl_l.texi: Likewise.
46991         * doc/posix-functions/iswctype_l.texi: Likewise.
46992         * doc/posix-functions/iswdigit_l.texi: Likewise.
46993         * doc/posix-functions/iswgraph_l.texi: Likewise.
46994         * doc/posix-functions/iswlower_l.texi: Likewise.
46995         * doc/posix-functions/iswprint_l.texi: Likewise.
46996         * doc/posix-functions/iswpunct_l.texi: Likewise.
46997         * doc/posix-functions/iswspace_l.texi: Likewise.
46998         * doc/posix-functions/iswupper_l.texi: Likewise.
46999         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47000         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47001         * doc/posix-functions/open_wmemstream.texi: Likewise.
47002         * doc/posix-functions/swscanf.texi: Likewise.
47003         * doc/posix-functions/towctrans_l.texi: Likewise.
47004         * doc/posix-functions/towlower.texi: Likewise.
47005         * doc/posix-functions/towlower_l.texi: Likewise.
47006         * doc/posix-functions/towupper.texi: Likewise.
47007         * doc/posix-functions/towupper_l.texi: Likewise.
47008         * doc/posix-functions/vfwprintf.texi: Likewise.
47009         * doc/posix-functions/vfwscanf.texi: Likewise.
47010         * doc/posix-functions/vswscanf.texi: Likewise.
47011         * doc/posix-functions/vwprintf.texi: Likewise.
47012         * doc/posix-functions/vwscanf.texi: Likewise.
47013         * doc/posix-functions/wcpcpy.texi: Likewise.
47014         * doc/posix-functions/wcpncpy.texi: Likewise.
47015         * doc/posix-functions/wcscasecmp.texi: Likewise.
47016         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47017         * doc/posix-functions/wcscoll_l.texi: Likewise.
47018         * doc/posix-functions/wcsdup.texi: Likewise.
47019         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47020         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47021         * doc/posix-functions/wcsnlen.texi: Likewise.
47022         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47023         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47024         * doc/posix-functions/wctrans_l.texi: Likewise.
47025         * doc/posix-functions/wctype_l.texi: Likewise.
47026         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47027         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47028         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47029         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47030         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47031         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47032         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47033         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47034         * doc/glibc-functions/wcschrnul.texi: Likewise.
47035         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47036         * doc/glibc-functions/wcstod_l.texi: Likewise.
47037         * doc/glibc-functions/wcstof_l.texi: Likewise.
47038         * doc/glibc-functions/wcstol_l.texi: Likewise.
47039         * doc/glibc-functions/wcstold_l.texi: Likewise.
47040         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47041         * doc/glibc-functions/wcstoq.texi: Likewise.
47042         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47043         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47044         * doc/glibc-functions/wcstouq.texi: Likewise.
47045         * doc/glibc-functions/wmempcpy.texi: Likewise.
47046
47047 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47048             Eric Blake  <ebb9@byu.net>
47049             Paolo Bonzini  <bonzini@gnu.org>
47050             Bruno Haible  <bruno@clisp.org>
47051
47052         Make c-stack work on Haiku.
47053         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47054         (c_stack_action): Use SA_ONSTACK flag.
47055
47056 2008-12-22  Bruno Haible  <bruno@clisp.org>
47057
47058         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47059
47060 2008-12-22  Bruno Haible  <bruno@clisp.org>
47061
47062         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47063         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47064         being overridden.
47065         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47066         New macros.
47067         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47068         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47069         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47070         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47071
47072 2008-12-22  Bruno Haible  <bruno@clisp.org>
47073
47074         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47075         from test code.
47076
47077 2008-12-22  Eric Blake  <ebb9@byu.net>
47078
47079         Avoid gcc warnings on cygwin.
47080         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47081         Avoid unused variable.
47082         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47083         Likewise.
47084
47085 2008-12-22  Bruno Haible  <bruno@clisp.org>
47086
47087         Remove HAVE_MBRTOWC conditionals.
47088         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47089         (mbscasecmp): Assume mbrtowc function.
47090         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47091         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47092         * lib/mbschr.c: Include mbuiter.h unconditionally.
47093         (mbschr): Assume mbrtowc function.
47094         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47095         (mbscspn): Assume mbrtowc function.
47096         * lib/mbslen.c: Include mbuiter.h unconditionally.
47097         (mbslen): Assume mbrtowc function.
47098         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47099         (mbsncasecmp): Assume mbrtowc function.
47100         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47101         (mbsnlen): Assume mbrtowc function.
47102         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47103         (mbspbrk): Assume mbrtowc function.
47104         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47105         (mbspcasecmp): Assume mbrtowc function.
47106         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47107         (mbsrchr): Assume mbrtowc function.
47108         * lib/mbssep.c: Include mbuiter.h unconditionally.
47109         (mbssep): Assume mbrtowc function.
47110         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47111         (mbsspn): Assume mbrtowc function.
47112         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47113         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47114         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47115         (mbstok_r): Assume mbrtowc function.
47116         * lib/propername.c: Include mbuiter.h unconditionally.
47117         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47118         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47119         (trim2): Assume mbrtowc function.
47120         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47121         (mbsnwidth): Assume mbrtowc function.
47122         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47123         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47124         fallback definitions.
47125         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47126
47127 2008-12-22  Bruno Haible  <bruno@clisp.org>
47128
47129         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47130
47131 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47132
47133         * modules/regex: Request emulations for the mb*/wc* functions we need.
47134         * m4/regex.m4: Don't look for those functions here.
47135         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47136
47137 2008-12-22  Bruno Haible  <bruno@clisp.org>
47138
47139         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47140
47141 2008-12-21  Bruno Haible  <bruno@clisp.org>
47142
47143         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47144         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47145         (Include): Remove conditionalization.
47146         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47147         (Include): Remove conditionalization.
47148         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47149         (Include): Remove conditionalization.
47150         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47151         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47152         * NEWS: Mention the change.
47153         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47154         via Sergey Poznyakoff <gray@gnu.org.ua>.
47155
47156 2008-12-21  Bruno Haible  <bruno@clisp.org>
47157
47158         * MODULES.html.sh (Extended multibyte and wide character utilities
47159         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47160         wcrtomb, wcsrtombs.
47161         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47162         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47163         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47164         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47165
47166 2008-12-21  Bruno Haible  <bruno@clisp.org>
47167
47168         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47169
47170 2008-12-21  Bruno Haible  <bruno@clisp.org>
47171
47172         * modules/wcsnrtombs-tests: New file.
47173         * tests/test-wcsnrtombs1.sh: New file.
47174         * tests/test-wcsnrtombs2.sh: New file.
47175         * tests/test-wcsnrtombs3.sh: New file.
47176         * tests/test-wcsnrtombs4.sh: New file.
47177         * tests/test-wcsnrtombs.c: New file.
47178
47179         New module 'wcsnrtombs'.
47180         * lib/wchar.in.h (wcsnrtombs): New declaration.
47181         * lib/wcsnrtombs.c: New file.
47182         * lib/wcsrtombs-state.c: New file.
47183         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47184         (internal_state): Remove variable.
47185         * m4/wcsnrtombs.m4: New file.
47186         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47187         compilation units.
47188         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47189         HAVE_WCSNRTOMBS.
47190         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47191         HAVE_WCSNRTOMBS.
47192         * modules/wcsnrtombs: New file.
47193         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47194         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47195
47196 2008-12-21  Bruno Haible  <bruno@clisp.org>
47197
47198         * modules/wcsrtombs-tests: New file.
47199         * tests/test-wcsrtombs1.sh: New file.
47200         * tests/test-wcsrtombs2.sh: New file.
47201         * tests/test-wcsrtombs3.sh: New file.
47202         * tests/test-wcsrtombs4.sh: New file.
47203         * tests/test-wcsrtombs.c: New file.
47204
47205         New module 'wcsrtombs'.
47206         * lib/wchar.in.h (wcsrtombs): New declaration.
47207         * lib/wcsrtombs.c: New file.
47208         * m4/wcsrtombs.m4: New file.
47209         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47210         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47211         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47212         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47213         * modules/wcsrtombs: New file.
47214         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47215         bugs.
47216
47217 2008-12-21  Bruno Haible  <bruno@clisp.org>
47218
47219         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47220         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47221         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47222         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47223         if not correct.
47224         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47225         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47226         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47227         m4/locale-zh.m4, m4/codeset.m4.
47228         * doc/posix-functions/wcrtomb.texi: Document the bug.
47229
47230 2008-12-21  Bruno Haible  <bruno@clisp.org>
47231
47232         Work around a btowc() bug on IRIX 6.5.
47233         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47234         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47235         REPLACE_WTOBC if not.
47236         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47237         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47238         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47239
47240 2008-12-21  Bruno Haible  <bruno@clisp.org>
47241
47242         * modules/wcrtomb-tests: New file.
47243         * tests/test-wcrtomb.sh: New file.
47244         * tests/test-wcrtomb.c: New file.
47245
47246         New module 'wcrtomb'.
47247         * lib/wchar.in.h (wcrtomb): New declaration.
47248         * lib/wcrtomb.c: New file.
47249         * m4/wcrtomb.m4: New file.
47250         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47251         HAVE_WCRTOMB.
47252         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47253         HAVE_WCRTOMB.
47254         * modules/wcrtomb: New file.
47255         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47256
47257 2008-12-21  Bruno Haible  <bruno@clisp.org>
47258
47259         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47260         * modules/mbsrtowcs (Files): Likewise.
47261         * modules/wctob (Files): Likewise.
47262         * modules/c-strcase-tests (Files): Likewise.
47263         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47264         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47265         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47266         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47267         * modules/vasnprintf-posix-tests (Files): Likewise.
47268
47269 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47270
47271         gitlog-to-changelog: pass all command-line arguments to git-log
47272         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47273         it is sometimes convenient to filter the commits in various ways.
47274         gitlog-to-changelog only allows --since to specify a start date,
47275         but git-log itself supports many other filtering mechanisms.
47276         At the moment, I want to filter by branch name.  Rather than
47277         adding a --branch option to gitlog-to-changelog, it seems more
47278         flexible to simply pass all options directly to git-log and let
47279         git do the work.  Notice that this effectively makes --since a
47280         redundant option for gitlog-to-changelog, but removing it would
47281         require current usage to change since calls would then require
47282         an additional '--'.
47283
47284 2008-12-21  Bruno Haible  <bruno@clisp.org>
47285
47286         * modules/mbsnrtowcs-tests: New file.
47287         * tests/test-mbsnrtowcs1.sh: New file.
47288         * tests/test-mbsnrtowcs2.sh: New file.
47289         * tests/test-mbsnrtowcs3.sh: New file.
47290         * tests/test-mbsnrtowcs4.sh: New file.
47291         * tests/test-mbsnrtowcs.c: New file.
47292
47293         New module 'mbsnrtowcs'.
47294         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47295         * lib/mbsnrtowcs.c: New file.
47296         * lib/mbsrtowcs-state.c: New file.
47297         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47298         (internal_state): Remove variable.
47299         * m4/mbsnrtowcs.m4: New file.
47300         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47301         compilation units.
47302         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47303         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47304         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47305         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47306         * modules/mbsnrtowcs: New file.
47307         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47308         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47309         portability problem.
47310
47311 2008-12-21  Bruno Haible  <bruno@clisp.org>
47312
47313         Work around mbsrtowcs bug.
47314         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47315         (gl_FUNC_MBSRTOWCS): Invoke it.
47316         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47317         m4/locale-zh.m4.
47318         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47319
47320 2008-12-21  Bruno Haible  <bruno@clisp.org>
47321
47322         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47323
47324 2008-12-21  Bruno Haible  <bruno@clisp.org>
47325
47326         Update doc for AIX.
47327         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47328         16-bit wchar_t type.
47329         * doc/posix-functions/btowc.texi: Likewise.
47330         * doc/posix-functions/fgetwc.texi: Likewise.
47331         * doc/posix-functions/fgetws.texi: Likewise.
47332         * doc/posix-functions/fputwc.texi: Likewise.
47333         * doc/posix-functions/fputws.texi: Likewise.
47334         * doc/posix-functions/fwide.texi: Likewise.
47335         * doc/posix-functions/fwprintf.texi: Likewise.
47336         * doc/posix-functions/fwscanf.texi: Likewise.
47337         * doc/posix-functions/getwchar.texi: Likewise.
47338         * doc/posix-functions/getwc.texi: Likewise.
47339         * doc/posix-functions/iswalnum.texi: Likewise.
47340         * doc/posix-functions/iswalpha.texi: Likewise.
47341         * doc/posix-functions/iswblank.texi: Likewise.
47342         * doc/posix-functions/iswcntrl.texi: Likewise.
47343         * doc/posix-functions/iswctype.texi: Likewise.
47344         * doc/posix-functions/iswdigit.texi: Likewise.
47345         * doc/posix-functions/iswgraph.texi: Likewise.
47346         * doc/posix-functions/iswlower.texi: Likewise.
47347         * doc/posix-functions/iswprint.texi: Likewise.
47348         * doc/posix-functions/iswpunct.texi: Likewise.
47349         * doc/posix-functions/iswspace.texi: Likewise.
47350         * doc/posix-functions/iswupper.texi: Likewise.
47351         * doc/posix-functions/iswxdigit.texi: Likewise.
47352         * doc/posix-functions/mbrtowc.texi: Likewise.
47353         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47354         * doc/posix-functions/mbstowcs.texi: Likewise.
47355         * doc/posix-functions/mbtowc.texi: Likewise.
47356         * doc/posix-functions/putwchar.texi: Likewise.
47357         * doc/posix-functions/putwc.texi: Likewise.
47358         * doc/posix-functions/swprintf.texi: Likewise.
47359         * doc/posix-functions/tolower.texi: Likewise.
47360         * doc/posix-functions/toupper.texi: Likewise.
47361         * doc/posix-functions/towctrans.texi: Likewise.
47362         * doc/posix-functions/ungetwc.texi: Likewise.
47363         * doc/posix-functions/vswprintf.texi: Likewise.
47364         * doc/posix-functions/wcrtomb.texi: Likewise.
47365         * doc/posix-functions/wcscat.texi: Likewise.
47366         * doc/posix-functions/wcschr.texi: Likewise.
47367         * doc/posix-functions/wcscmp.texi: Likewise.
47368         * doc/posix-functions/wcscoll.texi: Likewise.
47369         * doc/posix-functions/wcscpy.texi: Likewise.
47370         * doc/posix-functions/wcscspn.texi: Likewise.
47371         * doc/posix-functions/wcsftime.texi: Likewise.
47372         * doc/posix-functions/wcslen.texi: Likewise.
47373         * doc/posix-functions/wcsncat.texi: Likewise.
47374         * doc/posix-functions/wcsncmp.texi: Likewise.
47375         * doc/posix-functions/wcsncpy.texi: Likewise.
47376         * doc/posix-functions/wcspbrk.texi: Likewise.
47377         * doc/posix-functions/wcsrchr.texi: Likewise.
47378         * doc/posix-functions/wcsrtombs.texi: Likewise.
47379         * doc/posix-functions/wcsspn.texi: Likewise.
47380         * doc/posix-functions/wcsstr.texi: Likewise.
47381         * doc/posix-functions/wcstod.texi: Likewise.
47382         * doc/posix-functions/wcstof.texi: Likewise.
47383         * doc/posix-functions/wcstoimax.texi: Likewise.
47384         * doc/posix-functions/wcstok.texi: Likewise.
47385         * doc/posix-functions/wcstold.texi: Likewise.
47386         * doc/posix-functions/wcstoll.texi: Likewise.
47387         * doc/posix-functions/wcstol.texi: Likewise.
47388         * doc/posix-functions/wcstombs.texi: Likewise.
47389         * doc/posix-functions/wcstoull.texi: Likewise.
47390         * doc/posix-functions/wcstoul.texi: Likewise.
47391         * doc/posix-functions/wcstoumax.texi: Likewise.
47392         * doc/posix-functions/wcswidth.texi: Likewise.
47393         * doc/posix-functions/wcsxfrm.texi: Likewise.
47394         * doc/posix-functions/wctob.texi: Likewise.
47395         * doc/posix-functions/wctomb.texi: Likewise.
47396         * doc/posix-functions/wctrans.texi: Likewise.
47397         * doc/posix-functions/wctype.texi: Likewise.
47398         * doc/posix-functions/wcwidth.texi: Likewise.
47399         * doc/posix-functions/wmemchr.texi: Likewise.
47400         * doc/posix-functions/wmemcmp.texi: Likewise.
47401         * doc/posix-functions/wmemcpy.texi: Likewise.
47402         * doc/posix-functions/wmemmove.texi: Likewise.
47403         * doc/posix-functions/wmemset.texi: Likewise.
47404         * doc/posix-functions/wprintf.texi: Likewise.
47405         * doc/posix-functions/wscanf.texi: Likewise.
47406
47407 2008-12-21  Bruno Haible  <bruno@clisp.org>
47408
47409         Update doc for HP-UX 11.11.
47410         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47411         in HP-UX version 11.00, not in all versions of HP-UX 11.
47412         * doc/posix-functions/fwide.texi: Likewise.
47413         * doc/posix-functions/fwprintf.texi: Likewise.
47414         * doc/posix-functions/fwscanf.texi: Likewise.
47415         * doc/posix-functions/inet_ntop.texi: Likewise.
47416         * doc/posix-functions/inet_pton.texi: Likewise.
47417         * doc/posix-functions/mbrlen.texi: Likewise.
47418         * doc/posix-functions/mbrtowc.texi: Likewise.
47419         * doc/posix-functions/mbsinit.texi: Likewise.
47420         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47421         * doc/posix-functions/swprintf.texi: Likewise.
47422         * doc/posix-functions/swscanf.texi: Likewise.
47423         * doc/posix-functions/towctrans.texi: Likewise.
47424         * doc/posix-functions/vfwprintf.texi: Likewise.
47425         * doc/posix-functions/vswprintf.texi: Likewise.
47426         * doc/posix-functions/vwprintf.texi: Likewise.
47427         * doc/posix-functions/wcrtomb.texi: Likewise.
47428         * doc/posix-functions/wcsrtombs.texi: Likewise.
47429         * doc/posix-functions/wcsstr.texi: Likewise.
47430         * doc/posix-functions/wctob.texi: Likewise.
47431         * doc/posix-functions/wctrans.texi: Likewise.
47432         * doc/posix-functions/wmemchr.texi: Likewise.
47433         * doc/posix-functions/wmemcmp.texi: Likewise.
47434         * doc/posix-functions/wmemcpy.texi: Likewise.
47435         * doc/posix-functions/wmemmove.texi: Likewise.
47436         * doc/posix-functions/wmemset.texi: Likewise.
47437         * doc/posix-functions/wprintf.texi: Likewise.
47438         * doc/posix-functions/wscanf.texi: Likewise.
47439
47440 2008-12-21  Bruno Haible  <bruno@clisp.org>
47441
47442         Work around a portability problem.
47443         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47444         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47445
47446 2008-12-20  Bruno Haible  <bruno@clisp.org>
47447
47448         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47449         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47450         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47451         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47452         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47453
47454         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47455         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47456         set.
47457         (GNULIB_defined_mbstate_t): New macro.
47458         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47459         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47460         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47461         reuses the system's mbrtowc function but works around the bugs.
47462         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47463         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47464         macros.
47465         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47466         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47467         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47468         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47469         REPLACE_MBSINIT if mbsinit needs to be overridden.
47470         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47471         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47472         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47473         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47474         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47475         m4/locale-zh.m4.
47476         (Depends): Add mbsinit.
47477         * modules/mbsinit (Depends): Add mbrtowc.
47478         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47479
47480 2008-12-20  Bruno Haible  <bruno@clisp.org>
47481
47482         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47483         so that there are no conversion errors on AIX.
47484         * tests/test-mbsrtowcs.c (main): LIkewise.
47485
47486 2008-12-20  Bruno Haible  <bruno@clisp.org>
47487
47488         Work around wctob bug on Solaris <= 9.
47489         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47490         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47491         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47492         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47493         * modules/wctob (Files): Add m4/locale-fr.m4.
47494         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47495
47496 2008-12-20  Bruno Haible  <bruno@clisp.org>
47497
47498         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47499         /dev/null.
47500         * tests/test-select-in.sh: Likewise.
47501         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47502
47503 2008-12-20  Bruno Haible  <bruno@clisp.org>
47504
47505         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47506         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47507         Cygwin 1.5.x.
47508
47509 2008-12-20  Bruno Haible  <bruno@clisp.org>
47510
47511         Ensure mbstate_t is defined on HP-UX 11.11.
47512         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47513         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47514         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47515         AC_USE_SYSTEM_EXTENSIONS.
47516         * modules/fnmatch (Depends-on): Add extensions.
47517         * modules/mbrlen (Depends-on): Likewise.
47518         * modules/mbrtowc (Depends-on): Likewise.
47519         * modules/mbsinit (Depends-on): Likewise.
47520         * modules/mbsrtowcs (Depends-on): Likewise.
47521         * modules/mbswidth (Depends-on): Likewise.
47522         * modules/quotearg (Depends-on): Likewise.
47523         * modules/strftime (Depends-on): Likewise.
47524
47525 2008-12-20  Bruno Haible  <bruno@clisp.org>
47526
47527         Ensure wctob is declared on IRIX 6.5.
47528         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47529         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47530         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47531         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47532         of HAVE_WCTOB.
47533         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47534         HAVE_WCTOB.
47535         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47536
47537 2008-12-19  Bruno Haible  <bruno@clisp.org>
47538
47539         * modules/mbsrtowcs-tests: New file.
47540         * tests/test-mbsrtowcs1.sh: New file.
47541         * tests/test-mbsrtowcs2.sh: New file.
47542         * tests/test-mbsrtowcs3.sh: New file.
47543         * tests/test-mbsrtowcs4.sh: New file.
47544         * tests/test-mbsrtowcs.c: New file.
47545
47546         New module 'mbsrtowcs'.
47547         * lib/wchar.in.h (mbsrtowcs): New declaration.
47548         * lib/mbsrtowcs.c: New file.
47549         * m4/mbsrtowcs.m4: New file.
47550         * modules/mbsrtowcs: New file.
47551         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47552         HAVE_MBSRTOWCS.
47553         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47554         HAVE_MBSRTOWCS.
47555         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47556
47557 2008-12-19  Bruno Haible  <bruno@clisp.org>
47558
47559         New module 'mbrlen'.
47560         * lib/wchar.in.h (mbrlen): New declaration.
47561         * lib/mbrlen.c: New file.
47562         * m4/mbrlen.m4: New file.
47563         * modules/mbrlen: New file.
47564         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47565         HAVE_MBRLEN.
47566         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47567         HAVE_MBRLEN.
47568         * doc/posix-functions/mbrlen.texi: Document the new module.
47569
47570 2008-12-19  Bruno Haible  <bruno@clisp.org>
47571
47572         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47573         * modules/mbrtowc (Depends-on): Add verify.
47574         Suggested by Paul Eggert.
47575
47576 2008-12-18  Bruno Haible  <bruno@clisp.org>
47577
47578         * modules/mbsinit-tests: New file.
47579         * tests/test-mbsinit.sh: New file.
47580         * tests/test-mbsinit.c: New file.
47581
47582 2008-12-18  Bruno Haible  <bruno@clisp.org>
47583
47584         * modules/mbrtowc-tests: New file.
47585         * tests/test-mbrtowc1.sh: New file.
47586         * tests/test-mbrtowc2.sh: New file.
47587         * tests/test-mbrtowc3.sh: New file.
47588         * tests/test-mbrtowc4.sh: New file.
47589         * tests/test-mbrtowc.c: New file.
47590
47591         New module 'mbrtowc'.
47592         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47593         mbsinit and mbrtowc.
47594         (mbrtowc): New declaration.
47595         * lib/mbrtowc.c: New file.
47596         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47597         * modules/mbrtowc: New file.
47598         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47599         HAVE_MBRTOWC.
47600         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47601         HAVE_MBRTOWC.
47602         * doc/posix-functions/mbrtowc.texi: Document the new module.
47603
47604 2008-12-18  Bruno Haible  <bruno@clisp.org>
47605
47606         New module 'wctob'.
47607         * lib/wchar.in.h (wctob): New declaration.
47608         * lib/wctob.c: New file.
47609         * m4/wctob.m4: New file.
47610         * modules/wctob: New file.
47611         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47612         HAVE_WCTOB.
47613         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47614         * doc/posix-functions/wctob.texi: Document the new module.
47615
47616 2008-12-18  Bruno Haible  <bruno@clisp.org>
47617
47618         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47619         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47620
47621 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47622
47623         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47624         G. Christensen" <tgc@jupiterrise.com>.
47625
47626         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47627         G. Christensen" <tgc@jupiterrise.com>.
47628
47629         * lib/flock.c: Need to include string.h.  Reported by "Tom
47630         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47631         <ebb9@byu.net>.
47632
47633 2008-12-18  Bruno Haible  <bruno@clisp.org>
47634
47635         * m4/locale-ja.m4: New file, from GNU gettext.
47636
47637 2008-12-17  Bruno Haible  <bruno@clisp.org>
47638
47639         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47640         Suggested by Eric Blake.
47641
47642 2008-12-17  Bruno Haible  <bruno@clisp.org>
47643
47644         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47645
47646 2008-12-17  Bruno Haible  <bruno@clisp.org>
47647
47648         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47649         * modules/mbsinit (Depends-on): Add verify.
47650         Suggested by Paul Eggert.
47651
47652 2008-12-17  Bruno Haible  <bruno@clisp.org>
47653
47654         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47655         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47656         gl_FUNC_MBRTOWC.
47657         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47658         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47659         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47660         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47661         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47662         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47663         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47664         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47665         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47666         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47667         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47668         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47669         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47670         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47671         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47672         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47673         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47674         * modules/trim (configure.ac): Likewise.
47675
47676 2008-12-17  Bruno Haible  <bruno@clisp.org>
47677
47678         * modules/btowc-tests: New file.
47679         * tests/test-btowc1.sh: New file.
47680         * tests/test-btowc2.sh: New file.
47681         * tests/test-btowc.c: New file.
47682
47683         New module 'btowc'.
47684         * lib/wchar.in.h (btowc): New declaration.
47685         * lib/btowc.c: New file.
47686         * m4/btowc.m4: New file.
47687         * modules/btowc: New file.
47688         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47689         HAVE_BTOWC.
47690         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47691         * doc/posix-functions/btowc.texi: Document the new module.
47692
47693 2008-12-17  Bruno Haible  <bruno@clisp.org>
47694
47695         New module 'mbsinit'.
47696         * lib/wchar.in.h (mbsinit): New declaration.
47697         * lib/mbsinit.c: New file.
47698         * m4/mbsinit.m4: New file.
47699         * modules/mbsinit: New file.
47700         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47701         HAVE_MBSINIT.
47702         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47703         HAVE_MBSINIT.
47704         * doc/posix-functions/mbsinit.texi: Document the new module.
47705
47706 2008-12-16  Bruno Haible  <bruno@clisp.org>
47707
47708         * lib/unistd.in.h: Add comment.
47709         * tests/test-environ.c: Don't include <stdlib.h>.
47710
47711 2008-12-16  Bruno Haible  <bruno@clisp.org>
47712
47713         * lib/parse-duration.h (parse_duration): Document return value
47714         convention.
47715         * lib/parse-duration.c: Include specification header first. Add
47716         comments.
47717         (_): Remove macro.
47718         (parse_year_month_day, parse_hour_minute_second): Move side effects
47719         outside of strchr call.
47720         (parse_non_iso8601): Move side effects outside of isspace call.
47721         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47722         call.
47723
47724 2008-12-16  Bruno Haible  <bruno@clisp.org>
47725
47726         * tests/test-parse-duration.sh: Produce no output when the test
47727         succeeds.
47728
47729 2008-12-16  Bruno Haible  <bruno@clisp.org>
47730
47731         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47732         expressions.
47733
47734 2008-12-15  Bruno Haible  <bruno@clisp.org>
47735
47736         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47737         * doc/glibc-functions/flistxattr.texi: Likewise.
47738         * doc/glibc-functions/fopencookie.texi: Likewise.
47739         * doc/glibc-functions/fremovexattr.texi: Likewise.
47740         * doc/glibc-functions/fsetxattr.texi: Likewise.
47741         * doc/glibc-functions/getxattr.texi: Likewise.
47742         * doc/glibc-functions/lgetxattr.texi: Likewise.
47743         * doc/glibc-functions/listxattr.texi: Likewise.
47744         * doc/glibc-functions/llistxattr.texi: Likewise.
47745         * doc/glibc-functions/lremovexattr.texi: Likewise.
47746         * doc/glibc-functions/lsetxattr.texi: Likewise.
47747         * doc/glibc-functions/removexattr.texi: Likewise.
47748         * doc/glibc-functions/setxattr.texi: Likewise.
47749         * doc/posix-functions/open_memstream.texi: Likewise.
47750
47751 2008-12-15  Eric Blake  <ebb9@byu.net>
47752
47753         Update doc for cygwin 1.7.
47754         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47755         functions.
47756         * doc/posix-functions/fchmodat.texi: Likewise.
47757         * doc/posix-functions/fchownat.texi: Likewise.
47758         * doc/posix-functions/fdopendir.texi: Likewise.
47759         * doc/posix-functions/fmemopen.texi: Likewise.
47760         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47761         * doc/posix-functions/fstatat.texi: Likewise.
47762         * doc/posix-functions/futimens.texi: Likewise.
47763         * doc/posix-functions/gai_strerror.texi: Likewise.
47764         * doc/posix-functions/getaddrinfo.texi: Likewise.
47765         * doc/posix-functions/getnameinfo.texi: Likewise.
47766         * doc/posix-functions/if_freenameindex.texi: Likewise.
47767         * doc/posix-functions/if_indextoname.texi: Likewise.
47768         * doc/posix-functions/if_nameindex.texi: Likewise.
47769         * doc/posix-functions/if_nametoindex.texi: Likewise.
47770         * doc/posix-functions/insque.texi: Likewise.
47771         * doc/posix-functions/linkat.texi: Likewise.
47772         * doc/posix-functions/llrint.texi: Likewise.
47773         * doc/posix-functions/llrintf.texi: Likewise.
47774         * doc/posix-functions/llrintl.texi: Likewise.
47775         * doc/posix-functions/lockf.texi: Likewise.
47776         * doc/posix-functions/lrintl.texi: Likewise.
47777         * doc/posix-functions/mkdirat.texi: Likewise.
47778         * doc/posix-functions/mkfifoat.texi: Likewise.
47779         * doc/posix-functions/mknodat.texi: Likewise.
47780         * doc/posix-functions/mq_close.texi: Likewise.
47781         * doc/posix-functions/mq_getattr.texi: Likewise.
47782         * doc/posix-functions/mq_notify.texi: Likewise.
47783         * doc/posix-functions/mq_open.texi: Likewise.
47784         * doc/posix-functions/mq_receive.texi: Likewise.
47785         * doc/posix-functions/mq_send.texi: Likewise.
47786         * doc/posix-functions/mq_setattr.texi: Likewise.
47787         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47788         * doc/posix-functions/mq_timedsend.texi: Likewise.
47789         * doc/posix-functions/mq_unlink.texi: Likewise.
47790         * doc/posix-functions/open_memstream.texi: Likewise.
47791         * doc/posix-functions/openat.texi: Likewise.
47792         * doc/posix-functions/posix_fadvise.texi: Likewise.
47793         * doc/posix-functions/posix_fallocate.texi: Likewise.
47794         * doc/posix-functions/posix_madvise.texi: Likewise.
47795         * doc/posix-functions/posix_memalign.texi: Likewise.
47796         * doc/posix-functions/posix_openpt.texi: Likewise.
47797         * doc/posix-functions/readlinkat.texi: Likewise.
47798         * doc/posix-functions/remque.texi: Likewise.
47799         * doc/posix-functions/renameat.texi: Likewise.
47800         * doc/posix-functions/rintl.texi: Likewise.
47801         * doc/posix-functions/sem_unlink.texi: Likewise.
47802         * doc/posix-functions/shm_open.texi: Likewise.
47803         * doc/posix-functions/shm_unlink.texi: Likewise.
47804         * doc/posix-functions/signgam.texi: Likewise.
47805         * doc/posix-functions/sigset.texi: Likewise.
47806         * doc/posix-functions/stpcpy.texi: Likewise.
47807         * doc/posix-functions/stpncpy.texi: Likewise.
47808         * doc/posix-functions/strerror.texi: Likewise.
47809         * doc/posix-functions/strtod.texi: Likewise.
47810         * doc/posix-functions/symlinkat.texi: Likewise.
47811         * doc/posix-functions/unlinkat.texi: Likewise.
47812         * doc/posix-functions/utimensat.texi: Likewise.
47813         * doc/glibc-functions/bindresvport.texi: Likewise.
47814         * doc/glibc-functions/dn_expand.texi: Likewise.
47815         * doc/glibc-functions/exp10.texi: Likewise.
47816         * doc/glibc-functions/exp10f.texi: Likewise.
47817         * doc/glibc-functions/fgetxattr.texi: Likewise.
47818         * doc/glibc-functions/flistxattr.texi: Likewise.
47819         * doc/glibc-functions/fopencookie.texi: Likewise.
47820         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47821         * doc/glibc-functions/fremovexattr.texi: Likewise.
47822         * doc/glibc-functions/fsetxattr.texi: Likewise.
47823         * doc/glibc-functions/getifaddrs.texi: Likewise.
47824         * doc/glibc-functions/getxattr.texi: Likewise.
47825         * doc/glibc-functions/lgetxattr.texi: Likewise.
47826         * doc/glibc-functions/listxattr.texi: Likewise.
47827         * doc/glibc-functions/llistxattr.texi: Likewise.
47828         * doc/glibc-functions/lremovexattr.texi: Likewise.
47829         * doc/glibc-functions/lsetxattr.texi: Likewise.
47830         * doc/glibc-functions/pow10.texi: Likewise.
47831         * doc/glibc-functions/pow10f.texi: Likewise.
47832         * doc/glibc-functions/rcmd_af.texi: Likewise.
47833         * doc/glibc-functions/removexattr.texi: Likewise.
47834         * doc/glibc-functions/res_init.texi: Likewise.
47835         * doc/glibc-functions/res_mkquery.texi: Likewise.
47836         * doc/glibc-functions/res_query.texi: Likewise.
47837         * doc/glibc-functions/res_querydomain.texi: Likewise.
47838         * doc/glibc-functions/res_send.texi: Likewise.
47839         * doc/glibc-functions/rresvport_af.texi: Likewise.
47840         * doc/glibc-functions/setxattr.texi: Likewise.
47841         * doc/glibc-functions/strcasestr.texi: Likewise.
47842
47843 2008-12-15  Bruno Haible  <bruno@clisp.org>
47844
47845         Fix compilation error on OSF/1 4.0.
47846         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47847         <sys/time.h>, simply delegate to the system header.
47848         Reported by Daniel Richard G. <oss@teragram.com>.
47849
47850 2008-12-15  Bruno Haible  <bruno@clisp.org>
47851
47852         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47853         * doc/posix-functions/fchmodat.texi: Likewise.
47854         * doc/posix-functions/fchownat.texi: Likewise.
47855         * doc/posix-functions/fdopendir.texi: Likewise.
47856         * doc/posix-functions/fstatat.texi: Likewise.
47857         * doc/posix-functions/mkdirat.texi: Likewise.
47858         * doc/posix-functions/unlinkat.texi: Likewise.
47859
47860 2008-12-14  Bruno Haible  <bruno@clisp.org>
47861
47862         Update doc for POSIX:2008.
47863         * doc/posix-functions/faccessat.texi: New file.
47864         * doc/posix-functions/fchmodat.texi: New file.
47865         * doc/posix-functions/fchownat.texi: New file.
47866         * doc/posix-functions/fdopendir.texi: New file.
47867         * doc/posix-functions/fstatat.texi: New file.
47868         * doc/posix-functions/futimens.texi: New file.
47869         * doc/posix-functions/linkat.texi: New file.
47870         * doc/posix-functions/mkdirat.texi: New file.
47871         * doc/posix-functions/mkfifoat.texi: New file.
47872         * doc/posix-functions/mknodat.texi: New file.
47873         * doc/posix-functions/open_wmemstream.texi: New file.
47874         * doc/posix-functions/openat.texi: New file.
47875         * doc/posix-functions/psiginfo.texi: New file.
47876         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47877         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47878         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47879         * doc/posix-functions/readlinkat.texi: New file.
47880         * doc/posix-functions/renameat.texi: New file.
47881         * doc/posix-functions/strerror_l.texi: New file.
47882         * doc/posix-functions/symlinkat.texi: New file.
47883         * doc/posix-functions/unlinkat.texi: New file.
47884         * doc/posix-functions/utimensat.texi: New file.
47885         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47886
47887 2008-12-14  Bruno Haible  <bruno@clisp.org>
47888
47889         Update doc for POSIX:2008.
47890         * doc/posix-functions/alphasort.texi: Renamed from
47891         doc/glibc-functions/alphasort.texi.
47892         * doc/posix-functions/dirfd.texi: Renamed from
47893         doc/glibc-functions/dirfd.texi.
47894         * doc/posix-functions/dprintf.texi: Renamed from
47895         doc/glibc-functions/dprintf.texi.
47896         * doc/posix-functions/duplocale.texi: Renamed from
47897         doc/glibc-functions/duplocale.texi.
47898         * doc/posix-functions/fexecve.texi: Renamed from
47899         doc/glibc-functions/fexecve.texi.
47900         * doc/posix-functions/fmemopen.texi: Renamed from
47901         doc/glibc-functions/fmemopen.texi.
47902         * doc/posix-functions/freelocale.texi: Renamed from
47903         doc/glibc-functions/freelocale.texi.
47904         * doc/posix-functions/getdate_err.texi: Renamed from
47905         doc/glibc-functions/getdate_err.texi.
47906         * doc/posix-functions/isalnum_l.texi: Renamed from
47907         doc/glibc-functions/isalnum_l.texi.
47908         * doc/posix-functions/isalpha_l.texi: Renamed from
47909         doc/glibc-functions/isalpha_l.texi.
47910         * doc/posix-functions/isblank_l.texi: Renamed from
47911         doc/glibc-functions/isblank_l.texi.
47912         * doc/posix-functions/iscntrl_l.texi: Renamed from
47913         doc/glibc-functions/iscntrl_l.texi.
47914         * doc/posix-functions/isdigit_l.texi: Renamed from
47915         doc/glibc-functions/isdigit_l.texi.
47916         * doc/posix-functions/isgraph_l.texi: Renamed from
47917         doc/glibc-functions/isgraph_l.texi.
47918         * doc/posix-functions/islower_l.texi: Renamed from
47919         doc/glibc-functions/islower_l.texi.
47920         * doc/posix-functions/isprint_l.texi: Renamed from
47921         doc/glibc-functions/isprint_l.texi.
47922         * doc/posix-functions/ispunct_l.texi: Renamed from
47923         doc/glibc-functions/ispunct_l.texi.
47924         * doc/posix-functions/isspace_l.texi: Renamed from
47925         doc/glibc-functions/isspace_l.texi.
47926         * doc/posix-functions/isupper_l.texi: Renamed from
47927         doc/glibc-functions/isupper_l.texi.
47928         * doc/posix-functions/iswalnum_l.texi: Renamed from
47929         doc/glibc-functions/iswalnum_l.texi.
47930         * doc/posix-functions/iswalpha_l.texi: Renamed from
47931         doc/glibc-functions/iswalpha_l.texi.
47932         * doc/posix-functions/iswblank_l.texi: Renamed from
47933         doc/glibc-functions/iswblank_l.texi.
47934         * doc/posix-functions/iswcntrl_l.texi: Renamed from
47935         doc/glibc-functions/iswcntrl_l.texi.
47936         * doc/posix-functions/iswctype_l.texi: Renamed from
47937         doc/glibc-functions/iswctype_l.texi.
47938         * doc/posix-functions/iswdigit_l.texi: Renamed from
47939         doc/glibc-functions/iswdigit_l.texi.
47940         * doc/posix-functions/iswgraph_l.texi: Renamed from
47941         doc/glibc-functions/iswgraph_l.texi.
47942         * doc/posix-functions/iswlower_l.texi: Renamed from
47943         doc/glibc-functions/iswlower_l.texi.
47944         * doc/posix-functions/iswprint_l.texi: Renamed from
47945         doc/glibc-functions/iswprint_l.texi.
47946         * doc/posix-functions/iswpunct_l.texi: Renamed from
47947         doc/glibc-functions/iswpunct_l.texi.
47948         * doc/posix-functions/iswspace_l.texi: Renamed from
47949         doc/glibc-functions/iswspace_l.texi.
47950         * doc/posix-functions/iswupper_l.texi: Renamed from
47951         doc/glibc-functions/iswupper_l.texi.
47952         * doc/posix-functions/iswxdigit_l.texi: Renamed from
47953         doc/glibc-functions/iswxdigit_l.texi.
47954         * doc/posix-functions/isxdigit_l.texi: Renamed from
47955         doc/glibc-functions/isxdigit_l.texi.
47956         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
47957         doc/glibc-functions/mbsnrtowcs.texi.
47958         * doc/posix-functions/mkdtemp.texi: Renamed from
47959         doc/glibc-functions/mkdtemp.texi.
47960         * doc/posix-functions/newlocale.texi: Renamed from
47961         doc/glibc-functions/newlocale.texi.
47962         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
47963         doc/glibc-functions/nl_langinfo_l.texi.
47964         * doc/posix-functions/open_memstream.texi: Renamed from
47965         doc/glibc-functions/open_memstream.texi.
47966         * doc/posix-functions/opterr.texi: Renamed from
47967         doc/glibc-functions/opterr.texi.
47968         * doc/posix-functions/optind.texi: Renamed from
47969         doc/glibc-functions/optind.texi.
47970         * doc/posix-functions/optopt.texi: Renamed from
47971         doc/glibc-functions/optopt.texi.
47972         * doc/posix-functions/psignal.texi: Renamed from
47973         doc/glibc-functions/psignal.texi.
47974         * doc/posix-functions/scandir.texi: Renamed from
47975         doc/glibc-functions/scandir.texi.
47976         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
47977         doc/glibc-functions/sched_get_priority_min.texi.
47978         * doc/posix-functions/signgam.texi: Renamed from
47979         doc/glibc-functions/signgam.texi.
47980         * doc/posix-functions/stpcpy.texi: Renamed from
47981         doc/glibc-functions/stpcpy.texi.
47982         * doc/posix-functions/stpncpy.texi: Renamed from
47983         doc/glibc-functions/stpncpy.texi.
47984         * doc/posix-functions/strcasecmp_l.texi: Renamed from
47985         doc/glibc-functions/strcasecmp_l.texi.
47986         * doc/posix-functions/strcoll_l.texi: Renamed from
47987         doc/glibc-functions/strcoll_l.texi.
47988         * doc/posix-functions/strfmon_l.texi: Renamed from
47989         doc/glibc-functions/strfmon_l.texi.
47990         * doc/posix-functions/strftime_l.texi: Renamed from
47991         doc/glibc-functions/strftime_l.texi.
47992         * doc/posix-functions/strncasecmp_l.texi: Renamed from
47993         doc/glibc-functions/strncasecmp_l.texi.
47994         * doc/posix-functions/strndup.texi: Renamed from
47995         doc/glibc-functions/strndup.texi.
47996         * doc/posix-functions/strnlen.texi: Renamed from
47997         doc/glibc-functions/strnlen.texi.
47998         * doc/posix-functions/strsignal.texi: Renamed from
47999         doc/glibc-functions/strsignal.texi.
48000         * doc/posix-functions/strxfrm_l.texi: Renamed from
48001         doc/glibc-functions/strxfrm_l.texi.
48002         * doc/posix-functions/timer_gettime.texi: Renamed from
48003         doc/glibc-functions/timer_gettime.texi.
48004         * doc/posix-functions/tolower_l.texi: Renamed from
48005         doc/glibc-functions/tolower_l.texi.
48006         * doc/posix-functions/toupper_l.texi: Renamed from
48007         doc/glibc-functions/toupper_l.texi.
48008         * doc/posix-functions/towctrans_l.texi: Renamed from
48009         doc/glibc-functions/towctrans_l.texi.
48010         * doc/posix-functions/towlower_l.texi: Renamed from
48011         doc/glibc-functions/towlower_l.texi.
48012         * doc/posix-functions/towupper_l.texi: Renamed from
48013         doc/glibc-functions/towupper_l.texi.
48014         * doc/posix-functions/uselocale.texi: Renamed from
48015         doc/glibc-functions/uselocale.texi.
48016         * doc/posix-functions/vdprintf.texi: Renamed from
48017         doc/glibc-functions/vdprintf.texi.
48018         * doc/posix-functions/wcpcpy.texi:
48019         Renamed from doc/glibc-functions/wcpcpy.texi.
48020         * doc/posix-functions/wcpncpy.texi: Renamed from
48021         doc/glibc-functions/wcpncpy.texi.
48022         * doc/posix-functions/wcscasecmp.texi: Renamed from
48023         doc/glibc-functions/wcscasecmp.texi.
48024         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48025         doc/glibc-functions/wcscasecmp_l.texi.
48026         * doc/posix-functions/wcscoll_l.texi: Renamed from
48027         doc/glibc-functions/wcscoll_l.texi.
48028         * doc/posix-functions/wcsdup.texi: Renamed from
48029         doc/glibc-functions/wcsdup.texi.
48030         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48031         doc/glibc-functions/wcsncasecmp.texi.
48032         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48033         doc/glibc-functions/wcsncasecmp_l.texi.
48034         * doc/posix-functions/wcsnlen.texi: Renamed from
48035         doc/glibc-functions/wcsnlen.texi.
48036         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48037         doc/glibc-functions/wcsnrtombs.texi.
48038         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48039         doc/glibc-functions/wcsxfrm_l.texi.
48040         * doc/posix-functions/wctrans_l.texi: Renamed from
48041         doc/glibc-functions/wctrans_l.texi.
48042         * doc/posix-functions/wctype_l.texi: Renamed from
48043         doc/glibc-functions/wctype_l.texi.
48044         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48045         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48046         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48047         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48048         these subsections.
48049         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48050         Remove sections.
48051
48052 2008-12-14  Bruno Haible  <bruno@clisp.org>
48053
48054         Update doc for POSIX:2008.
48055         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48056
48057 2008-12-14  Bruno Haible  <bruno@clisp.org>
48058
48059         Update doc for POSIX:2008.
48060         * doc/pastposix-functions/bcmp.texi: Renamed from
48061         doc/posix-functions/bcmp.texi.
48062         * doc/pastposix-functions/bcopy.texi: Renamed from
48063         doc/posix-functions/bcopy.texi.
48064         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48065         doc/posix-functions/bsd_signal.texi.
48066         * doc/pastposix-functions/bzero.texi: Renamed from
48067         doc/posix-functions/bzero.texi.
48068         * doc/pastposix-functions/ecvt.texi: Renamed from
48069         doc/posix-functions/ecvt.texi.
48070         * doc/pastposix-functions/fcvt.texi: Renamed from
48071         doc/posix-functions/fcvt.texi.
48072         * doc/pastposix-functions/ftime.texi: Renamed from
48073         doc/posix-functions/ftime.texi.
48074         * doc/pastposix-functions/gcvt.texi: Renamed from
48075         doc/posix-functions/gcvt.texi.
48076         * doc/pastposix-functions/getcontext.texi: Renamed from
48077         doc/posix-functions/getcontext.texi.
48078         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48079         doc/posix-functions/gethostbyaddr.texi.
48080         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48081         doc/posix-functions/gethostbyname.texi.
48082         * doc/pastposix-functions/getwd.texi: Renamed from
48083         doc/posix-functions/getwd.texi.
48084         * doc/pastposix-functions/h_errno.texi: Renamed from
48085         doc/posix-functions/h_errno.texi.
48086         * doc/pastposix-functions/index.texi: Renamed from
48087         doc/posix-functions/index.texi.
48088         * doc/pastposix-functions/makecontext.texi: Renamed from
48089         doc/posix-functions/makecontext.texi.
48090         * doc/pastposix-functions/mktemp.texi: Renamed from
48091         doc/posix-functions/mktemp.texi.
48092         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48093         doc/posix-functions/pthread_attr_getstackaddr.texi.
48094         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48095         doc/posix-functions/pthread_attr_setstackaddr.texi.
48096         * doc/pastposix-functions/rindex.texi: Renamed from
48097         doc/posix-functions/rindex.texi.
48098         * doc/pastposix-functions/scalb.texi: Renamed from
48099         doc/posix-functions/scalb.texi.
48100         * doc/pastposix-functions/setcontext.texi: Renamed from
48101         doc/posix-functions/setcontext.texi.
48102         * doc/pastposix-functions/swapcontext.texi: Renamed from
48103         doc/posix-functions/swapcontext.texi.
48104         * doc/pastposix-functions/ualarm.texi: Renamed from
48105         doc/posix-functions/ualarm.texi.
48106         * doc/pastposix-functions/usleep.texi: Renamed from
48107         doc/posix-functions/usleep.texi.
48108         * doc/pastposix-functions/vfork.texi: Renamed from
48109         doc/posix-functions/vfork.texi.
48110         * doc/pastposix-functions/wcswcs.texi: Renamed from
48111         doc/posix-functions/wcswcs.texi.
48112         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48113         (Function Substitutes): Update.
48114
48115 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48116
48117         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48118         m4/strerror.m4.
48119
48120 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48121             Bruno Haible  <bruno@clisp.org>
48122
48123         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48124
48125 2008-12-13  Bruno Haible  <bruno@clisp.org>
48126
48127         * modules/strtoull (Depends-on): Remove unistd.
48128
48129 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48130
48131         * modules/strtoull (Depends-on): Add stdlib.
48132
48133 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48134
48135         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48136
48137 2008-12-10  Jim Meyering  <meyering@redhat.com>
48138
48139         gl_ASSERT: don't say assertions are disabled when they're not
48140         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48141         "checking whether to enable assertions... no", when they are in
48142         fact enabled.  This is solely a bug in the output of configure.
48143         In spite of saying "no", NDEBUG was not defined in that case.
48144         Also, as noted by Eric Blake, leave assertions enabled upon
48145         --enable-assert=INVALID.
48146
48147 2008-12-10  Bruno Haible  <bruno@clisp.org>
48148
48149         Change MODULES.html to refer to POSIX:2008 where possible.
48150         * MODULES.html.sh (POSIX2008_URL): New variable.
48151         (posix_headers): Remove sys/timeb, ucontext.
48152         (posix2001_headers): New variable.
48153         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48154         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48155         index, makecontext, mktemp, pthread_attr_getstackaddr,
48156         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48157         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48158         (posix2001_functions): New variable.
48159         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48160         otherwise.
48161
48162 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48163
48164         add missing include to parse-duration.c
48165         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48166         * modules/parse-duration (Depends-on): Add xalloc.
48167
48168         fix sed script reading maint.mk
48169         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48170         (syntax-check-rules): Use it.
48171
48172 2008-12-09  Bruno Haible  <bruno@clisp.org>
48173
48174         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48175         MacOS X 10.4/PowerPC.
48176         Reported by Simon Josefsson.
48177
48178 2008-12-08  Jim Meyering  <meyering@redhat.com>
48179
48180         work around mingw's lack of some S_IF definitions
48181         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48182         Reported by Simon Josefsson.
48183
48184 2008-12-08  Bruno Haible  <bruno@clisp.org>
48185
48186         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48187         applied to variables. Needed on MacOS X 10.4/PowerPC.
48188         Reported by Simon Josefsson.
48189
48190 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48191         and Eric Blake  <ebb9@byu.net>
48192
48193         assert: honor --enable-assert
48194         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48195         order to honor --enable-assert, rather than treating it as a
48196         synonym for --disable-assert.
48197
48198 2008-12-08  Jim Meyering  <meyering@redhat.com>
48199
48200         * lib/posixtm.c: Remove now-useless declaration of mktime.
48201
48202         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48203
48204 2008-12-07  Bruno Haible  <bruno@clisp.org>
48205
48206         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48207         test_once): Mark functions as static.
48208         * tests/test-tls.c (test_tls): Likewise.
48209
48210 2008-12-07  Bruno Haible  <bruno@clisp.org>
48211
48212         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48213         iconv_register_autodetect.
48214
48215 2008-12-07  Jim Meyering  <meyering@redhat.com>
48216
48217         posixtm.c: avoid a warning
48218         * lib/posixtm.c (posixtime): Don't initialize tm0.
48219         It's no longer needed to placate gcc4's -Wuninitialized,
48220         and the attempt to placate would elicit a new warning.
48221
48222         unicodeio.c: mark unused parameters
48223         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48224         (fallback_failure_callback): Likewise.
48225
48226 2008-12-07  Bruno Haible  <bruno@clisp.org>
48227
48228         * gnulib-tool (func_create_testdir): When building the tests
48229         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48230         Reported by Simon Josefsson.
48231
48232 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48233
48234         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48235
48236 2008-12-06  Bruno Haible  <bruno@clisp.org>
48237
48238         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48239         Suggested by Eric Blake.
48240
48241 2008-12-06  Bruno Haible  <bruno@clisp.org>
48242
48243         Fix a c-stack test failure on MacOS X.
48244         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48245         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48246         handler for SIGBUS as well.
48247         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48248         install a signal handler for SIGBUS as well.
48249         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48250
48251 2008-12-06  Bruno Haible  <bruno@clisp.org>
48252
48253         Advocacy documentation.
48254         * doc/gnulib-intro.texi (Benefits): New section.
48255         * doc/gnulib.texi: Update.
48256
48257 2008-12-06  Bruno Haible  <bruno@clisp.org>
48258
48259         Document the 'manywarnings' module.
48260         * doc/manywarnings.texi: New file.
48261         * doc/gnulib.texi: Include it.
48262
48263 2008-12-05  Eric Blake  <ebb9@byu.net>
48264
48265         tests: silence some gcc warnings
48266         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48267         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48268         type mismatches.
48269
48270 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48271             Bruno Haible  <bruno@clisp.org>
48272
48273         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48274
48275 2008-11-29  Jim Meyering  <meyering@redhat.com>
48276
48277         unicodeio.c: mark unused parameters
48278         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48279         (fallback_failure_callback): Likewise.
48280
48281         fts: fix a thinko
48282         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48283         (set_stat_type): Return S_IF*-valued "type" directly.
48284         Prompted by James Youngman's spotting a related bug.
48285         Confirmed by further testing through find.
48286
48287         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48288         * lib/fts.c (D_TYPE): Define.
48289         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48290         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48291         (s_ifmt_shift_bits): New function.
48292         (set_stat_type): New function.
48293         (fts_build): When not calling fts_stat, call set_stat_type
48294         to propagate dirent.d_type info to fts_read caller.
48295         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48296         fts_statp->st_mode type information may be valid.
48297
48298 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48299
48300         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48301         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48302         <sds@gnu.org>.
48303
48304 2008-11-20  Bruno Haible  <bruno@clisp.org>
48305
48306         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48307         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48308         INCLUDE_NEXT.
48309         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48310         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48311         * modules/math (Makefile.am): Substitute
48312         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48313         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48314
48315 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48316             Bruno Haible  <bruno@clisp.org>
48317
48318         * lib/stdint.in.h: Define all type macros so that their expansion is
48319         a single typedef'ed token. Fixes a compilation failure in Boost which
48320         does "using ::int8_t;".
48321
48322 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48323
48324         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48325         gl_MANYWARN_ALL_GCC.
48326         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48327         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48328         * modules/manywarnings: New file.
48329         * MODULES.html.sh: Mention manywarnings module.
48330
48331 2008-11-18  Bruno Haible  <bruno@clisp.org>
48332
48333         * doc/gnulib-tool.texi (Unit tests): New section.
48334
48335 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48336
48337         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48338         paths like 'lib/po/foo.po'.
48339
48340 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48341
48342         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48343         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48344
48345 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48346
48347         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48348         parameter works.
48349
48350 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48351
48352         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48353
48354 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48355
48356         * modules/parse-duration-tests: New file.
48357         * tests/test-parse-duration.sh: New file.
48358         * tests/test-parse-duration.c: New file.
48359
48360         New module 'parse-duration'.
48361         * lib/parse-duration.h: New file.
48362         * lib/parse-duration.c: New file.
48363         * modules/parse-duration: New file.
48364
48365 2008-11-17  Bruno Haible  <bruno@clisp.org>
48366
48367         * tests/test-select-out.sh: Comment out the first pipe test.
48368         Reported by Simon Josefsson.
48369
48370 2008-11-17  Bruno Haible  <bruno@clisp.org>
48371
48372         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48373         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48374         gl_HOSTENT.
48375
48376 2008-11-17  Bruno Haible  <bruno@clisp.org>
48377
48378         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48379         -lnetwork and -lnet. Needed for Haiku and BeOS.
48380
48381 2008-11-16  Bruno Haible  <bruno@clisp.org>
48382
48383         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48384
48385 2008-11-16  Bruno Haible  <bruno@clisp.org>
48386
48387         Avoid test failure on Haiku.
48388         * tests/test-fsync.c: Include <errno.h>.
48389         (main): Don't require that fsync (0) fails.
48390
48391 2008-11-15  Bruno Haible  <bruno@clisp.org>
48392
48393         New module 'hostent'.
48394         * modules/hostent: New file.
48395         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48396
48397 2008-11-15  Bruno Haible  <bruno@clisp.org>
48398
48399         New module 'servent'.
48400         * modules/servent: New file.
48401         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48402
48403 2008-11-15  Bruno Haible  <bruno@clisp.org>
48404
48405         Avoid generating same test program with two different rules.
48406         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48407         test-frexp to test-frexp-nolibm.
48408         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48409         test-frexpl to test-frexpl-nolibm.
48410
48411 2008-11-15  Bruno Haible  <bruno@clisp.org>
48412
48413         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48414         $(FREXPL_LIBM).
48415
48416 2008-11-15  Bruno Haible  <bruno@clisp.org>
48417
48418         * lib/netdb.in.h: Activate the definitions also when the system's
48419         <netdb.h> has 'struct addrinfo'.
48420         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48421         EAI_OVERFLOW or AI_NUMERICSERV.
48422         * doc/posix-headers/netdb.texi: Document the problem.
48423
48424 2008-11-15  Bruno Haible  <bruno@clisp.org>
48425
48426         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48427
48428         Make the 'sched' module work on platforms where <sched.h> exists but
48429         is incomplete (such as Haiku).
48430         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48431         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48432         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48433         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48434         HAVE_STRUCT_SCHED_PARAM.
48435         * modules/sched (Depends-on): Add include_next.
48436         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48437         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48438         * doc/posix-headers/sched.texi: Document the issue.
48439
48440 2008-11-13  Jim Meyering  <meyering@redhat.com>
48441
48442         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48443         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48444         test would fail due to the difference in the Report bugs to ...
48445         line.  The expected address is empty, "<>", while the actual
48446         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48447
48448 2008-11-12  Bruno Haible  <bruno@clisp.org>
48449
48450         lstat: don't compile lstat.c on systems lacking lstat
48451         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48452         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48453         Reported by Daniel P. Berrange via Jim Meyering.
48454
48455 2008-11-12  Jim Meyering  <meyering@redhat.com>
48456
48457         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48458
48459 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48460
48461         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48462         instead.
48463
48464 2008-11-12  Bruno Haible  <bruno@clisp.org>
48465
48466         * lib/unicodeio.c: Include unistr.h.
48467         (utf8_wctomb): Remove function.
48468         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48469
48470 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48471
48472         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48473         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48474         <bruno@clisp.org>.
48475         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48476
48477 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48478
48479         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48480         * doc/gnulib.texi: Add section for warnings.
48481
48482 2008-11-11  Bruno Haible  <bruno@clisp.org>
48483
48484         * lib/sockets.h: Add a comment.
48485
48486 2008-11-11  Karl Berry  <karl@gnu.org>
48487
48488         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48489
48490 2008-11-11  Eric Blake  <ebb9@byu.net>
48491
48492         fdl.texi: avoid git symlinks
48493         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48494
48495 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48496
48497         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48498
48499 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48500
48501         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48502         (gl_WARN_ADD): Substitute $2 if literal.
48503
48504 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48505
48506         * m4/warning.m4: Remove.
48507
48508 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48509
48510         * m4/warnings.m4: Almost complete rewrite. :-)
48511
48512 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48513
48514         * modules/warnings: New module.
48515         * m4/warnings.m4: New file.
48516         * MODULES.html.sh: Mention warnings module.
48517         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48518         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48519
48520 2008-11-10  Eric Blake  <ebb9@byu.net>
48521
48522         fdl.texi: make a symlink to the latest version
48523         * doc/standards.texi: Revert today's earlier change.
48524         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48525         * doc/fdl.texi: ...and replace this with a symlink to the newer
48526         fdl-1.3.texi.
48527
48528 2008-11-10  Bruno Haible  <bruno@clisp.org>
48529
48530         * tests/test-select-fd.c (main): Accept the result file name as fourth
48531         argument.
48532         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48533         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48534
48535 2008-11-10  Bruno Haible  <bruno@clisp.org>
48536
48537         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48538         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48539         as autoconf-substituted macros.
48540         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48541         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48542         gl_NETDB_H_DEFAULTS. Set these variables.
48543         * modules/netdb (Makefile.am): Substitute these variables.
48544
48545 2008-11-10  Eric Blake  <ebb9@byu.net>
48546
48547         standards.texi: include correct file for FDL 1.3
48548         * doc/standards.texi (GNU Free Documentation License): Change
48549         include file to pull in FDL 1.3, not 1.2.
48550
48551         fdl.texi: revert accidental change to license
48552         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48553
48554 2008-11-10  Bruno Haible  <bruno@clisp.org>
48555
48556         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48557         cross-compiling guesses also when the native compile gives no result.
48558
48559 2008-11-10  Bruno Haible  <bruno@clisp.org>
48560
48561         * lib/spawni.c (__spawni): Force variable into the stack.
48562
48563 2008-11-10  Bruno Haible  <bruno@clisp.org>
48564
48565         Add support for Haiku.
48566         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48567         glibc and BeOS, but also on Haiku.
48568         * lib/fpurge.c (fpurge): Likewise.
48569         * lib/freadable.c (freadable): Likewise.
48570         * lib/freadahead.c (freadahead): Likewise.
48571         * lib/freading.c (freading): Likewise.
48572         * lib/freadptr.c (freadptr): Likewise.
48573         * lib/freadseek.c (freadptrinc): Likewise.
48574         * lib/fseeko.c (rpl_fseeko): Likewise.
48575         * lib/fseterr.c (fseterr): Likewise.
48576         * lib/fwritable.c (fwritable): Likewise.
48577         * lib/fwriting.c (fwriting): Likewise.
48578         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48579
48580 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48581
48582         * lib/config.charset: Treat Haiku like BeOS.
48583
48584 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48585
48586         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48587         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48588
48589 2008-11-08  Bruno Haible  <bruno@clisp.org>
48590
48591         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48592         AC_CACHE_CHECK.
48593
48594 2008-11-08  Bruno Haible  <bruno@clisp.org>
48595
48596         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48597
48598 2008-11-08  Bruno Haible  <bruno@clisp.org>
48599
48600         * tests/test-select-fd.c: New file.
48601         * tests/test-select-in.sh: New file.
48602         * tests/test-select-out.sh: New file.
48603         * tests/test-select-stdin.c: New file.
48604         * modules/select-tests (Files): Add the new files.
48605         (Depends-on): Add gettimeofday.
48606         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48607         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48608         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48609
48610 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48611             Bruno Haible  <bruno@clisp.org>
48612
48613         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48614
48615 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48616
48617         * build-aux/pmccabe2html: Added support for C++ source files.
48618
48619 2008-11-05  Ben Pfaff  <blp@gnu.org>
48620
48621         Fix lib/close.c build on Windows.
48622         * modules/close (Files): Add lib/w32sock.h.
48623
48624 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48625
48626         Accept Bison's NEWS format.
48627         * build-aux/announce-gen (print_news_deltas): Tweak
48628         $re_prefix.
48629
48630 2008-11-04  Bruno Haible  <bruno@clisp.org>
48631
48632         * modules/random_r (Maintainer): Add glibc.
48633
48634 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48635
48636         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48637         by karl@freefriends.org (Karl Berry).
48638         * doc/alloca.texi: Likewise.
48639         * doc/c-ctype.texi: Likewise.
48640         * doc/c-strcase.texi: Likewise.
48641         * doc/c-strcaseeq.texi: Likewise.
48642         * doc/c-strcasestr.texi: Likewise.
48643         * doc/c-strstr.texi: Likewise.
48644         * doc/c-strtod.texi: Likewise.
48645         * doc/c-strtold.texi: Likewise.
48646         * doc/ctime.texi: Likewise.
48647         * doc/error.texi: Likewise.
48648         * doc/fdl.texi: Likewise.
48649         * doc/gcd.texi: Likewise.
48650         * doc/getdate.texi: Likewise.
48651         * doc/gnulib-intro.texi: Likewise.
48652         * doc/gnulib-tool.texi: Likewise.
48653         * doc/gnulib.texi: Likewise.
48654         * doc/inet_ntoa.texi: Likewise.
48655         * doc/maintain.texi: Likewise.
48656         * doc/make-stds.texi: Likewise.
48657         * doc/quote.texi: Likewise.
48658         * doc/regexprops-generic.texi: Likewise.
48659         * doc/standards.texi: Likewise.
48660         * doc/verify.texi: Likewise.
48661         * doc/visibility.texi: Likewise.
48662         * doc/gnulib.texi (GNU Free Documentation License): Include
48663         fdl-1.3.texi instead of fdl.texi.
48664
48665 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48666
48667         * doc/fdl-1.3.texi: New file, from
48668         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48669         * modules/fdl-1.3: Add.
48670         * MODULES.html.sh: Add fdl-1.3.
48671
48672 2008-11-03  Bruno Haible  <bruno@clisp.org>
48673
48674         Make determination of absolute name of header file work with AIX xlc.
48675         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48676         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48677         preprocessing.
48678         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48679         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48680
48681 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48682
48683         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48684         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48685         <ludo@gnu.org>.
48686
48687 2008-11-02  Bruno Haible  <bruno@clisp.org>
48688
48689         Mark 'strpbrk' obsolete.
48690         * modules/strpbrk (Status, Notice): New sections.
48691         * modules/strtok_r (Depends-on): Add strpbrk.
48692
48693 2008-11-02  Bruno Haible  <bruno@clisp.org>
48694
48695         Mark 'strdup' obsolete.
48696         * modules/strdup (Status, Notice): New sections.
48697         * modules/findprog (Depends-on): Add strdup.
48698         * modules/getaddrinfo (Depends-on): Likewise.
48699         * modules/localename (Depends-on): Likewise.
48700         * modules/relocatable-lib (Depends-on): Likewise.
48701         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48702         * modules/relocatable-prog (Depends-on): Likewise.
48703         * modules/trim (Depends-on): Likewise.
48704         * modules/unictype/gen-ctype (Depends-on): Likewise.
48705         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48706
48707 2008-11-02  Bruno Haible  <bruno@clisp.org>
48708
48709         Mark 'strcspn' obsolete.
48710         * modules/strcspn (Status, Notice): New sections.
48711
48712 2008-11-02  Bruno Haible  <bruno@clisp.org>
48713
48714         Mark 'rmdir' obsolete.
48715         * modules/rmdir (Status, Notice): New sections.
48716         * modules/clean-temp (Depends-on): Add rmdir.
48717         * modules/openat (Depends-on): Likewise.
48718
48719 2008-11-02  Bruno Haible  <bruno@clisp.org>
48720
48721         Mark 'raise' obsolete.
48722         * modules/raise (Status, Notice): New sections.
48723         (Include): Specify <signal.h>.
48724         * modules/stdio (Depends-on): Add raise.
48725         * modules/write (Depends-on): Likewise.
48726
48727 2008-11-02  Bruno Haible  <bruno@clisp.org>
48728
48729         Mark 'memset' obsolete.
48730         * modules/memset (Status, Notice): New sections.
48731
48732 2008-11-02  Bruno Haible  <bruno@clisp.org>
48733
48734         Mark 'memmove' obsolete.
48735         * modules/memmove (Status, Notice): New sections.
48736         * modules/argp (Depends-on): Add memmove.
48737         * modules/argz (Depends-on): Likewise.
48738         * modules/canonicalize (Depends-on): Likewise.
48739         * modules/canonicalize-lgpl (Depends-on): Likewise.
48740         * modules/fts (Depends-on): Likewise.
48741         * modules/getcwd (Depends-on): Likewise.
48742         * modules/human (Depends-on): Likewise.
48743         * modules/regex (Depends-on): Likewise.
48744         * modules/striconveh (Depends-on): Likewise.
48745         * modules/trim (Depends-on): Likewise.
48746         * modules/unistr/u8-move (Depends-on): Likewise.
48747         * modules/unistr/u16-move (Depends-on): Likewise.
48748         * modules/unistr/u32-move (Depends-on): Likewise.
48749
48750 2008-11-02  Bruno Haible  <bruno@clisp.org>
48751
48752         Mark 'memcpy' obsolete.
48753         * modules/memcpy (Status, Notice): New sections.
48754
48755 2008-11-02  Bruno Haible  <bruno@clisp.org>
48756
48757         Mark 'memcmp' obsolete.
48758         * modules/memcmp (Status, Notice): New sections.
48759         * modules/argmatch (Depends-on): Add memchr.
48760         * modules/backupfile (Depends-on): Likewise.
48761         * modules/c-strcasestr (Depends-on): Likewise.
48762         * modules/crypto/des (Depends-on): Likewise.
48763         * modules/csharpcomp (Depends-on): Likewise.
48764         * modules/fnmatch (Depends-on): Likewise.
48765         * modules/git-merge-changelog (Depends-on): Likewise.
48766         * modules/isnand (Depends-on): Likewise.
48767         * modules/isnand-nolibm (Depends-on): Likewise.
48768         * modules/isnanf (Depends-on): Likewise.
48769         * modules/isnanf-nolibm (Depends-on): Likewise.
48770         * modules/isnanl (Depends-on): Likewise.
48771         * modules/isnanl-nolibm (Depends-on): Likewise.
48772         * modules/mbchar (Depends-on): Likewise.
48773         * modules/memcoll (Depends-on): Likewise.
48774         * modules/quotearg (Depends-on): Likewise.
48775         * modules/regex (Depends-on): Likewise.
48776         * modules/relocatable-prog (Depends-on): Likewise.
48777         * modules/same (Depends-on): Likewise.
48778         * modules/signbit (Depends-on): Likewise.
48779         * modules/strcasestr-simple (Depends-on): Likewise.
48780         * modules/unictype/gen-ctype (Depends-on): Likewise.
48781         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48782         * modules/uniname/uniname (Depends-on): Likewise.
48783         * modules/unistr/u8-cmp (Depends-on): Likewise.
48784
48785 2008-11-02  Bruno Haible  <bruno@clisp.org>
48786
48787         Mark 'memchr' obsolete.
48788         * modules/memchr (Status, Notice): New sections.
48789         * modules/argp (Depends-on): Add memchr.
48790         * modules/base64 (Depends-on): Likewise.
48791         * modules/c-strcasestr (Depends-on): Likewise.
48792         * modules/chdir-long (Depends-on): Likewise.
48793         * modules/fnmatch (Depends-on): Likewise.
48794         * modules/getsubopt (Depends-on): Likewise.
48795         * modules/git-merge-changelog (Depends-on): Likewise.
48796         * modules/glob (Depends-on): Likewise.
48797         * modules/strcasestr-simple (Depends-on): Likewise.
48798         * modules/strnlen (Depends-on): Likewise.
48799
48800 2008-11-02  Bruno Haible  <bruno@clisp.org>
48801
48802         Mark 'atexit' obsolete.
48803         * modules/atexit (Status, Notice): New sections.
48804         * modules/chdir-long (Depends-on): Add atexit.
48805         * modules/wait-process (Depends-on): Likewise.
48806
48807 2008-11-02  Bruno Haible  <bruno@clisp.org>
48808
48809         * gnulib-tool: New option --with-obsolete.
48810         (func_usage): Document it.
48811         (func_modules_transitive_closure): Drop obsolete dependencies if
48812         incobsolete is not true.
48813         (func_import): Read and save the incobsolete variable to the cache.
48814
48815 2008-11-02  Bruno Haible  <bruno@clisp.org>
48816
48817         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48818         * gnulib-tool: New option --extract-status.
48819         (func_usage): Document it.
48820         (sed_extract_prog): Recognize it.
48821         (func_get_status): New function.
48822
48823 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48824
48825         * modules/sockets (License): Change from LGPL to LGPLv2+.
48826
48827 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48828
48829         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48830
48831 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48832
48833         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48834         Mention times and sys_times.
48835         * modules/sys_times, modules/sys_times-tests: New modules.
48836         * modules/times, modules/times-tests: Likewise
48837         * m4/sys_times_h.m4: New file.
48838         * lib/sys_times.in.h: Likewise
48839         * lib/times.c: Likewise.
48840         * tests/test-sys_times.c: Likewise.
48841         * tests/test-times.c: Likewise.
48842         * doc/posix-headers/sys_times.texi: Update.
48843         * doc/posix-functions/times.texi: Update.
48844
48845 2008-10-28  Jim Meyering  <meyering@redhat.com>
48846
48847         * modules/tempname (Depends-on): Add lstat.
48848
48849         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48850
48851 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48852
48853         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48854         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48855         using idiom used elsewhere in gnulib.
48856
48857 2008-10-27  Jim Meyering  <meyering@redhat.com>
48858
48859         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48860
48861 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48862
48863         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48864         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48865         programs.
48866         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48867
48868 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48869
48870         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48871
48872 2008-10-27  Bruno Haible  <bruno@clisp.org>
48873
48874         * tests/test-lstat.c: Include <stdio.h>.
48875
48876 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48877
48878         * modules/lstat-tests: New module.
48879         * tests/test-lstat.c: New file.
48880
48881 2008-10-26  Jim Meyering  <meyering@redhat.com>
48882
48883         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48884
48885 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48886             Bruno Haible  <bruno@clisp.org>
48887
48888         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48889         * modules/configmake (Include): Add a note that the include must come
48890         after all system headers.
48891         * lib/javaversion.c: Include configmake.h after all other includes.
48892
48893 2008-10-26  Bruno Haible  <bruno@clisp.org>
48894
48895         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48896         HAVE_STRUCT_RANDOM_DATA to 1.
48897         (gl_STDLIB_H): Simplify.
48898
48899 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48900
48901         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48902         substitute HAVE_STRUCT_RANDOM_DATA.
48903         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48904         random_data.
48905         * modules/stdlib (Makefile.am): Substitute
48906         HAVE_STRUCT_RANDOM_DATA.
48907
48908 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48909
48910         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48911         * doc/gnulib-intro.texi (Copyright): Likewise.
48912
48913 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48914
48915         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
48916         findings.
48917
48918 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
48919             Bruno Haible  <bruno@clisp.org>
48920
48921         * lib/unistd.in.h: Include <winsock2.h>.
48922         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
48923         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
48924         Provide dummy declarations.
48925         (gethostname): Override.
48926         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
48927         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
48928         gl_PREREQ_SYS_H_WINSOCK2.
48929         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
48930         * doc/posix-functions/gethostname.texi: More details.
48931
48932 2008-10-25  Bruno Haible  <bruno@clisp.org>
48933
48934         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48935         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
48936         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
48937
48938         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
48939         here ...
48940         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
48941         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
48942         gl_UNISTD_H_DEFAULTS.
48943
48944 2008-10-25  Eric Blake  <ebb9@byu.net>
48945
48946         signbit: avoid spurious compiler failure
48947         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
48948         declarations inside function.
48949
48950 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48951             Bruno Haible  <bruno@clisp.org>
48952
48953         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
48954         * modules/random_r (Depends-on): Add stdint.
48955
48956 2008-10-24  Bruno Haible  <bruno@clisp.org>
48957
48958         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
48959         Eggert.
48960         * modules/strerror (License): Likewise.
48961
48962 2008-10-24  Jim Meyering  <meyering@redhat.com>
48963
48964         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
48965         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
48966
48967 2008-10-24  Eric Blake  <ebb9@byu.net>
48968
48969         getgroups: fix compilation when getgroups is available
48970         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
48971         but with <config.h> override of getgroups disabled.
48972
48973 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48974
48975         * doc/gnulib.texi (Header files): Add note about C++ problems.
48976         Explained by Bruno Haible <bruno@clisp.org>.
48977
48978 2008-10-23  Bruno Haible  <bruno@clisp.org>
48979
48980         Define a dummy SA_NODEFER macro on Interix.
48981         * lib/signal.in.h (SA_NODEFER): Define fallback.
48982         Reported by Aleksey Cheusov <cheusov@tut.by> via
48983         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
48984
48985 2008-10-23  Bruno Haible  <bruno@clisp.org>
48986
48987         * modules/freadahead (License): Change to LGPLv2+.
48988         Suggested by Simon Josefsson.
48989
48990 2008-10-23  Jim Meyering  <meyering@redhat.com>
48991
48992         random_r: new module
48993         * modules/random_r: New file.
48994         * m4/random_r.m4: New file.
48995         * lib/random_r.c: New file, from glibc.
48996         * modules/random_r-tests: New file.
48997         * tests/test-random_r.c: New file.
48998         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
48999          Declare.
49000         (RAND_MAX): Define.
49001         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49002         * modules/stdlib: Substitute them, too.
49003         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49004         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49005         * doc/glibc-functions/random_r.texi: Likewise.
49006         * doc/glibc-functions/setstate_r.texi: Likewise.
49007         * doc/glibc-functions/srandom_r.texi: Likewise.
49008         * config/srclist.txt: Mention it.
49009
49010 2008-10-23  David Lutterkort  <lutter@redhat.com>
49011
49012         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49013         link requirement
49014
49015 2008-10-23  Jim Meyering  <meyering@redhat.com>
49016
49017         selinux-h: mark parameters of stub functions as intentionally unused
49018         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49019         * lib/se-context.in.h: Likewise.
49020
49021 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49022
49023         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49024
49025 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49026
49027         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49028
49029 2008-10-22  Eric Blake  <ebb9@byu.net>
49030
49031         glthread/thread: avoid compiler warning
49032         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49033         Add unreachable abort to silence compiler.
49034
49035 2008-10-22  Eric Blake  <ebb9@byu.net>
49036
49037         netdb: also supply struct addrinfo for cygwin 1.5.x
49038         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49039         older cygwin.
49040         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49041         cygwin.
49042         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49043
49044 2008-10-22  Bruno Haible  <bruno@clisp.org>
49045
49046         * users.txt: Update entry about pspp.
49047
49048 2008-10-21  Bruno Haible  <bruno@clisp.org>
49049
49050         Simplification.
49051         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49052         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49053
49054         Simplification.
49055         * lib/ioctl.c (ioctl): Don't undefine.
49056         * lib/socket.c (socket): Don't undefine.
49057
49058         Remove unused module indicator macros.
49059         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49060         GNULIB_$1 as a C macro.
49061
49062         * doc/posix-functions/close.texi: Undo last change.
49063         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49064         Windows platforms.
49065
49066 2008-10-21  Bruno Haible  <bruno@clisp.org>
49067
49068         Add gethostname() declaration to <unistd.h>.
49069         * lib/unistd.in.h (gethostname): New declaration.
49070         * lib/gethostname.c: Include <unistd.h>.
49071         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49072         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49074         and HAVE_GETHOSTNAME.
49075         * modules/gethostname (Depends-on): Add unistd.
49076         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49077         (Include): Specify <unistd.h>.
49078         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49079         HAVE_GETHOSTNAME.
49080         * tests/test-gethostname.c: Include <unistd.h> first.
49081
49082 2008-10-21  Bruno Haible  <bruno@clisp.org>
49083
49084         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49085         * modules/select-tests (Depends-on): Likewise.
49086         Reported by Simon Josefsson.
49087
49088 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49089
49090         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49091         * lib/accept.c: New file, based on winsock.c.
49092         * lib/bind.c: New file, based on winsock.c.
49093         * lib/connect.c: New file, based on winsock.c.
49094         * lib/getpeername.c: New file, based on winsock.c.
49095         * lib/getsockname.c: New file, based on winsock.c.
49096         * lib/getsockopt.c: New file, based on winsock.c.
49097         * lib/ioctl.c: New file, based on winsock.c.
49098         * lib/listen.c: New file, based on winsock.c.
49099         * lib/recv.c: New file, based on winsock.c.
49100         * lib/recvfrom.c: New file, based on winsock.c.
49101         * lib/send.c: New file, based on winsock.c.
49102         * lib/sendto.c: New file, based on winsock.c.
49103         * lib/setsockopt.c: New file, based on winsock.c.
49104         * lib/shutdown.c: New file, based on winsock.c.
49105         * lib/socket.c: New file, based on winsock.c.
49106         * lib/w32sock.h: New file, based on winsock.c.
49107         * lib/winsock.c: Remove file.
49108         * modules/accept: Likewise.
49109         * modules/bind: Likewise.
49110         * modules/connect: Likewise.
49111         * modules/getpeername: Likewise.
49112         * modules/getsockname: Likewise.
49113         * modules/getsockopt: Likewise.
49114         * modules/ioctl: Likewise.
49115         * modules/listen: Likewise.
49116         * modules/recv: Likewise.
49117         * modules/recvfrom: Likewise.
49118         * modules/send: Likewise.
49119         * modules/sendto: Likewise.
49120         * modules/setsockopt: Likewise.
49121         * modules/shutdown: Likewise.
49122         * modules/socket: Use socket.c instead of winsock.c.
49123         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49124         * doc/posix-functions/accept.texi: Doc fix.
49125         * doc/posix-functions/bind.texi: Doc fix.
49126         * doc/posix-functions/close.texi: Doc fix.
49127         * doc/posix-functions/connect.texi: Doc fix.
49128         * doc/posix-functions/getpeername.texi: Doc fix.
49129         * doc/posix-functions/getsockname.texi: Doc fix.
49130         * doc/posix-functions/getsockopt.texi: Doc fix.
49131         * doc/posix-functions/ioctl.texi: Doc fix.
49132         * doc/posix-functions/listen.texi: Doc fix.
49133         * doc/posix-functions/recv.texi: Doc fix.
49134         * doc/posix-functions/recvfrom.texi: Doc fix.
49135         * doc/posix-functions/send.texi: Doc fix.
49136         * doc/posix-functions/sendto.texi: Doc fix.
49137         * doc/posix-functions/setsockopt.texi: Doc fix.
49138         * doc/posix-functions/shutdown.texi: Doc fix.
49139         * doc/posix-functions/socket.texi: Doc fix.
49140
49141 2008-10-20  Bruno Haible  <bruno@clisp.org>
49142
49143         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49144         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49145         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49146         as an alias for SIGABRT.
49147         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49148         (sigaction): Map it to SIGABRT.
49149         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49150
49151 2008-10-20  Bruno Haible  <bruno@clisp.org>
49152
49153         * lib/fts.c: Don't include lstat.h.
49154         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49155
49156         Move the lstat() declaration to <sys/stat.h>.
49157         * lib/lstat.h: Remove file.
49158         * lib/sys_stat.in.h: Add special invocation convention.
49159         (lstat): New declaration.
49160         * lib/lstat.c (orig_lstat): New function.
49161         (rpl_lstat): Use orig_lstat instead of lstat.
49162         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49163         AC_C_INLINE. Set REPLACE_LSTAT.
49164         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49165         and REPLACE_LSTAT.
49166         * modules/lstat (Files): Remove lib/lstat.h.
49167         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49168         (Include): Specify <sys/stat.h> instead of lstat.h.
49169         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49170         REPLACE_LSTAT.
49171         * NEWS: Mention the change.
49172
49173 2008-10-20  Bruno Haible  <bruno@clisp.org>
49174
49175         * modules/posix_spawn-tests: New file.
49176         * tests/test-posix_spawn3.c: New file.
49177
49178 2008-10-20  Bruno Haible  <bruno@clisp.org>
49179
49180         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49181         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49182         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49183         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49184         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49185
49186 2008-10-20  Bruno Haible  <bruno@clisp.org>
49187
49188         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49189         of posix_spawn on AIX 5.3.
49190
49191 2008-10-20  Bruno Haible  <bruno@clisp.org>
49192
49193         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49194
49195 2008-10-20  Bruno Haible  <bruno@clisp.org>
49196
49197         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49198         of AC_LANG_PROGRAM.
49199
49200 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49201
49202         * lib/netdb.in.h: Don't define GNU specific constants until they
49203         are supported or needed.  Reported by Bruno Haible
49204         <bruno@clisp.org>.
49205
49206 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49207
49208         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49209
49210 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49211
49212         * lib/getaddrinfo.h: Remove file.
49213         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49214         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49215         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49216         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49217         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49218         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49219         * tests/test-getaddrinfo.c: Likewise.
49220         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49221         * NEWS: Mention change.
49222
49223 2008-10-19  Bruno Haible  <bruno@clisp.org>
49224
49225         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49226
49227 2008-10-19  Bruno Haible  <bruno@clisp.org>
49228
49229         * lib/wait-process.c: Include simply <sys/wait.h>.
49230         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49231         WIFSTOPPED): Remove fallback definitions.
49232         * modules/wait-process (Depends-on): Add sys_wait.
49233
49234         New module 'sys_wait'.
49235         * modules/sys_wait: New file.
49236         * lib/sys_wait.in.h: New file, partially copied from
49237         lib/wait-process.c.
49238         * m4/sys_wait_h.m4: New file.
49239         * doc/posix-headers/sys_wait.texi: Mention the new module.
49240
49241 2008-10-19  Bruno Haible  <bruno@clisp.org>
49242
49243         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49244
49245 2008-10-19  Bruno Haible  <bruno@clisp.org>
49246
49247         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49248         * lib/wait-process.c (WAIT_T): Remove type.
49249         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49250         (wait_subprocess): Update.
49251
49252 2008-10-19  Bruno Haible  <bruno@clisp.org>
49253
49254         New module 'atoll'.
49255         * modules/atoll: New file.
49256         * lib/stdlib.in.h (atoll): New declaration.
49257         * lib/atoll.c: New file, from glibc with modifications.
49258         * m4/atoll.m4: New file.
49259         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49260         HAVE_ATOLL.
49261         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49262         * doc/posix-functions/atoll.texi: Mention the new module.
49263
49264 2008-10-19  Bruno Haible  <bruno@clisp.org>
49265
49266         Add strtoull() declaration to <stdlib.h>.
49267         * lib/stdlib.in.h (strtoull): New declaration.
49268         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49269         Set HAVE_STRTOULL.
49270         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49271         HAVE_STRTOULL.
49272         * modules/strtoull (Depends-on): Add stdlib.
49273         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49274         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49275         HAVE_STRTOULL.
49276
49277 2008-10-19  Bruno Haible  <bruno@clisp.org>
49278
49279         Add strtoll() declaration to <stdlib.h>.
49280         * lib/stdlib.in.h (strtoll): New declaration.
49281         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49282         Set HAVE_STRTOLL.
49283         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49284         HAVE_STRTOLL.
49285         * modules/strtoll (Depends-on): Add stdlib.
49286         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49287         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49288
49289 2008-10-19  Bruno Haible  <bruno@clisp.org>
49290
49291         * modules/bcopy (Depends-on): Add strings.
49292         (Include): Specify <strings.h>.
49293
49294 2008-10-19  Bruno Haible  <bruno@clisp.org>
49295
49296         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49297
49298 2008-10-19  Bruno Haible  <bruno@clisp.org>
49299
49300         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49301         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49302         mingw.
49303
49304 2008-10-19  Bruno Haible  <bruno@clisp.org>
49305
49306         * lib/atanl.c: Don't include isnanl.h.
49307         * lib/cosl.c: Likewise.
49308         * lib/ldexpl.c: Likewise.
49309         * lib/logl.c: Likewise.
49310         * lib/sinl.c: Likewise.
49311         * lib/sqrtl.c: Likewise.
49312         * lib/tanl.c: Likewise.
49313
49314         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49315         * lib/isnanf.h: Remove file.
49316         * lib/isnand.h: Remove file.
49317         * lib/isnanl.h: Remove file.
49318         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49319         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49320         macros.
49321         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49322         HAVE_ISNANF, don't define it as a C macro.
49323         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49324         HAVE_ISNAND, don't define it as a C macro.
49325         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49326         HAVE_ISNANL, don't define it as a C macro.
49327         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49328         HAVE_ISNAN[FDL].
49329         * modules/isnanf (Files): Remove lib/isnanf.h.
49330         (Depends-on): Add math.
49331         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49332         (Include): Specify <math.h> instead of isnanf.h.
49333         * modules/isnand (Files): Remove lib/isnand.h.
49334         (Depends-on): Add math.
49335         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49336         (Include): Specify <math.h> instead of isnand.h.
49337         * modules/isnanl (Files): Remove lib/isnanl.h.
49338         (Depends-on): Add math.
49339         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49340         (Include): Specify <math.h> instead of isnanl.h.
49341         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49342         HAVE_ISNAN[FDL].
49343         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49344         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49345         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49346         * NEWS: Mention the change.
49347
49348 2008-10-18  Bruno Haible  <bruno@clisp.org>
49349
49350         Add getusershell(), setusershell(), endusershell() declarations to
49351         <unistd.h>.
49352         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49353         declarations.
49354         * lib/getusershell.c: Include unistd.h.
49355         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49356         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49357         HAVE_GETUSERSHELL.
49358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49359         and HAVE_GETUSERSHELL.
49360         * modules/getusershell (Depends-on): Add unistd, extensions.
49361         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49362         (Include): Specify <unistd.h>.
49363         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49364         HAVE_GETUSERSHELL.
49365
49366 2008-10-18  Bruno Haible  <bruno@clisp.org>
49367
49368         Add a getloadavg() declaration to <stdlib.h>.
49369         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49370         getloadavg declaration.
49371         (getloadavg): New declaration.
49372         * lib/getloadavg.c: Include <stdlib.h> first.
49373         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49374         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49375         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49376         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49377         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49378         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49379         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49380         (Include): Specify <stdlib.h>.
49381         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49382         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49383
49384 2008-10-18  Bruno Haible  <bruno@clisp.org>
49385
49386         * lib/dirchownmod.c: Don't include lchmod.h.
49387
49388         Move the lchmod() declaration to <sys/stat.h>.
49389         * lib/lchmod.h: Remove file.
49390         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49391         (lchmod): New declaration, moved here from lib/lchown.h.
49392         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49393         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49394         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49395         and HAVE_LCHMOD.
49396         * modules/lchmod (Files): Remove lib/lchmod.h.
49397         (Depends-on): Add sys_stat, extensions.
49398         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49399         (Include): Specify <sys/stat.h> instead of lchmod.h.
49400         * modules/sys_stat (Depends-on): Add link-warning.
49401         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49402         definition of GL_LINK_WARNING.
49403         * NEWS: Mention the change.
49404
49405 2008-10-18  Bruno Haible  <bruno@clisp.org>
49406
49407         * lib/fchdir.c: Don't include dirfd.h.
49408         * lib/fts.c: Likewise.
49409         * lib/getcwd.c: Likewise.
49410         * lib/glob.c: Likewise.
49411
49412         Move the dirfd() declaration to <dirent.h>.
49413         * lib/dirfd.h: Remove file.
49414         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49415         (dirfd): New declaration.
49416         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49417         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49418         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49419         HAVE_DECL_DIRFD.
49420         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49421         HAVE_DECL_DIRFD.
49422         * modules/dirfd (Files): Remove lib/dirfd.h.
49423         (Depends-on): Add dirent, extensions.
49424         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49425         (Include): Specify <dirent.h> instead of dirfd.h.
49426         * modules/dirent (Depends-on): Add link-warning.
49427         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49428         definition of GL_LINK_WARNING.
49429         * NEWS: Mention the change.
49430
49431 2008-10-18  Bruno Haible  <bruno@clisp.org>
49432
49433         Move the euidaccess() declaration to <unistd.h>.
49434         * lib/euidaccess.h: Remove file.
49435         * lib/unistd.in.h (euidaccess): New declaration.
49436         * lib/euidaccess.c: Don't include euidaccess.h.
49437         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49438         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49440         and HAVE_EUIDACCESS.
49441         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49442         (Depends-on): Add unistd.
49443         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49444         (Include): Specify <unistd.h> instead of euidaccess.h.
49445         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49446         HAVE_EUIDACCESS.
49447         * NEWS: Mention the change.
49448
49449 2008-10-18  Bruno Haible  <bruno@clisp.org>
49450
49451         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49452
49453         Move the getdomainname() declaration to <unistd.h>.
49454         * lib/getdomainname.h: Remove file.
49455         * lib/unistd.in.h (getdomainname): New declaration.
49456         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49457         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49458         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49459         HAVE_GETDOMAINNAME.
49460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49461         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49462         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49463         (Depends-on): Add unistd, extensions.
49464         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49465         (Includes): Specify <unistd.h> instead of getdomainname.h.
49466         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49467         HAVE_GETDOMAINNAME.
49468         * NEWS: Mention the change.
49469
49470 2008-10-18  Bruno Haible  <bruno@clisp.org>
49471
49472         * modules/dirent: New file.
49473         * m4/dirent_h.m4: New file.
49474         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49475         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49476         * modules/fchdir (Files): Remove lib/dirent.in.h.
49477         (Depends-on): Add dirent.
49478         (Makefile.am): Move rules to modules/dirent.
49479         * doc/posix-headers/dirent.texi: Mention the new module.
49480
49481 2008-10-18  Bruno Haible  <bruno@clisp.org>
49482
49483         Avoid -Wunused-parameter warnings in public gnulib header files.
49484         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49485         macro.
49486         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49487
49488 2008-10-18  Bruno Haible  <bruno@clisp.org>
49489
49490         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49491         * doc/glibc-functions/error.texi: Mention the module 'error'.
49492         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49493         * doc/glibc-functions/getdomainname.texi: Mention the module
49494         'getdomainname'.
49495         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49496         * doc/glibc-functions/getpagesize.texi: Mention the module
49497         'getpagesize'.
49498         * doc/glibc-functions/getusershell.texi: Mention the module
49499         'getusershell'.
49500         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49501         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49502         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49503         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49504         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49505         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49506         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49507         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49508         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49509         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49510         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49511         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49512         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49513         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49514
49515 2008-10-17  Bruno Haible  <bruno@clisp.org>
49516
49517         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49518         HP-UX and IRIX, use -0.0L.
49519         * tests/test-ceill.c (minus_zero): Likewise.
49520         * tests/test-floorl.c (minus_zero): Likewise.
49521         * tests/test-frexpl.c (minus_zero): Likewise.
49522         * tests/test-isnan.c (minus_zerol): Likewise.
49523         * tests/test-isnanl.h (minus_zero): Likewise.
49524         * tests/test-ldexpl.c (minus_zero): Likewise.
49525         * tests/test-roundl.c (minus_zero): Likewise.
49526         * tests/test-signbit.c (minus_zerol): Likewise.
49527         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49528         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49529         * tests/test-truncl.c (minus_zero): Likewise.
49530         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49531         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49532         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49533         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49534
49535 2008-10-17  Bruno Haible  <bruno@clisp.org>
49536
49537         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49538         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49539         that it gets activated only for gcc >= 3.0.
49540         * lib/dirent.in.h: Likewise.
49541         * lib/errno.in.h: Likewise.
49542         * lib/fcntl.in.h: Likewise.
49543         * lib/float.in.h: Likewise.
49544         * lib/iconv.in.h: Likewise.
49545         * lib/inttypes.in.h: Likewise.
49546         * lib/locale.in.h: Likewise.
49547         * lib/math.in.h: Likewise.
49548         * lib/netdb.in.h: Likewise.
49549         * lib/netinet_in.in.h: Likewise.
49550         * lib/search.in.h: Likewise.
49551         * lib/signal.in.h: Likewise.
49552         * lib/spawn.in.h: Likewise.
49553         * lib/stdarg.in.h: Likewise.
49554         * lib/stdint.in.h: Likewise.
49555         * lib/stdio.in.h: Likewise.
49556         * lib/stdlib.in.h: Likewise.
49557         * lib/string.in.h: Likewise.
49558         * lib/strings.in.h: Likewise.
49559         * lib/sys_file.in.h: Likewise.
49560         * lib/sys_ioctl.in.h: Likewise.
49561         * lib/sys_select.in.h: Likewise.
49562         * lib/sys_socket.in.h: Likewise.
49563         * lib/sys_stat.in.h: Likewise.
49564         * lib/sys_time.in.h: Likewise.
49565         * lib/sysexits.in.h: Likewise.
49566         * lib/time.in.h: Likewise.
49567         * lib/unistd.in.h: Likewise.
49568         * lib/wchar.in.h: Likewise.
49569         * lib/wctype.in.h: Likewise.
49570         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49571
49572 2008-10-17  Jim Meyering  <meyering@redhat.com>
49573
49574         ignore-value: don't depend on inline module
49575         * modules/ignore-value (Depends-on): Remove 'inline'.
49576         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49577         Suggestion from Bruno Haible.
49578
49579 2008-10-17  Bruno Haible  <bruno@clisp.org>
49580
49581         New implementation of condition variables for Win32.
49582         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49583         (gl_linked_waitqueue_t): New type.
49584         (gl_cond_t): Use it.
49585         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49586         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49587         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49588         (glthread_cond_init_func, glthread_cond_wait_func,
49589         glthread_cond_timedwait_func, glthread_cond_signal_func,
49590         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49591         Reimplemented on the basis of gl_linked_waitqueue_t.
49592         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49593         gl_waitqueue_t.
49594         (gl_rwlock_t): Update.
49595         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49596
49597 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49598
49599         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49600         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49601
49602 2008-10-17  Jim Meyering  <meyering@redhat.com>
49603
49604         ignore-value: new module
49605         * modules/ignore-value: New file.
49606         * lib/ignore-value.h: New file.
49607         * MODULES.html.sh (Compiler warning management): New section,
49608         just for this module.  More to come.
49609
49610 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49611
49612         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49613         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49614         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49615
49616 2008-10-16  Jim Meyering  <meyering@redhat.com>
49617
49618         openat-die.c: avoid 'no previous prototype' warning
49619         * lib/openat-die.c: Include "openat.h".
49620         Reported by Reuben Thomas <rrt@sc3d.org>.
49621
49622 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49623
49624         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49625         * lib/netdb.in.h: Fix typo.
49626         Reported by Bruno Haible  <bruno@clisp.org>
49627
49628         * lib/netdb.in.h: Include sys/socket.h for platforms without
49629         netdb.h, to get structures like hostent on MinGW.
49630         * modules/netdb (Depends-on): Add sys_socket.
49631
49632 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49633
49634         * modules/netdb, modules/netdb-tests: New file.
49635         * m4/netdb_h.m4: New file.
49636         * lib/netdb.in.h: Add, currently just an empty file pending
49637         definitions.
49638         * tests/test-netdb.c: New file.
49639         * doc/posix-headers/netdb.texi: Mention that we replace it if
49640         needed.
49641         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49642         netdb.
49643
49644 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49645
49646         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49647         with code.
49648
49649 2008-10-13  Bruno Haible  <bruno@clisp.org>
49650
49651         * lib/glthread/cond.c (glthread_cond_wait_func,
49652         glthread_cond_timedwait_func): Add a comment.
49653
49654 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49655
49656         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49657         * tests/test-select.c: Likewise,
49658
49659 2008-10-13  Bruno Haible  <bruno@clisp.org>
49660
49661         * lib/glthread/cond.c (glthread_cond_wait_func,
49662         glthread_cond_timedwait_func): Fix variable name.
49663         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49664
49665 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49666
49667         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49668         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49669         struct sockaddr.sa_len.
49670         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49671
49672 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49673
49674         * build-aux/pmccabe2html: Add css and css_url parameters.
49675
49676 2008-10-12  Bruno Haible  <bruno@clisp.org>
49677
49678         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49679         calling aclx_get.
49680         Reported by Rainer Tammer <tammer@tammer.net>.
49681
49682 2008-10-12  Bruno Haible  <bruno@clisp.org>
49683
49684         Use msvcrt aware primitives for creation/termination of Win32 threads.
49685         * lib/glthread/thread.c: Include <process.h>.
49686         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49687         (wrapper_func): Update signature.
49688         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49689
49690 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49691             Bruno Haible  <bruno@clisp.org>
49692
49693         Provide a Win32 implementation of the 'cond' module.
49694         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49695         * lib/glthread/cond.c (glthread_cond_init_func,
49696         glthread_cond_wait_func, glthread_cond_timedwait_func,
49697         glthread_cond_signal_func, glthread_cond_broadcast_func,
49698         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49699         * modules/cond (Dependencies): Add gettimeofday.
49700
49701 2008-10-11  Bruno Haible  <bruno@clisp.org>
49702
49703         Make sleep work on older versions of mingw.
49704         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49705         only whether it exists.
49706         * doc/posix-functions/sleep.texi: Mention the problem with older
49707         versions of mingw.
49708
49709 2008-10-11  Bruno Haible  <bruno@clisp.org>
49710
49711         New module 'shutdown'.
49712         * modules/shutdown: New file.
49713         * lib/sys_socket.in.h (shutdown): New declaration.
49714         * lib/winsock.c (shutdown): New function.
49715         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49716         GNULIB_SHUTDOWN.
49717         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49718         * doc/posix-functions/shutdown.texi: Document the new module.
49719
49720 2008-10-11  Jim Meyering  <meyering@redhat.com>
49721
49722         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49723
49724 2008-10-11  Bruno Haible  <bruno@clisp.org>
49725
49726         New module 'fclose'.
49727         * modules/fclose: New file.
49728         * lib/stdio.in.h (fclose): New declaration.
49729         * lib/fclose.c: New file.
49730         * m4/fclose.m4: New file.
49731         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49732         REPLACE_FCLOSE.
49733         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49734         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49735         REPLACE_FCLOSE.
49736         * modules/close (Depends-on): fclose.
49737         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49738
49739 2008-10-11  Bruno Haible  <bruno@clisp.org>
49740
49741         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49742         set errno and don't call _close.
49743
49744 2008-10-10  Bruno Haible  <bruno@clisp.org>
49745
49746         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49747         ACL, not afterwards. Fixes test failure on Cygwin.
49748
49749 2008-10-09  Ben Pfaff  <blp@gnu.org>
49750
49751         * build-aux/announce-gen: Fix gnulib version related part of usage
49752         message.  Die with a useful error message if no tarballs are
49753         found.
49754
49755 2008-10-10  Jim Meyering  <meyering@redhat.com>
49756
49757         bootstrap: use git's --depth=N option only if it's supported
49758         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49759         recognize the --depth option.  Reported by Pádraig Brady.
49760
49761 2008-10-09  Bruno Haible  <bruno@clisp.org>
49762
49763         New module 'ioctl'.
49764         * modules/ioctl: New file.
49765         * lib/sys_socket.in.h (ioctl): Remove declaration.
49766         * lib/winsock.c: Include <sys/ioctl.h>.
49767         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49768         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49769         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49770         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49771         * doc/posix-functions/ioctl.texi: Mention the new module.
49772
49773 2008-10-09  Bruno Haible  <bruno@clisp.org>
49774
49775         New module 'sys_ioctl'.
49776         * lib/sys_ioctl.in.h: New file.
49777         * m4/sys_ioctl_h.m4: New file.
49778         * modules/sys_ioctl: New file.
49779         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49780
49781 2008-10-09  Bruno Haible  <bruno@clisp.org>
49782
49783         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49784         * lib/winsock.c: Include <stdarg.h>.
49785         (rpl_ioctl): Change to second argument 'int' and then varargs.
49786
49787 2008-10-09  Bruno Haible  <bruno@clisp.org>
49788
49789         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49790         when the sys_socket module is present and the system has <winsock2.h>.
49791
49792 2008-10-09  Bruno Haible  <bruno@clisp.org>
49793
49794         * doc/posix-functions/close.texi: Mention module 'close' instead of
49795         module 'sys_socket'.
49796
49797 2008-10-09  Bruno Haible  <bruno@clisp.org>
49798
49799         * doc/glibc-headers/sys_ioctl.texi: New file.
49800         * doc/gnulib.texi: Include it.
49801
49802 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49803             Bruno Haible  <bruno@clisp.org>
49804
49805         Combine the two replacements of 'close'.
49806         * lib/sys_socket.in.h (close): Define to a reminder to include
49807         <unistd.h>.
49808         (_gl_close_fd_maybe_socket): New declaration.
49809         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
49810         * lib/winsock.c (close): Remove undefinition.
49811         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49812         needed for the gnulib module 'close'.
49813         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49814         define to an error symbol or to a warning, if suitable.
49815         * lib/close.c: Include <sys/socket.h>.
49816         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49817         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49818         UNISTD_H_HAVE_WINSOCK2_H.
49819         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49821         UNISTD_H_HAVE_WINSOCK2_H.
49822         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49823         (configure.ac): Set a module indicator.
49824         (Makefile.am): Substitute GNULIB_CLOSE.
49825         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49826         * modules/poll-tests (Depends-on): Add close.
49827         * modules/select-tests (Depends-on): Likewise.
49828
49829 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49830             Bruno Haible  <bruno@clisp.org>
49831
49832         New module 'close'.
49833         * modules/close: New file.
49834         * lib/unistd.in.h (close): Move declaration out of the
49835         FCHDIR_REPLACEMENT scope.
49836         (_gl_unregister_fd): New declaration.
49837         * lib/close.c: New file.
49838         * lib/fchdir.c (rpl_close): Remove function.
49839         * m4/close.m4: New file.
49840         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49841         close.
49842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49843         REPLACE_CLOSE.
49844         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49845         REPLACE_CLOSE.
49846         * modules/fchdir (Depends-on): Add close.
49847
49848 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49849             Bruno Haible  <bruno@clisp.org>
49850
49851         * lib/fcntl.in.h (open): Simplify conditionals.
49852         (_gl_register_fd): New declaration.
49853         * lib/fchdir.c (rpl_open): Remove function.
49854         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49855         also.
49856         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49857         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49858         open.
49859
49860 2008-10-09  Jim Meyering  <meyering@redhat.com>
49861
49862         GNUmakefile: use the more name-space-friendly "_version"
49863         * top/GNUmakefile (_dummy): Update.
49864         (_version): Rename from "version".
49865
49866 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49867             Bruno Haible  <bruno@clisp.org>
49868
49869         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49870         rpl_close.
49871         (_gl_register_fd): New function, extracted from rpl_open.
49872         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49873         (rpl_open, rpl_opendir): Use _gl_register_fd.
49874
49875 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49876
49877         Fix organization of 'open' replacement.
49878         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49879         (gl_FUNC_OPEN): Use it.
49880         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49881
49882 2008-10-08  Bruno Haible  <bruno@clisp.org>
49883
49884         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49885
49886 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49887
49888         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49889         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49890         listen).
49891
49892 2008-10-08  Eric Blake  <ebb9@byu.net>
49893
49894         GNUmakefile: add 'make version' target
49895         * top/GNUmakefile (_curr-ver): Split version update rules...
49896         (version): ...into a target.
49897
49898 2008-10-07  Bruno Haible  <bruno@clisp.org>
49899
49900         Use a more portable replacement expression for -0.0L.
49901         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49902         instead of -0.0L. Fix m4 quotation.
49903
49904         * tests/test-signbit.c: Include <float.h>.
49905         (minus_zero): New variable.
49906         (test_signbitl): Use minus_zero instead of -zero.
49907         * modules/signbit-tests (Depends-on): Add float.
49908
49909         * tests/test-ceill.c: Include <float.h>.
49910         (zero): Remove variable.
49911         (minus_zero): New variable.
49912         (main): Use minus_zero instead of -zero.
49913         * modules/ceill-tests (Depends-on): Add float.
49914
49915         * tests/test-floorl.c: Include <float.h>.
49916         (zero): Remove variable.
49917         (minus_zero): New variable.
49918         (main): Use minus_zero instead of -zero.
49919         * modules/floorl-tests (Depends-on): Add float.
49920
49921         * tests/test-roundl.c: Include <float.h>.
49922         (zero): Remove variable.
49923         (minus_zero): New variable.
49924         (main): Use minus_zero instead of -zero.
49925         * modules/roundl-tests (Depends-on): Add float.
49926
49927         * tests/test-truncl.c: Include <float.h>.
49928         (zero): Remove variable.
49929         (minus_zero): New variable.
49930         (main): Use minus_zero instead of -zero.
49931         * modules/truncl-tests (Depends-on): Add float.
49932
49933         * tests/test-frexpl.c (zero): Remove variable.
49934         (minus_zero): New variable.
49935         (main): Use minus_zero instead of -zero.
49936         * modules/frexpl-tests (Depends-on): Add float.
49937
49938         * tests/test-isnan.c (zerol): Remove variable.
49939         (minus_zerol): New variable.
49940         (test_long_double): Use minus_zerol instead of -zerol.
49941         * modules/isnan-tests (Depends-on): Add float.
49942
49943         * tests/test-isnanl.h (zero): Remove variable.
49944         (minus_zero): New variable.
49945         (main): Use minus_zero instead of -zero.
49946         * modules/isnanl-nolibm-tests (Depends-on): Add float.
49947         * modules/isnanl-tests (Depends-on): Add float.
49948
49949         * tests/test-ldexpl.c (zero): Remove variable.
49950         (minus_zero): New variable.
49951         (main): Use minus_zero instead of -zero.
49952         * modules/ldexpl-tests (Depends-on): Add float.
49953
49954         * tests/test-snprintf-posix.h (zerol): Remove variable.
49955         (minus_zerol): New variable.
49956         (test_function): Use minus_zerol instead of -zerol.
49957         * modules/snprintf-posix-tests (Depends-on): Add float.
49958         * modules/vsnprintf-posix-tests (Depends-on): Add float.
49959
49960         * tests/test-sprintf-posix.h (zerol): Remove variable.
49961         (minus_zerol): New variable.
49962         (test_function): Use minus_zerol instead of -zerol.
49963         * modules/sprintf-posix-tests (Depends-on): Add float.
49964         * modules/vsprintf-posix-tests (Depends-on): Add float.
49965
49966         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
49967         (minus_zerol): New variable.
49968         (test_function): Use minus_zerol instead of -zerol.
49969         * modules/vasnprintf-posix-tests (Depends-on): Add float.
49970
49971         * tests/test-vasprintf-posix.c (zerol): Remove variable.
49972         (minus_zerol): New variable.
49973         (test_function): Use minus_zerol instead of -zerol.
49974         * modules/vasprintf-posix-tests (Depends-on): Add float.
49975
49976 2008-10-07  Simon Josefsson  <simon@josefsson.org>
49977
49978         * MODULES.html.sh (Support for building documentation): Mention
49979         pmccabe2html.  Sort entries.
49980
49981         Add pmccabe2html module, from gnupdf.
49982         * build-aux/pmccabe.css: New file.
49983         * build-aux/pmccabe2html: New file.
49984         * m4/pmccabe2html.m4: New file.
49985         * modules/pmccabe2html: New file.
49986
49987 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
49988
49989         flock: new module
49990         * MODULES.html.sh: Add to list of modules.
49991         * lib/flock.c: flock implementation for Windows and Unix systems
49992         which have fcntl.
49993         * doc/glibc-functions/flock.texi: Update documentation.
49994         * lib/sys_file.in.h: <sys/file.h> header file.
49995         * m4/flock.m4: M4 macros.
49996         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
49997         * modules/flock: flock module.
49998         * modules/flock-tests: flock tests module.
49999         * modules/sys_file: sys/file.h module.
50000         * tests/test-flock.c: test suite for flock.
50001
50002 2008-10-06  Jim Meyering  <meyering@redhat.com>
50003
50004         bootstrap: check for LT_INIT more portably still ;-)
50005         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50006         Spotted by Bruno Haible.
50007
50008 2008-10-06  Eric Blake  <ebb9@byu.net>
50009
50010         test-signbit: avoid tripping Irix cc bug on -0.0L
50011         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50012         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50013         entire testsuite consistent and avoids an Irix 6.2 bug.
50014
50015 2008-10-05  Bruno Haible  <bruno@clisp.org>
50016             Jim Meyering  <jim@meyering.net>
50017
50018         Add an option for ignoring EPIPE during close_stdout.
50019         * lib/closeout.h: Include <stdbool.h>.
50020         (close_stdout_set_ignore_EPIPE): New declaration.
50021         * lib/closeout.c: Include <stdbool.h>.
50022         (ignore_EPIPE): New variable.
50023         (close_stdout_set_ignore_EPIPE): New function.
50024         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50025         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50026         failure.
50027         * modules/closeout (Depends-on): Add stdbool.
50028
50029 2008-10-05  Bruno Haible  <bruno@clisp.org>
50030
50031         * modules/accept: New file.
50032         * modules/bind: New file.
50033         * modules/connect: New file.
50034         * modules/getpeername: New file.
50035         * modules/getsockname: New file.
50036         * modules/getsockopt: New file.
50037         * modules/listen: New file.
50038         * modules/recv: New file.
50039         * modules/recvfrom: New file.
50040         * modules/send: New file.
50041         * modules/sendto: New file.
50042         * modules/setsockopt: New file.
50043         * modules/socket: New file.
50044         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50045         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50046         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50047         the particular module is requested. Add a link warning when the
50048         particular module is not requested.
50049         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50050         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50051         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50052         the particular module is requested.
50053         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50054         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50055         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50056         * modules/sys_socket (Depends-on): Add link-warning.
50057         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50058         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50059         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50060         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50061         GL_LINK_WARNING.
50062         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50063         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50064         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50065         * doc/posix-functions/getpeername.texi: Mention the new module
50066         'getpeername'.
50067         * doc/posix-functions/getsockname.texi: Mention the new module
50068         'getsockname'.
50069         * doc/posix-functions/getsockopt.texi: Mention the new module
50070         'getsockopt'.
50071         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50072         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50073         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50074         * doc/posix-functions/send.texi: Mention the new module 'send'.
50075         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50076         * doc/posix-functions/setsockopt.texi: Mention the new module
50077         'setsockopt'.
50078         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50079         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50080         listen, connect, accept.
50081         * modules/select-tests (Depends-on): Likewise.
50082
50083 2008-10-05  Bruno Haible  <bruno@clisp.org>
50084
50085         * lib/winsock.c (strerror): Remove unused #undef.
50086         (rpl_close): Remove unused local variable.
50087
50088         * modules/sys_socket (Depends-on); Add errno.
50089
50090 2008-10-05  Bruno Haible  <bruno@clisp.org>
50091
50092         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50093         (select): Add a link warning when the 'select' module is not used.
50094         * modules/sys_select (Depends-on): Add link-warning.
50095         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50096         Suggested by Paolo Bonzini.
50097
50098 2008-10-05  Jim Meyering  <meyering@redhat.com>
50099
50100         bootstrap: check for LT_INIT more portably
50101         * build-aux/bootstrap: Avoid using grep -E, since it's not
50102         portable enough.  Suggestion from Bruno Haible.
50103
50104 2008-10-05  Bruno Haible  <bruno@clisp.org>
50105
50106         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50107         as being fixed by gnulib.
50108
50109 2008-10-05  Bruno Haible  <bruno@clisp.org>
50110
50111         * modules/select-tests: New file, mostly copied from
50112         modules/sys_select-tests.
50113         * tests/test-select.c: New file, mostly copied from
50114         tests/test-sys_select.c.
50115         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50116         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50117         (Makefile.am): Remove test_sys_select_LDADD.
50118
50119         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50120         to an undefined symbol, for an error message.
50121         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50122         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50123         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50124         winsock-select.c here.
50125         * modules/sys_select (Files): Remove lib/winsock-select.c.
50126         (Depends-on): Remove alloca.
50127         (Makefile.am): Substitute GNULIB_SELECT.
50128         * modules/select: New file.
50129         * doc/posix-functions/select.texi: Update.
50130
50131 2008-10-05  Bruno Haible  <bruno@clisp.org>
50132
50133         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50134         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50135         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50136         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50137         getdtablesize.
50138         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50139         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50140
50141 2008-10-05  Bruno Haible  <bruno@clisp.org>
50142
50143         * modules/getdtablesize-tests: New file.
50144         * tests/test-getdtablesize.c: New file.
50145
50146         New module 'getdtablesize'.
50147         * lib/unistd.in.h (getdtablesize): New declaration.
50148         * lib/getdtablesize.c: New file.
50149         * m4/getdtablesize.m4: New file.
50150         * modules/getdtablesize: New file.
50151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50152         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50153         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50154         HAVE_GETDTABLESIZE.
50155         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50156
50157 2008-10-05  Bruno Haible  <bruno@clisp.org>
50158
50159         * modules/sched (Makefile.am): Fix typo.
50160         Reported by Simon Josefsson.
50161
50162 2008-10-05  Jim Meyering  <meyering@redhat.com>
50163
50164         bootstrap: check for LT_INIT, too
50165         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50166         are deprecated.  Suggestion from Ralf Wildenhues.
50167
50168 2008-10-05  Bruno Haible  <bruno@clisp.org>
50169
50170         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50171         overriding them by ours.
50172         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50173
50174 2008-10-05  Jim Meyering  <meyering@redhat.com>
50175
50176         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50177         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50178         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50179
50180 2008-10-04  Bruno Haible  <bruno@clisp.org>
50181
50182         * modules/dup2 (License): Change to LGPLv2+.
50183         * modules/sleep (License): Likewise.
50184         * modules/perror (License): Likewise.
50185         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50186         Blake.
50187         * modules/signal (License): Likewise.
50188         * modules/sigprocmask (License): Likewise.
50189         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50190         Meyering.
50191
50192 2008-10-04  Bruno Haible  <bruno@clisp.org>
50193
50194         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50195         Reported by Rainer Tammer <tammer@tammer.net>.
50196
50197 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50198             Bruno Haible  <bruno@clisp.org>
50199
50200         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50201         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50202         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50203
50204 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50205
50206         filevercmp: new module
50207         * lib/filevercmp.h: New function filevercmp comparing version strings.
50208         * lib/filevercmp.c: Implementation of filevercmp function.
50209         * modules/filevercmp: Module metadata.
50210         * tests/test-filevercmp.c: Unit test for new module.
50211         * modules/filevercmp-tests: Unit test metadata.
50212         * MODULES.html.sh: Add filevercmp module.
50213
50214 2008-10-03  Bruno Haible  <bruno@clisp.org>
50215
50216         * lib/c-ctype.h: Add comment.
50217         Reported by Jim Meyering.
50218
50219 2008-10-02  Bruno Haible  <bruno@clisp.org>
50220
50221         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50222
50223 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50224
50225         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50226         name of bootstrap.conf accordingly.
50227
50228 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50229
50230         * build-aux/bootstrap: Install git-merge-changelog configuration
50231         items into .gitconfig if needed.
50232
50233 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50234
50235         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50236         git repository, and initialize/update it accordingly.
50237
50238 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50239
50240         * modules/fsync-tests: New file.
50241         * tests/test-fsync.c: New file.
50242
50243         New module 'fsync'.
50244         * lib/fsync.c: New file.
50245         * m4/fsync.m4: New file.
50246         * modules/fsync: New file.
50247         * lib/unistd.in.h (fsync): New declaration.
50248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50249         GNULIB_FSYNC and HAVE_FSYNC.
50250         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50251         * MODULES.html.sh (posix_functions): Add fsync.
50252         * doc/posix-functions/fsync.texi: Mention the new module.
50253
50254 2008-10-02  Jim Meyering  <meyering@redhat.com>
50255
50256         fts.c: sync with similar code from coreutils' remove.c
50257         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50258         Guard also with "#if defined __linux__", since for now at least,
50259         this code is Linux-kernel-specific.
50260
50261 2008-10-02  Jim Meyering  <meyering@redhat.com>
50262
50263         fts: bug fixes
50264         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50265         Include <sys/vfs.h>, not <sys/statfs.h>.
50266
50267         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50268         Include <sys/vfs.h>, not <sys/statfs.h>.
50269
50270 2008-10-01  Bruno Haible  <bruno@clisp.org>
50271
50272         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50273         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50274         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50275         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50276         * doc/posix-functions/posix_spawnp.texi: Likewise.
50277         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50278         whether posix_spawn actually works.
50279         * m4/pipe.m4 (gl_PIPE): Likewise.
50280         * modules/execute (Files): Add m4/posix_spawn.m4.
50281         * modules/pipe (Files): Add m4/posix_spawn.m4.
50282         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50283
50284 2008-10-01  Jim Meyering  <meyering@redhat.com>
50285
50286         remove trailing spaces
50287         * NEWS: Likewise.
50288         * lib/poll.c (poll): Likewise.
50289         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50290         * lib/winsock.c (rpl_close): Likewise.
50291         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50292         * modules/yield: Likewise.
50293         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50294         * tests/test-sys_select.c (connect_to_socket): Likewise.
50295
50296         fts.c: adjust a new interface to be more generally useful
50297         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50298         (fts_build): Adjust caller.
50299
50300 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50301
50302         * modules/cond-tests: New file.
50303         * tests/test-cond.c: New file.
50304
50305 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50306             Bruno Haible  <bruno@clisp.org>
50307
50308         * modules/cond (Dependencies): Add errno, time.
50309         * lib/glthread/cond.h: Include <time.h>.
50310         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50311         across platforms.
50312
50313 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50314             Bruno Haible  <bruno@clisp.org>
50315
50316         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50317
50318 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50319             Bruno Haible  <bruno@clisp.org>
50320
50321         * modules/tls-tests (Depends-on): Add thread, yield.
50322         (configure.ac): Remove all checks.
50323         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50324         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50325         gl_thread_self): Remove definitions. Include glthread/thread.h and
50326         glthread/yield.h instead.
50327         (test_tls): Pass an additional NULL argument to gl_thread_join.
50328
50329 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50330             Bruno Haible  <bruno@clisp.org>
50331
50332         * modules/lock-tests (Depends-on): Add thread, yield.
50333         (configure.ac): Remove all checks.
50334         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50335         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50336         gl_thread_self): Remove definitions. Include glthread/thread.h and
50337         glthread/yield.h instead.
50338         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50339         additional NULL argument to gl_thread_join.
50340
50341 2008-09-30  Bruno Haible  <bruno@clisp.org>
50342
50343         Fix the Win32 implementation of the 'thread' module.
50344         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50345         pointer type.
50346         (gl_thread_self): Invoke gl_thread_self_func.
50347         (gl_thread_self_func): New declaration.
50348         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50349         (do_init_self_key, init_self_key): New functions.
50350         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50351         Remove some fields.
50352         (running_threads, running_lock): Remove variables.
50353         (get_current_thread_handle): New function.
50354         (gl_thread_self_func, wrapper_func, glthread_create_func,
50355         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50356         simplified.
50357
50358 2008-09-30  Bruno Haible  <bruno@clisp.org>
50359
50360         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50361         files.
50362
50363 2008-09-30  Jim Meyering  <meyering@redhat.com>
50364
50365         fts.m4: correct the test for statfs.f_type
50366         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50367         when checking for statfs.f_type.
50368
50369 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50370
50371         tests: avoid some compiler warnings
50372         * tests/test-memchr.c (main): Pass NULL indirectly.
50373         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50374
50375 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
50376
50377         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50378         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50379         exactly specified dayshifts.
50380         (dayshift): New rule.
50381         (rel): Add dayshift.
50382         (relative_time_table) [tomorrow, yesterday, today, now]:
50383         Use tDAY_SHIFT in place of tDAY_UNIT.
50384         * tests/test-getdate.c: Add tests for now-disallowed countable
50385         dayshifts, e.g., "4 yesterday ago".
50386
50387 2008-09-29  Bruno Haible  <bruno@clisp.org>
50388
50389         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50390         * tests/test-posix_spawn1.in.sh: Renamed from
50391         tests/test-posix_spawn.in.sh.
50392         * tests/test-posix_spawn2.c: New file.
50393         * tests/test-posix_spawn2.in.sh: New file.
50394         * modules/posix_spawnp-tests (Files): Update.
50395         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50396
50397 2008-09-29  Bruno Haible  <bruno@clisp.org>
50398
50399         Propagate effects of putenv/setenv/unsetenv to child processes.
50400         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50401         * lib/pipe.c (create_pipe): Likewise.
50402
50403 2008-09-29  Bruno Haible  <bruno@clisp.org>
50404
50405         Enable use of shell scripts as executables in mingw.
50406         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50407         run the program as a shell script.
50408         * lib/pipe.c (create_pipe): Likewise.
50409         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50410         resulting array.
50411
50412 2008-09-29  Eric Blake  <ebb9@byu.net>
50413
50414         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50415
50416 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50417
50418         * doc/posix-functions/accept.texi: Update mingw problems.
50419         * doc/posix-functions/bind.texi: Update mingw problems.
50420         * doc/posix-functions/close.texi: Update mingw problems.
50421         * doc/posix-functions/connect.texi: Update mingw problems.
50422         * doc/posix-functions/getpeername.texi: Update mingw problems.
50423         * doc/posix-functions/getsockname.texi: Update mingw problems.
50424         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50425         * doc/posix-functions/ioctl.texi: Update mingw problems.
50426         * doc/posix-functions/listen.texi: Update mingw problems.
50427         * doc/posix-functions/recv.texi: Update mingw problems.
50428         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50429         * doc/posix-functions/select.texi: Update mingw problems.
50430         * doc/posix-functions/send.texi: Update mingw problems.
50431         * doc/posix-functions/sendto.texi: Update mingw problems.
50432         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50433         * doc/posix-functions/socket.texi: Update mingw problems.
50434
50435 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50436             Bruno Haible  <bruno@clisp.org>
50437
50438         * lib/sys_select.in.h: Include sys/time.h.
50439         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50440         * modules/sys_select: Depend on sys_time.
50441         * tests/test-sys_select.c: Test that sys/select.h defines struct
50442         timeval fully.
50443
50444 2008-09-29  Bruno Haible  <bruno@clisp.org>
50445
50446         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50447         * lib/sys_select.in.h: Likewise.
50448
50449 2008-09-29  Bruno Haible  <bruno@clisp.org>
50450
50451         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50452
50453 2008-09-29  Bruno Haible  <bruno@clisp.org>
50454
50455         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50456         Set LIBSOCKET instead of augmenting LIBS.
50457         * modules/sockets (Link): New section.
50458         * modules/sockets-tests (test_sockets_LDADD): New variable.
50459         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50460         * modules/poll-tests (test_poll_LDADD): New variable.
50461         * NEWS: Document the change.
50462
50463 2008-09-29  Bruno Haible  <bruno@clisp.org>
50464
50465         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50466         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50467         ARPA_INET_H directly.
50468         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50469
50470 2008-09-28  Bruno Haible  <bruno@clisp.org>
50471
50472         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50473         from gl_HEADER_SYS_SOCKET.
50474         (gl_HEADER_SYS_SOCKET): Invoke it.
50475         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50476
50477 2008-09-28  Bruno Haible  <bruno@clisp.org>
50478
50479         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50480         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50481         Needed on OSF/1 4.0.
50482
50483 2008-09-28  Bruno Haible  <bruno@clisp.org>
50484
50485         Override open more carefully.
50486         * lib/open.c (orig_open): New function.
50487         (rpl_open): Use orig_open instead of open.
50488         * lib/fcntl.in.h: Add special invocation convention.
50489         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50490         (gl_FUNC_OPEN): Invoke it.
50491
50492         Override freopen more carefully.
50493         * lib/freopen.c (orig_freopen): New function.
50494         (rpl_freopen): Use orig_freopen instead of freopen.
50495         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50496         (gl_FUNC_FREOPEN): Invoke it.
50497
50498         Override fopen more carefully.
50499         * lib/fopen.c (orig_fopen): New function.
50500         (rpl_fopen): Use orig_fopen instead of fopen.
50501         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50502         (gl_FUNC_FOPEN): Invoke it.
50503         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50504
50505 2008-09-28  Bruno Haible  <bruno@clisp.org>
50506
50507         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50508         SIGPIPE.
50509
50510 2008-09-28  Bruno Haible  <bruno@clisp.org>
50511
50512         * tests/test-sigaction.c (handler, main): Disable the check whether
50513         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50514         glibc systems with LinuxThreads.
50515
50516 2008-09-28  Bruno Haible  <bruno@clisp.org>
50517
50518         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50519
50520         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50521         with AIX xlc.
50522         * lib/fcntl.in.h (open): Likewise.
50523         Reported by Rainer Tammer <tammer@tammer.net>.
50524
50525 2008-09-28  Bruno Haible  <bruno@clisp.org>
50526
50527         * modules/posix_spawnp-tests: New file.
50528         * tests/test-posix_spawn.c: New file.
50529         * tests/test-posix_spawn.in.sh: New file.
50530
50531         New module 'posix_spawnp'.
50532         * modules/posix_spawnp: New file.
50533         * lib/spawnp.c: New file, from GNU libc with modifications.
50534         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50535
50536         New module 'posix_spawn'.
50537         * modules/posix_spawn: New file.
50538         * lib/spawn.c: New file, from GNU libc with modifications.
50539         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50540
50541         New module 'posix_spawnattr_destroy'.
50542         * modules/posix_spawnattr_destroy: New file.
50543         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50544         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50545         module.
50546
50547         New module 'posix_spawnattr_setsigmask'.
50548         * modules/posix_spawnattr_setsigmask: New file.
50549         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50550         modifications.
50551         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50552         new module.
50553
50554         New module 'posix_spawnattr_getsigmask'.
50555         * modules/posix_spawnattr_getsigmask: New file.
50556         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50557         modifications.
50558         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50559         new module.
50560
50561         New module 'posix_spawnattr_setsigdefault'.
50562         * modules/posix_spawnattr_setsigdefault: New file.
50563         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50564         modifications.
50565         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50566         new module.
50567
50568         New module 'posix_spawnattr_getsigdefault'.
50569         * modules/posix_spawnattr_getsigdefault: New file.
50570         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50571         modifications.
50572         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50573         new module.
50574
50575         New module 'posix_spawnattr_setschedpolicy'.
50576         * modules/posix_spawnattr_setschedpolicy: New file.
50577         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50578         modifications.
50579         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50580         new module.
50581
50582         New module 'posix_spawnattr_getschedpolicy'.
50583         * modules/posix_spawnattr_getschedpolicy: New file.
50584         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50585         modifications.
50586         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50587         new module.
50588
50589         New module 'posix_spawnattr_setschedparam'.
50590         * modules/posix_spawnattr_setschedparam: New file.
50591         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50592         modifications.
50593         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50594         new module.
50595
50596         New module 'posix_spawnattr_getschedparam'.
50597         * modules/posix_spawnattr_getschedparam: New file.
50598         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50599         modifications.
50600         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50601         new module.
50602
50603         New module 'posix_spawnattr_setpgroup'.
50604         * modules/posix_spawnattr_setpgroup: New file.
50605         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50606         modifications.
50607         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50608         module.
50609
50610         New module 'posix_spawnattr_getpgroup'.
50611         * modules/posix_spawnattr_getpgroup: New file.
50612         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50613         modifications.
50614         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50615         module.
50616
50617         New module 'posix_spawnattr_setflags'.
50618         * modules/posix_spawnattr_setflags: New file.
50619         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50620         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50621         module.
50622
50623         New module 'posix_spawnattr_getflags'.
50624         * modules/posix_spawnattr_getflags: New file.
50625         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50626         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50627         module.
50628
50629         New module 'posix_spawnattr_init'.
50630         * modules/posix_spawnattr_init: New file.
50631         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50632         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50633         module.
50634
50635         New module 'posix_spawn_file_actions_destroy'.
50636         * modules/posix_spawn_file_actions_destroy: New file.
50637         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50638         modifications.
50639         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50640         the new module.
50641
50642         New module 'posix_spawn_file_actions_addopen'.
50643         * modules/posix_spawn_file_actions_addopen: New file.
50644         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50645         modifications.
50646         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50647         the new module.
50648
50649         New module 'posix_spawn_file_actions_adddup2'.
50650         * modules/posix_spawn_file_actions_adddup2: New file.
50651         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50652         modifications.
50653         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50654         the new module.
50655
50656         New module 'posix_spawn_file_actions_addclose'.
50657         * modules/posix_spawn_file_actions_addclose: New file.
50658         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50659         modifications.
50660         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50661         the new module.
50662
50663         New module 'posix_spawn_file_actions_init'.
50664         * modules/posix_spawn_file_actions_init: New file.
50665         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50666         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50667         new module.
50668
50669         New module 'posix_spawn-internal'.
50670         * modules/posix_spawn-internal: New file.
50671         * lib/spawn_int.h: New file, from GNU libc with modifications.
50672         * lib/spawni.c: New file, from GNU libc with modifications.
50673         * m4/posix_spawn.m4: New file.
50674
50675         New module 'spawn'.
50676         * modules/spawn: New file.
50677         * lib/spawn.in.h: New file, from GNU libc with modifications.
50678         * m4/spawn_h.m4: New file.
50679         * doc/posix-headers/spawn.texi: Mention the new module.
50680
50681 2008-09-28  Bruno Haible  <bruno@clisp.org>
50682
50683         * modules/sched-tests: New file.
50684         * tests/test-sched.c: New file.
50685
50686         New module 'sched'.
50687         * modules/sched: New file.
50688         * lib/sched.in.h: New file.
50689         * m4/sched_h.m4: New file.
50690         * doc/posix-headers/sched.texi: Mention the new module.
50691
50692 2008-09-27  Eric Blake  <ebb9@byu.net>
50693
50694         Fix previous patch, and tweak references to $0.
50695         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50696         (func_version, func_gnulib_dir): Don't call this program
50697         gnulib-tool.
50698         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50699         with using $0 in function.
50700         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50701         (func_fatal_error): Reuse the name the user invoked us with.
50702
50703 2008-09-27  Bruno Haible  <bruno@clisp.org>
50704
50705         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50706         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50707         (gl_ICONV_H): Not here.
50708         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50709         instead of assigning ICONV_H directly.
50710
50711         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50712         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50713         WCHAR_H directly.
50714
50715 2008-09-27  Bruno Haible  <bruno@clisp.org>
50716
50717         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50718         * modules/arpa_inet (Depends-on): Add link-warning.
50719         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50720         * modules/unistd (Makefile.am): Likewise.
50721
50722 2008-09-26  Bruno Haible  <bruno@clisp.org>
50723
50724         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50725         variables.
50726         (func_version): Essentially copied from gnulib-tool.
50727         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50728         func_readlink): Copied from gnulib-tool.
50729
50730 2008-09-26  Bruno Haible  <bruno@clisp.org>
50731
50732         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50733         invoking git-version-gen.
50734
50735 2008-09-26  Bruno Haible  <bruno@clisp.org>
50736
50737         * posix-modules: Update to directory names changed on 2008-01-19.
50738         Remove commas in output before splitting into words. No more need to
50739         avoid 'ftruncate' since 2007-02-19.
50740
50741 2008-09-26  Bruno Haible  <bruno@clisp.org>
50742
50743         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50744
50745 2008-09-26  Bruno Haible  <bruno@clisp.org>
50746
50747         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50748         * modules/fwriteerror (Depends-on): Add errno.
50749
50750 2008-09-26  Bruno Haible  <bruno@clisp.org>
50751
50752         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50753         * tests/test-vc-list-files-cvs.sh: Likewise.
50754
50755 2008-09-26  Bruno Haible  <bruno@clisp.org>
50756
50757         * doc/posix-headers/sys_resource.texi: Reorder items.
50758
50759 2008-09-26  Jim Meyering  <meyering@redhat.com>
50760
50761         fts: tweak inode comparison function
50762         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50763         inode numbers, as documented.
50764
50765         fts: sort dirent entries on inode number before traversing
50766         This avoids a quadratic, seek-related performance penalty when
50767         operating on a directory containing many entries (measurable at 10k;
50768         3.5 hours at 2 million entries with a cold cache) on certain types
50769         of file systems, including ext3 and ext4, but not tmpfs.
50770         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50771         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50772         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50773         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50774         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50775         (fts_build): Set the stat.st_ino member from D_INO.
50776         If it is likely to be useful, sort dirent entries on inode number.
50777
50778         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50779         and the struct statfs.f_type member.
50780         * modules/fts (Depends-on): Add d-ino.
50781
50782 2008-09-26  Bruno Haible  <bruno@clisp.org>
50783
50784         * modules/sigpipe-die (Depends-on): Add sigpipe.
50785
50786         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50787         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50788         and GNULIB_STDIO_H_SIGPIPE are set.
50789         * lib/stdio-write.c: New file.
50790         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50791         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50792         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50793         REPLACE_STDIO_WRITE_FUNCS.
50794         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50795         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50796         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50797         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50798         * modules/stdio (Files): Add lib/stdio-write.c.
50799         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
50800         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50801         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50802         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50803         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
50804         REPLACE_FPRINTF_POSIX.
50805         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
50806         REPLACE_PRINTF_POSIX.
50807         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
50808         REPLACE_VFPRINTF_POSIX.
50809         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
50810         REPLACE_VPRINTF_POSIX.
50811         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50812         SIGPIPE issue.
50813         * doc/posix-functions/fputc.texi: Likewise.
50814         * doc/posix-functions/fputs.texi: Likewise.
50815         * doc/posix-functions/fwrite.texi: Likewise.
50816         * doc/posix-functions/printf.texi: Likewise.
50817         * doc/posix-functions/putc.texi: Likewise.
50818         * doc/posix-functions/putchar.texi: Likewise.
50819         * doc/posix-functions/puts.texi: Likewise.
50820         * doc/posix-functions/vfprintf.texi: Likewise.
50821         * doc/posix-functions/vprintf.texi: Likewise.
50822
50823         * modules/safe-write (Depends-on): Add write.
50824
50825         * modules/sigpipe-tests: New file.
50826         * tests/test-sigpipe.c: New file.
50827         * tests/test-sigpipe.sh: New file.
50828
50829         * modules/write: New file.
50830         * lib/unistd.in.h: Include <sys/types.h>.
50831         (write): New declaration.
50832         * lib/write.c: New file.
50833         * m4/write.m4: New file.
50834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50835         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50836         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50837         GNULIB_WRITE, REPLACE_WRITE.
50838         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50839         and the SIGPIPE issue.
50840
50841         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50842         (raise): New declaration.
50843         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50844         (ext_signal): New function.
50845         (rpl_raise): New function.
50846         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50847         GNULIB_SIGNAL_H_SIGPIPE.
50848         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50849         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50850
50851         * modules/sigpipe: New file.
50852         * m4/sigpipe.m4: New file.
50853
50854 2008-09-25  Derek Price  <derek@ximbiot.com>
50855             Bruno Haible  <bruno@clisp.org>
50856
50857         * gnulib-tool (func_import): Report all license incompatibilities, not
50858         just the first one.
50859
50860 2008-09-25  Bruno Haible  <bruno@clisp.org>
50861
50862         * gnulib-tool (func_import): When computing the edits, consider not
50863         only the Makefile.ams that exist but also those that will be generated.
50864
50865 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50866
50867         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50868         fixes gnulib-tool --test warning about duplicate dependency.
50869
50870 2008-09-25  Bruno Haible  <bruno@clisp.org>
50871
50872         * gnulib-tool: Don't ask the user to perform edits in the generated
50873         Makefile.ams.
50874         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50875         apply to the Makefile.am being generated.
50876         (func_emit_tests_Makefile_am): Execute edits that apply to the
50877         Makefile.am being generated.
50878         (func_import): Setup list of Makefile.am edits before emitting the
50879         Makefile.ams, not at the end.
50880         (func_create_testdir): Update.
50881         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50882
50883 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50884
50885         * gnulib-tool (func_import): Store the --tests-base option in the
50886         comment in gnulib-cache.m4.
50887
50888 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50889
50890         * NEWS: Document increased portability that sys_select now provides.
50891
50892         * lib/sys_select.in.h: Install select wrapper.
50893         * lib/sys_socket.in.h: Use more descriptive name when there is no
50894         select wrapper.
50895         * lib/winsock-select.c: New.
50896         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50897         Require gl_HEADER_SYS_SOCKET.
50898         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50899         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50900         * tests/test-sys_select.c: Add functional tests.
50901
50902 2008-09-24  Eric Blake  <ebb9@byu.net>
50903
50904         open, fopen: close fd leak in last patch
50905         * lib/open.c (rpl_open): Close fd before returning error.
50906         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50907         * doc/posix-functions/open.texi (open): Document that Irix also
50908         has the bug.
50909         * doc/posix-functions/fopen.texi (fopen): Likewise.
50910         Reported by Paolo Bonzini.
50911
50912 2008-09-24  Bruno Haible  <bruno@clisp.org>
50913
50914         Ensure that a filename ending in a slash cannot be used to access a
50915         non-directory.
50916         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
50917         to check whether it's really a directory.
50918         * lib/fopen.c: Include fcntl.h, unistd.h.
50919         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
50920         and fdopen().
50921         * modules/fopen (Depends-on): Add unistd.
50922         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
50923         * tests/test-fopen.c (main): Likewise.
50924         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
50925         * doc/posix-functions/fopen.texi: Likewise.
50926         Reported by Eric Blake.
50927
50928 2008-09-23  Eric Blake  <ebb9@byu.net>
50929
50930         c-stack: avoid compiler optimizations when provoking overflow
50931         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
50932         recursion harder to optimize, to ensure a stack overflow occurs.
50933         * tests/test-c-stack.c (recurse): Likewise.
50934         Borrowed from libsigsegv.
50935
50936         c-stack: work around Irix sigaltstack bug
50937         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
50938         whether sigaltstack uses wrong end of stack_t (copied in part from
50939         libsigsegv).
50940         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
50941         Irix bug, without requiring an over-allocation.
50942         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
50943         bug.
50944
50945         fopen: document mingw bug on directories
50946         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
50947         not allowing a stream visiting a directory, even though reading
50948         from such a stream is not portable.
50949
50950 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50951
50952         * lib/poll.c: Rewrite.
50953         * modules/poll: Depend on alloca.
50954
50955 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50956
50957         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
50958         instead define prototypes for a full set of wrappers.  Ensure
50959         that Cygwin does not use the compatibility code, which is only
50960         for MinGW.
50961         * lib/winsock.c: New.
50962         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
50963         * modules/sys_socket: Add lib/winsock.c.
50964
50965         * modules/poll-tests: Add errno and perror.
50966         * tests/test-poll.c: Use ioctl, not ioctlsocket.
50967
50968 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50969
50970         * tests/test-poll.c: Downgrade minimum needed Winsock version.
50971
50972 2008-09-23  Bruno Haible  <bruno@clisp.org>
50973
50974         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
50975         * doc/glibc-functions/*: Likewise.
50976
50977 2008-09-23  Simon Josefsson  <simon@josefsson.org>
50978
50979         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
50980         success.
50981
50982 2008-09-22  Eric Blake  <ebb9@byu.net>
50983             Bruno Haible  <bruno@clisp.org>
50984
50985         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
50986         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
50987         supply %A but mishandle pseudo-NaN.
50988         Reported by Simon Josefsson.
50989
50990 2008-09-21  Bruno Haible  <bruno@clisp.org>
50991
50992         * tests/test-lock.c (main): Tweak skip message.
50993         * tests/test-tls.c (main): Likewise.
50994
50995 2008-09-21  Bruno Haible  <bruno@clisp.org>
50996
50997         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
50998         whether 'struct sigaction' has sa_sigaction here...
50999         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51000         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51001
51002 2008-09-21  Bruno Haible  <bruno@clisp.org>
51003
51004         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51005         section.
51006         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51007         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51008         the new section.
51009         (Support for obsolete systems lacking POSIX:2001): New section.
51010         (String handling <string.h>): Move strdup to the new section.
51011         Suggested by Simon Josefsson and Paolo Bonzini.
51012
51013 2008-09-21  Bruno Haible  <bruno@clisp.org>
51014
51015         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51016         exponents in %e and %g results on 'long double'. Needed for mingw's
51017         improved *printf functions.
51018         * tests/test-vasprintf-posix.c (test_function): Likewise.
51019         * tests/test-snprintf-posix.h (test_function): Likewise.
51020         * tests/test-sprintf-posix.h (test_function): Likewise.
51021         Reported by Eric Blake.
51022
51023 2008-09-21  Bruno Haible  <bruno@clisp.org>
51024
51025         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51026         * tests/test-sprintf-posix.h (test_function): Likewise.
51027
51028 2008-09-21  Bruno Haible  <bruno@clisp.org>
51029
51030         * modules/getpass (Depends-on): Add strdup-posix.
51031
51032         New module 'strdup-posix'.
51033         * modules/strdup-posix: New file.
51034         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51035         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51037         REPLACE_STRDUP.
51038         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51039         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51040         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51041         strdup-posix.
51042
51043         * modules/strdup (Depends-on): Remove malloc-posix.
51044
51045 2008-09-20  Bruno Haible  <bruno@clisp.org>
51046
51047         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51048         Wildenhues.
51049
51050 2008-09-20  Bruno Haible  <bruno@clisp.org>
51051
51052         Ensure that wint_t gets defined on IRIX 5.3.
51053         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51054         * lib/wctype.in.h (wint_t): Likewise.
51055         (__wctype_wint_t): Remove type.
51056         (isw*): Use wint_t instead of __wctype_wint_t.
51057         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51058         * modules/wchar (Files): Add m4/wint_t.m4.
51059         (Makefile.am): Substitute HAVE_WINT_T.
51060         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51061         * tests/test-wctype.c: Check that wint_t is defined.
51062         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51063         * doc/posix-headers/wctype.texi: Likewise.
51064         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51065
51066 2008-09-18  Bruno Haible  <bruno@clisp.org>
51067
51068         * gnulib-tool (func_exit): Update comment.
51069
51070 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51071
51072         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51073         assumes strdup exists and does not depend on strdup to return
51074         ENOMEM on out of memory conditions.
51075
51076 2008-09-18  Bruno Haible  <bruno@clisp.org>
51077
51078         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
51079         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51080         digits for the exponent.
51081
51082 2008-09-18  Jim Meyering  <meyering@redhat.com>
51083             Bruno Haible  <bruno@clisp.org>
51084
51085         * lib/vasnprintf.c (decimal_point_char): Define also if
51086         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51087
51088 2008-09-16  Bruno Haible  <bruno@clisp.org>
51089         and Eric Blake  <ebb9@byu.net>
51090
51091         vasnprintf: support Irix 5.3
51092         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51093         that mishandle long double infinity.
51094         Reported by Tom G. Christensen.
51095
51096 2008-09-16  Bruno Haible  <bruno@clisp.org>
51097
51098         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51099         Solaris 9.
51100         * doc/glibc-functions/alphasort.texi: Likewise.
51101         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51102
51103 2008-09-16  Jim Meyering  <meyering@redhat.com>
51104
51105         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51106         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51107         a umask modification leak out of a subshell.  Otherwise, the
51108         opensolaris /bin/sh would be accepted and thus cause unwarranted
51109         failures in the coreutils test suite.
51110
51111 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51112
51113         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51114         to succeed.
51115
51116 2008-09-16  Jim Meyering  <meyering@redhat.com>
51117
51118         avoid spurious test failure when library is built without ACL support
51119         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51120         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51121         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51122         * tests/test-copy-acl.sh: Likewise.
51123
51124 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51125
51126         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51127         based on character occurrence counts.
51128
51129 2008-09-15  Eric Blake  <ebb9@byu.net>
51130
51131         tests: avoid some compiler warnings
51132         * tests/test-memchr.c (main): Pass NULL indirectly.
51133         * tests/test-closein.c (main): Avoid unused variable.
51134
51135 2008-09-15  Bruno Haible  <bruno@clisp.org>
51136
51137         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51138         are missing on OpenBSD 4.0 individually.
51139         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51140
51141 2008-09-15  Bruno Haible  <bruno@clisp.org>
51142
51143         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51144         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51145         * doc/posix-functions/perror.texi: Likewise.
51146         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51147         is missing.
51148         Reported by Eric Blake.
51149
51150         * lib/errno.in.h: Use replacement values >= 2000.
51151         Reported by Eric Blake.
51152
51153 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51154
51155         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51156         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51157         limit.
51158         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51159         compareseq was aborted.
51160
51161 2008-09-14  Bruno Haible  <bruno@clisp.org>
51162
51163         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51164         yvec_edit_count.
51165         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51166         (fstrcmp_bounded): Simplify result computation accordingly.
51167
51168 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51169
51170         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51171         (fstrcmp): Define in terms of fstrcmp_bounded.
51172         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51173         lower_bound argument.
51174         Return quickly if the result is certainly < lower_bound.
51175         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51176
51177 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51178
51179         * lib/diffseq.h (EARLY_ABORT): New macro.
51180         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51181         evaluates to true.
51182
51183 2008-09-14  Bruno Haible  <bruno@clisp.org>
51184
51185         * modules/perror-tests: New file.
51186         * tests/test-perror.sh: New file.
51187         * tests/test-perror.c: New file.
51188
51189         New module 'perror'.
51190         * lib/stdio.in.h (perror): New declaration.
51191         * lib/perror.c: New file.
51192         * m4/perror.m4: New file.
51193         * modules/perror: New file.
51194         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51195         * doc/posix-functions/perror.texi: Mention the perror module.
51196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51197         REPLACE_PERROR.
51198         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51199         REPLACE_PERROR.
51200
51201 2008-09-14  Bruno Haible  <bruno@clisp.org>
51202
51203         * modules/stdio (Makefile.am): Reorder to match the order in
51204         lib/stdio.in.h.
51205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51206
51207 2008-09-13  Bruno Haible  <bruno@clisp.org>
51208
51209         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51210
51211 2008-09-13  Bruno Haible  <bruno@clisp.org>
51212
51213         Extend strerror to cover the added errno values.
51214         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51215         (rpl_strerror): Provide error messages for the added errno values and
51216         for the WSA* values.
51217         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51218         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51219         strerror.
51220         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51221         * modules/strerror (Depends-on): Add errno.
51222         * doc/posix-functions/strerror.texi: Document the change.
51223         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51224         and EOVERFLOW.
51225
51226 2008-09-13  Bruno Haible  <bruno@clisp.org>
51227
51228         * modules/EOVERFLOW: Remove file.
51229         * m4/eoverflow.m4: Remove file.
51230         * modules/EOVERFLOW-tests: Remove file.
51231         * tests/test-EOVERFLOW.c: Remove file.
51232         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51233         * modules/ftell (Depends-on): Likewise.
51234         * modules/getdelim (Depends-on): Likewise.
51235         * modules/getugroups (Depends-on): Likewise.
51236         * modules/poll (Depends-on): Likewise.
51237         * modules/snprintf (Depends-on): Likewise.
51238         * modules/sprintf-posix (Depends-on): Likewise.
51239         * modules/vasnprintf (Depends-on): Likewise.
51240         * modules/vasprintf (Depends-on): Likewise.
51241         * modules/vfprintf-posix (Depends-on): Likewise.
51242         * modules/vsnprintf (Depends-on): Likewise.
51243         * modules/vsprintf-posix (Depends-on): Likewise.
51244         * modules/xvasprintf (Depends-on): Likewise.
51245         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51246         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51247         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51248         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51249         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51250         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51251         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51252         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51253         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51254         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51255         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51256         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51257         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51258         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51259         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51260         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51261         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51262         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51263         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51264         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51265         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51266         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51267         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51268         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51269         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51270         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51271         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51272         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51273         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51274         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51275         * MODULES.html.sh: Remove EOVERFLOW.
51276         * NEWS: Mention the change.
51277
51278 2008-09-13  Bruno Haible  <bruno@clisp.org>
51279
51280         * modules/errno-tests: New file.
51281         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51282
51283         * lib/errno.in.h: New file.
51284         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51285         * modules/errno: New file.
51286         * doc/posix-headers/errno.texi: Update documentation.
51287         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51288
51289 2008-09-13  Bruno Haible  <bruno@clisp.org>
51290
51291         * tests/test-poll.c: Use #if for native Windows, rather than testing
51292         __MSVCRT__.
51293
51294 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51295             Bruno Haible  <bruno@clisp.org>
51296
51297         * lib/glob.c: Don't include <pwd.h> on native Windows.
51298         (WINDOWS32): New macro.
51299         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51300
51301 2008-09-13  Bruno Haible  <bruno@clisp.org>
51302
51303         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51304         (ETIMEDOUT): Remove macro.
51305         (glthread_cond_timedwait_multithreaded): New declaration.
51306         (glthread_cond_timedwait): Use it.
51307         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51308         (glthread_cond_timedwait_multithreaded): New function.
51309
51310 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51311
51312         * modules/poll-tests: Do not check for io.h.
51313         * tests/test-poll.c: Check for __MSVCRT__ instead.
51314
51315 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51316
51317         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51318         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51319         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51320
51321 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51322
51323         * modules/poll-tests: New.
51324         * tests/test-poll.c: New.
51325
51326 2008-09-12  Eric Blake  <ebb9@byu.net>
51327
51328         frexp: test for NetBSD failure on -0.0
51329         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51330         not all, bugs from NetBSD 3.0 have been fixed.
51331         * doc/posix-functions/frexp.texi (frexp): Document bug.
51332         Reported by Thomas Klausner.
51333
51334         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51335         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51336         literal -0.0.
51337         Reported by Jonathan C. Patschke <jp@centtech.com>.
51338
51339 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51340
51341         * lib/glthread/cond.h: Use dummy implementation also if
51342         USE_WIN32_THREADS.
51343
51344 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51345
51346         * modules/fnmatch-posix (License): Change to LGPLv2+.
51347         * modules/fnmatch-gnu (License): Likewise.
51348
51349 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51350
51351         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51352
51353 2008-09-11  Jim Meyering  <meyering@redhat.com>
51354
51355         * users.txt: Add gtk-vnc.
51356
51357 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51358
51359         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51360         rotate amounts.
51361
51362         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51363         required for 16-bit and 8-bit rotates.
51364         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51365         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51366         UINT8_MAX instead of hard-coded constants.
51367         Suggested by Paul Eggert.
51368
51369 2008-09-07  Bruno Haible  <bruno@clisp.org>
51370
51371         * tests/test-striconveh.c (main): Check behaviour when converting from
51372         UTF-7.
51373
51374         Make striconveh work better with stateful encodings.
51375         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51376         that iconv does not increment the inptr when returning -1/EINVAL.
51377
51378 2008-09-07  Bruno Haible  <bruno@clisp.org>
51379
51380         * build-aux/config.rpath: Update according to libtool-2.2.6.
51381         * build-aux/config.libpath: Likewise.
51382
51383 2008-09-06  Bruno Haible  <bruno@clisp.org>
51384
51385         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51386         * lib/freadptr.c (freadptr): Likewise.
51387         * lib/freadseek.c (freadptrinc): Likewise.
51388         Reported by Simon Josefsson.
51389
51390 2008-09-06  Bruno Haible  <bruno@clisp.org>
51391
51392         * modules/freadptr (License): Change to LGPLv2+.
51393         * modules/freadseek (License): Likewise.
51394         Suggested by Eric Blake.
51395
51396         * modules/memchr2 (License): Change to LGPLv2+.
51397         Approved by Eric Blake.
51398
51399 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51400             Bruno Haible  <bruno@clisp.org>
51401
51402         Make gnulib-tool work with native 'sed' on AIX.
51403         * gnulib-tool (sed_noop): New variable.
51404         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51405         func_add_or_update, func_create_testdir): Use it to initialize sed
51406         script variables.
51407         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51408
51409 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51410             Bruno Haible  <bruno@clisp.org>
51411
51412         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51413         also works after #include directives.
51414
51415 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
51416
51417         getdate.y: reject an out-of-range timezone value
51418         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51419         the range [-24...+24].  When specified with only one or two digits,
51420         * tests/test-getdate.c: Tests for the fix.
51421         * doc/getdate.texi: Document this change.
51422
51423 2008-09-03  Bruno Haible  <bruno@clisp.org>
51424
51425         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51426
51427 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51428
51429         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51430         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51431         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51432         Blake <ebb9@byu.net>.
51433
51434         * tests/test-bitrotate.c: Add more test vectors.
51435
51436 2008-09-02  Eric Blake  <ebb9@byu.net>
51437
51438         vasnprintf-posix: handle large precision via %.*d
51439         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51440         when handling it ourselves.
51441         * tests/test-vasnprintf-posix.c (test_function): Add test.
51442         * tests/test-snprintf-posix.h (test_function): Likewise.
51443         * tests/test-sprintf-posix.h (test_function): Likewise.
51444         * tests/test-vasprintf-posix.c (test_function): Likewise.
51445         Reported by Alain Guibert.
51446
51447 2008-09-01  Eric Blake  <ebb9@byu.net>
51448
51449         c-stack: make configure-time check more robust
51450         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51451         successful sigaction call.
51452         Reported by Tom G. Christensen.
51453
51454 2008-09-01  Bruno Haible  <bruno@clisp.org>
51455
51456         New module 'findprog-lgpl'.
51457         * modules/findprog-lgpl: New file.
51458         * lib/findprog-lgpl.c: New file.
51459         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51460         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51461         to decide whether to use strdup or xstrdup, concatenated_filename or
51462         xconcatenated_filename.
51463
51464 2008-09-01  Bruno Haible  <bruno@clisp.org>
51465
51466         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51467         'xconcat-filename' (GPL).
51468         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51469         (License): Change to LGPLv2+.
51470         * modules/xconcat-filename: New file.
51471         * lib/concat-filename.h (concatenated_filename): Change specification.
51472         (xconcatenated_filename): New declaration.
51473         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51474         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51475         memory situations.
51476         * lib/xconcat-filename.c: New file.
51477         * NEWS: Mention the change.
51478         * lib/findprog.c: Include concat-filename.h, not filename.h.
51479         (find_in_path): Use xconcatenated_filename instead of
51480         concatenated_filename.
51481         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51482         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51483         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51484         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51485         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51486         instead of concatenated_filename.
51487         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51488         (execute_java_class): Use xconcatenated_filename instead of
51489         concatenated_filename.
51490         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51491         * modules/javacomp (Depends-on): Likewise.
51492         * modules/javaexec (Depends-on): Likewise.
51493
51494 2008-09-01  Bruno Haible  <bruno@clisp.org>
51495
51496         Split module 'filename' into 'filename' and 'concat-filename'.
51497         * modules/filename: Keep only lib/filename.h.
51498         (License): Change to LGPLv2+.
51499         * modules/concat-filename: New file, extracted from modules/filename.
51500         * lib/filename.h (concatenated_filename): Remove declaration.
51501         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51502         * lib/concat-filename.c: Include concat-filename.h.
51503         * NEWS: Mention the change.
51504
51505 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51506
51507         * lib/bitrotate.h (rotl8, rotr8): Add.
51508
51509         * modules/bitrotate (configure.ac): Need
51510         AC_REQUIRE([AC_C_INLINE]).
51511         (Description): Mention stdint.h.  Reported by Bruno Haible
51512         <bruno@clisp.org>.
51513
51514         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51515         Paolo Bonzini <bonzini@gnu.org>.
51516
51517 2008-08-31  Bruno Haible  <bruno@clisp.org>
51518
51519         Assume Solaris specific bi-arch conventions on Solaris systems.
51520         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51521         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51522         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51523         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51524         like acl_libdirstem.
51525         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51526         acl_libdirstem.
51527         * NEWS: Mention the change.
51528         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51529
51530 2008-08-31  Jim Meyering  <meyering@redhat.com>
51531
51532         * lib/strftime.h: Add comments describing the two added arguments.
51533
51534         remove duplicate #include directives
51535         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51536         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51537
51538 2008-08-31  Bruno Haible  <bruno@clisp.org>
51539
51540         New module 'sigpipe-die'.
51541         * modules/sigpipe-die: New file.
51542         * lib/sigpipe-die.h: New file.
51543         * lib/sigpipe-die.c: New file.
51544         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51545
51546 2008-08-31  Bruno Haible  <bruno@clisp.org>
51547
51548         Don't override previously installed signal handlers.
51549         * lib/fatal-signal.c (saved_sigactions): New variable.
51550         (uninstall_handlers): Reset the signal to the saved handler, not
51551         to SIG_DFL (except when ignored).
51552         (install_handlers): Save the previous handlers.
51553
51554 2008-08-30  Bruno Haible  <bruno@clisp.org>
51555
51556         * gnulib-tool (func_reset_sigpipe): New function.
51557         (func_get_automake_snippet, func_modules_transitive_closure,
51558         func_import): Invoke it before a join command that reads from stdin,
51559         to avoid "echo: write error: Broken pipe" error messages on stderr.
51560         Reported by Sam Steingold <sds@gnu.org>.
51561
51562 2008-08-30  Bruno Haible  <bruno@clisp.org>
51563
51564         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51565         Code copied from m4/open.m4.
51566         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51567         access and the filename ends in a slash. Code copied from lib/open.c.
51568         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51569         * tests/test-fopen.c (main): Check against bug with trailing slash.
51570
51571 2008-08-29  Bruno Haible  <bruno@clisp.org>
51572
51573         Avoid some "gcc -pedantic" warnings.
51574         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51575         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51576         * lib/dirent.in.h: Likewise.
51577         * lib/fcntl.in.h: Likewise.
51578         * lib/float.in.h: Likewise.
51579         * lib/iconv.in.h: Likewise.
51580         * lib/inttypes.in.h: Likewise.
51581         * lib/locale.in.h: Likewise.
51582         * lib/math.in.h: Likewise.
51583         * lib/netinet_in.in.h: Likewise.
51584         * lib/search.in.h: Likewise.
51585         * lib/signal.in.h: Likewise.
51586         * lib/stdarg.in.h: Likewise.
51587         * lib/stdint.in.h: Likewise.
51588         * lib/stdio.in.h: Likewise.
51589         * lib/stdlib.in.h: Likewise.
51590         * lib/string.in.h: Likewise.
51591         * lib/strings.in.h: Likewise.
51592         * lib/sys_select.in.h: Likewise.
51593         * lib/sys_socket.in.h: Likewise.
51594         * lib/sys_stat.in.h: Likewise.
51595         * lib/sys_time.in.h: Likewise.
51596         * lib/sysexits.in.h: Likewise.
51597         * lib/time.in.h: Likewise.
51598         * lib/unistd.in.h: Likewise.
51599         * lib/wchar.in.h: Likewise.
51600         * lib/wctype.in.h: Likewise.
51601         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51602         * modules/fchdir (Makefile.am): Likewise.
51603         * modules/fcntl (Makefile.am): Likewise.
51604         * modules/float (Makefile.am): Likewise.
51605         * modules/iconv_open (Makefile.am): Likewise.
51606         * modules/inttypes (Makefile.am): Likewise.
51607         * modules/locale (Makefile.am): Likewise.
51608         * modules/math (Makefile.am): Likewise.
51609         * modules/netinet_in (Makefile.am): Likewise.
51610         * modules/search (Makefile.am): Likewise.
51611         * modules/signal (Makefile.am): Likewise.
51612         * modules/stdarg (Makefile.am): Likewise.
51613         * modules/stdint (Makefile.am): Likewise.
51614         * modules/stdio (Makefile.am): Likewise.
51615         * modules/stdlib (Makefile.am): Likewise.
51616         * modules/string (Makefile.am): Likewise.
51617         * modules/strings (Makefile.am): Likewise.
51618         * modules/sys_select (Makefile.am): Likewise.
51619         * modules/sys_socket (Makefile.am): Likewise.
51620         * modules/sys_stat (Makefile.am): Likewise.
51621         * modules/sys_time (Makefile.am): Likewise.
51622         * modules/sysexits (Makefile.am): Likewise.
51623         * modules/time (Makefile.am): Likewise.
51624         * modules/unistd (Makefile.am): Likewise.
51625         * modules/wchar (Makefile.am): Likewise.
51626         * modules/wctype (Makefile.am): Likewise.
51627         Reported by Reuben Thomas <rrt@sc3d.org>.
51628
51629 2008-08-29  Bruno Haible  <bruno@clisp.org>
51630
51631         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51632         any more.
51633
51634 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51635
51636         * MODULES.html.sh (Misc): Add bitrotate.
51637
51638         * modules/bitrotate: New file.
51639
51640         * lib/bitrotate.h: New file.
51641
51642         * modules/bitrotate-tests: New file.
51643
51644         * tests/test-bitrotate.c: New file.
51645
51646         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51647         on the bitrotate module.
51648
51649         * lib/arctwo.c: Use new bitrotate module.
51650
51651 2008-08-29  Jim Meyering  <meyering@redhat.com>
51652
51653         bootstrap: merge changes from coreutils
51654         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51655         of copied files.  Remove a kludge, now that this is fixed.
51656         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51657         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51658         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51659
51660 2008-08-29  Bruno Haible  <bruno@clisp.org>
51661
51662         * MODULES.html.sh: Remove --cvs-urls option.
51663
51664 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51665
51666         maint.mk: adjust to file name change
51667         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51668
51669 2008-08-28  Jim Meyering  <meyering@redhat.com>
51670
51671         * modules/getndelim2 (License): Relicense to LGPLv2+.
51672         Approved by Richard Stallman for the version of 1995, and by
51673         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51674
51675 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51676
51677         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51678         dummy if one is not available.  Do not touch them if
51679         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51680         (getc_maybe_unlocked): New.
51681         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51682
51683 2008-08-26  Eric Blake  <ebb9@byu.net>
51684
51685         doc/INSTALL: resync from autoconf
51686         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51687         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51688         moving...
51689         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51690         * INSTALL: Regenerate.
51691         * INSTALL.ISO: New file.
51692         * INSTALL.UTF-8: Likewise.
51693
51694 2008-08-26  Jim Meyering  <meyering@redhat.com>
51695
51696         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51697         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51698         these definitions conditional, so that they may be overridden, too.
51699
51700 2008-08-26  Bruno Haible  <bruno@clisp.org>
51701
51702         Generate INSTALL file variants with prettier quotes.
51703         * doc/Makefile (INSTALL_PRELUDE): New macro.
51704         (INSTALL): Use it.
51705         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51706
51707 2008-08-26  Bruno Haible  <bruno@clisp.org>
51708
51709         Run makeinfo in an English locale.
51710         * doc/Makefile (MAKEINFO): New variable.
51711
51712 2008-08-26  Bruno Haible  <bruno@clisp.org>
51713
51714         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51715         Suggested by Eric Blake.
51716
51717 2008-08-25  Bruno Haible  <bruno@clisp.org>
51718
51719         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51720
51721 2008-08-25  Eric Blake  <ebb9@byu.net>
51722
51723         c-stack: test that stack overflow can be caught
51724         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51725         that platform allows handling stack overflow; at least OS/2 EMX
51726         has sigaltstack, but crashes before transferring control to
51727         handler on stack overflow.
51728         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51729         check for HAVE_STACK_OVERFLOW_HANDLING.
51730         Reported by Elbert Pol.
51731
51732 2008-08-25  Bruno Haible  <bruno@clisp.org>
51733
51734         * doc/posix-functions/strftime.texi: Fix description of strftime
51735         module.
51736
51737 2008-08-24  Bruno Haible  <bruno@clisp.org>
51738
51739         * tests/uniwidth/test-uc_width2.c: New file.
51740         * tests/uniwidth/test-uc_width2.sh: New file.
51741         * modules/uniwidth/width-tests (Files): Add the new files.
51742         (TESTS): Add uniwidth/test-uc_width2.sh.
51743         (TESTS_ENVIRONMENT): New variable.
51744         (check_PROGRAMS): Add test-uc_width2.
51745         (test_uc_width2_SOURCES): New variable.
51746
51747         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51748         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51749         not 0x00AB.
51750         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51751
51752 2008-08-22  Eric Blake  <ebb9@byu.net>
51753
51754         test-lock, test-tls: mention why a test is skipped
51755         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51756         skipped.
51757         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51758
51759         count-one-bits: relax license
51760         * modules/count-one-bits (License): Relicense to LGPLv2+.
51761         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51762
51763 2008-08-22  Andreas Schwab  <schwab@suse.de>
51764
51765         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51766         Remove spurious space in assignment.
51767
51768 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51769
51770         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51771         Paul Eggert <eggert@CS.UCLA.EDU>.
51772
51773 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51774
51775         * modules/gettext: Add m4/threadlib.m4.
51776
51777 2008-08-19  Eric Blake  <ebb9@byu.net>
51778
51779         test-c-stack: fix compilation failure on FreeBSD 5.0
51780         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51781         headers before <sys/resource.h>.
51782         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51783         the bug.
51784         Reported by Nelson H. F. Beebe.
51785
51786         strverscmp: migrate from "strverscmp.h" to <string.h>
51787         * modules/string (Makefile.am): Add new hooks.
51788         * modules/strverscmp (Files): Remove strverscmp.h.
51789         (Depends-on): Add string.
51790         (configure.ac): Add indicator.
51791         (Include): Mention new header.
51792         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51793         defaults.
51794         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51795         results.
51796         * lib/strverscmp.h: Delete.
51797         * lib/string.in.h (strverscmp): Provide declaration, when needed.
51798         * tests/test-strverscmp.c (includes): Adjust client.
51799         * lib/check-version.c (includes): Likewise.
51800         * NEWS: Document the change.
51801
51802         strverscmp: add unit test
51803         * modules/strverscmp-tests: New file.
51804         * tests/test-strverscmp.c: Likewise.
51805
51806 2008-08-19  Simon Josefsson  <simon@josefsson.org>
51807
51808         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
51809         regarding Windows crypto stuff, from Mono.
51810
51811 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51812
51813         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51814         if present, for intel RND.  Return error on failures.
51815
51816 2008-08-18  Ben Pfaff  <blp@gnu.org>
51817
51818         gitlog-to-changelog: give better diagnostic for failed pipe-open
51819         * build-aux/gitlog-to-changelog: Improve error message: suggest
51820         that the version of Git may be too old.
51821
51822 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51823
51824         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51825         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51826
51827 2008-08-18  Bruno Haible  <bruno@clisp.org>
51828
51829         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51830         pthread_in_use().
51831
51832 2008-08-18  Bruno Haible  <bruno@clisp.org>
51833
51834         * lib/glthread/threadlib.c: Include <pthread.h>.
51835
51836 2008-08-18  Bruno Haible  <bruno@clisp.org>
51837
51838         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51839         glthread_recursive_lock_* macros.
51840         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51841         Fix syntax error.
51842
51843 2008-08-18  Bruno Haible  <bruno@clisp.org>
51844
51845         * lib/glthread/thread.c: Avoid forcing a context switch right after
51846         thread creation.
51847
51848 2008-08-17  Bruno Haible  <bruno@clisp.org>
51849
51850         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51851         * lib/glthread/thread.h: Provide Win32 specific implementation.
51852         * modules/thread (Files): Add lib/glthread/thread.c.
51853         (Depends-on): Add lock.
51854         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51855
51856 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51857
51858         New module 'yield'.
51859         * modules/yield: New file.
51860         * lib/glthread/yield.h: New file.
51861         * m4/yield.m4: New file.
51862         * MODULES.html.sh (Multithreading): Add yield.
51863
51864 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51865
51866         New module 'thread'.
51867         * modules/thread: New file.
51868         * lib/glthread/thread.h: New file.
51869         * m4/thread.m4: New file.
51870         * MODULES.html.sh (Multithreading): Add thread.
51871
51872 2008-08-17  Bruno Haible  <bruno@clisp.org>
51873
51874         * lib/glthread/lock.h: Include <stdlib.h> always.
51875         * lib/glthread/tls.h: Likewise.
51876         * lib/glthread/cond.h: Likewise.
51877
51878 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51879
51880         New module 'cond'.
51881         * modules/cond: New file.
51882         * lib/glthread/cond.h: New file.
51883         * lib/glthread/cond.c: New file.
51884         * m4/cond.m4: New file.
51885         * MODULES.html.sh (Multithreading): Add cond.
51886
51887 2008-08-16  Eric Blake  <ebb9@byu.net>
51888
51889         c-stack: fix regression on Irix 5.3 from 2008-06-21
51890         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51891         sa_sigaction...
51892         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51893         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51894         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51895         * modules/signal (Makefile.am): Use the value.
51896         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51897         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51898         * doc/posix-headers/signal.texi (signal.h): Document this
51899         portability issue.
51900         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51901         Reported by Tom G. Christensen.
51902
51903 2008-08-17  Bruno Haible  <bruno@clisp.org>
51904
51905         New module 'threadlib'.
51906         * modules/threadlib: New file.
51907         * lib/glthread/threadlib.c: New file, extracted from
51908         lib/glthread/lock.c.
51909         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51910         functions.
51911         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51912         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51913         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51914         macros.
51915         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
51916         (gl_DISABLE_THREADS): Remove macro.
51917         * modules/lock (Files): Remove build-aux/config.rpath.
51918         (Depends-on): Remove havelib. Add threadlib.
51919         (configure.ac-early): Remove section.
51920         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
51921         * modules/tls (Depends-on): Remove lock. Add threadlib.
51922         (Link): New section, copied from threadlib.
51923         * MODULES.html.sh (Multithreading): Add threadlib.
51924
51925 2008-08-14  Bruno Haible  <bruno@clisp.org>
51926
51927         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
51928         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
51929         glthread_rwlock_unlock, glthread_rwlock_destroy,
51930         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
51931         glthread_recursive_lock_destroy): Define as macros always.
51932         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
51933         glthread_lock_lock.
51934         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
51935         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
51936         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
51937         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
51938         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
51939         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
51940         (glthread_recursive_lock_lock_func): Renamed from
51941         glthread_recursive_lock_lock.
51942         (glthread_recursive_lock_unlock_func): Renamed from
51943         glthread_recursive_lock_unlock.
51944         (glthread_recursive_lock_destroy_func): Renamed from
51945         glthread_recursive_lock_destroy.
51946
51947 2008-08-14  Bruno Haible  <bruno@clisp.org>
51948
51949         * lib/glthread/lock.h: Renamed from lib/lock.h.
51950         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
51951         * lib/glthread/tls.h: Renamed from lib/tls.h.
51952         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
51953         * lib/fstrcmp.c: Update includes.
51954         * lib/strsignal.c: Update includes.
51955         * modules/lock (Files, Makefile.am): Update.
51956         (Include): Change to "glthread/lock.h".
51957         * modules/tls (Files, Makefile.am): Update.
51958         (Include): Change to "glthread/tls.h".
51959         * tests/test-lock.c: Update includes.
51960         * tests/test-tls.c: Update includes.
51961         * NEWS: Mention the renamed header files.
51962
51963 2008-08-11  Jim Meyering  <meyering@redhat.com>
51964
51965         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
51966
51967 2008-08-11  Eric Blake  <ebb9@byu.net>
51968
51969         test-c-stack: avoid C99-ism
51970         * tests/test-c-stack.c (main): Fix whitespace, move declaration
51971         before statement.
51972         Reported by Alain Guibert.
51973
51974 2008-08-10  Jim Meyering  <meyering@redhat.com>
51975
51976         ensure that return value of uinttostr et al are not ignored
51977         * lib/inttostr.h (__GNUC_PREREQ): Define.
51978         (__attribute_warn_unused_result__): Define.
51979         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
51980
51981 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
51982
51983         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
51984         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
51985
51986 2008-08-07  Jim Meyering  <meyering@redhat.com>
51987
51988         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
51989
51990         * modules/mkstemp (License): Relicense under LGPLv2+.
51991         * modules/tempname (License): Likewise.
51992
51993 2008-08-06  Bruno Haible  <bruno@clisp.org>
51994
51995         * lib/poll.c (poll): Further micro-optimization.
51996
51997 2008-08-06  Jim Meyering  <meyering@redhat.com>
51998
51999         inet_pton.c: use locale-independent tolower
52000         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52001         (inet_pton6): Use c_tolower rather than tolower.
52002         * modules/inet_pton (Depends-on): Add c-ctype.
52003
52004 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52005
52006         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52007         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52008
52009 2008-08-06  Jim Meyering  <meyering@redhat.com>
52010
52011         * modules/inet_pton (License): Relicense under LGPLv2+.
52012
52013 2008-08-03  Bruno Haible  <bruno@clisp.org>
52014
52015         Additional non-aborting API for lock and tls.
52016         * lib/lock.h: Include <errno.h>.
52017         (glthread_lock_init): New macro/function.
52018         (gl_lock_init): Define as wrapper around glthread_lock_init.
52019         (glthread_lock_lock): New macro/function.
52020         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52021         (glthread_lock_unlock): New macro/function.
52022         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52023         (glthread_lock_destroy): New macro/function.
52024         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52025         (glthread_rwlock_init): New macro/function.
52026         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52027         (glthread_rwlock_rdlock): New macro/function.
52028         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52029         (glthread_rwlock_wrlock): New macro/function.
52030         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52031         (glthread_rwlock_unlock): New macro/function.
52032         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52033         (glthread_rwlock_destroy): New macro/function.
52034         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52035         (glthread_recursive_lock_init): New macro/function.
52036         (gl_recursive_lock_init): Define as wrapper around
52037         glthread_recursive_lock_init.
52038         (glthread_recursive_lock_lock): New macro/function.
52039         (gl_recursive_lock_lock): Define as wrapper around
52040         glthread_recursive_lock_lock.
52041         (glthread_recursive_lock_unlock): New macro/function.
52042         (gl_recursive_lock_unlock): Define as wrapper around
52043         glthread_recursive_lock_unlock.
52044         (glthread_recursive_lock_destroy): New macro/function.
52045         (gl_recursive_lock_destroy): Define as wrapper around
52046         glthread_recursive_lock_destroy.
52047         (glthread_once): New macro/function.
52048         (gl_once): Define as wrapper around glthread_once.
52049         Update function declarations.
52050         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52051         glthread_rwlock_init. Return error code.
52052         (glthread_rwlock_rdlock_multithreaded): Renamed from
52053         glthread_rwlock_rdlock. Return error code.
52054         (glthread_rwlock_wrlock_multithreaded): Renamed from
52055         glthread_rwlock_wrlock. Return error code.
52056         (glthread_rwlock_unlock_multithreaded): Renamed from
52057         glthread_rwlock_unlock. Return error code.
52058         (glthread_rwlock_destroy_multithreaded): Renamed from
52059         glthread_rwlock_destroy. Return error code.
52060         (glthread_recursive_lock_init_multithreaded): Renamed from
52061         glthread_recursive_lock_init. Return error code.
52062         (glthread_recursive_lock_lock_multithreaded): Renamed from
52063         glthread_recursive_lock_lock. Return error code.
52064         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52065         glthread_recursive_lock_unlock. Return error code.
52066         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52067         glthread_recursive_lock_destroy. Return error code.
52068         (glthread_once_call): Make static.
52069         (glthread_once_multithreaded): Renamed from glthread_once.
52070         * lib/tls.h: Include <errno.h>.
52071         (glthread_tls_key_init): New macro/function.
52072         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52073         (glthread_tls_set): New macro/function.
52074         (gl_tls_set): Define as wrapper around glthread_tls_set.
52075         (glthread_tls_key_destroy): New macro/function.
52076         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52077         Update function declarations.
52078         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52079         glthread_tls_get.
52080         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52081
52082 2008-08-04  Eric Blake  <ebb9@byu.net>
52083
52084         gnumakefile: use space, not TAB, outside of targets
52085         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52086
52087 2008-08-02  Jim Meyering  <meyering@redhat.com>
52088
52089         getdate.y: avoid locale-dependent date parsing failure
52090         In Turkish locales, getdate would fail to recognize keywords
52091         containing a lowercase "i".  The solution is not to rely on
52092         locale-sensitive case-conversion.
52093         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52094         (lookup_word): Use c_toupper in place of toupper.
52095         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52096         Reported by Vefa Bicakci <bicave@superonline.com> in
52097         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52098         * modules/getdate (Depends-on): Add c-ctype.
52099
52100 2008-08-02  Bruno Haible  <bruno@clisp.org>
52101
52102         * gnulib-tool (func_import): When updating or creating a .gitignore
52103         file, prepend each added line with a slash, and ignore leading slashes
52104         from the existing lines.
52105         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52106
52107 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52108
52109         Portability fix for GNU make 3.79.1.
52110         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52111         versions do not understand.
52112
52113 2008-08-01  Bruno Haible  <bruno@clisp.org>
52114
52115         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52116         * tests/test-isnanf.h (zero): New variable.
52117         (main): Avoid literal -0.0f.
52118         * tests/test-isnand.h (zero): New variable.
52119         (main): Avoid literal -0.0.
52120         * tests/test-isnanl.h (zero): New variable.
52121         (main): Avoid literal -0.0L.
52122         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52123         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52124         -0.0, -0.0L.
52125         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52126         (test_signbitd): Avoid literal -0.0.
52127         (test_signbitl): Avoid literal -0.0L.
52128         * tests/test-ceilf1.c (zero): New variable.
52129         (main): Avoid literal -0.0f.
52130         * tests/test-ceill.c (zero): New variable.
52131         (main): Avoid literal -0.0L.
52132         * tests/test-floorf1.c (zero): New variable.
52133         (main): Avoid literal -0.0f.
52134         * tests/test-floorl.c (zero): New variable.
52135         (main): Avoid literal -0.0L.
52136         * tests/test-roundf1.c (zero): New variable.
52137         (main): Avoid literal -0.0f.
52138         * tests/test-round1.c (zero): New variable.
52139         (main): Avoid literal -0.0.
52140         * tests/test-roundl.c (zero): New variable.
52141         (main): Avoid literal -0.0L.
52142         * tests/test-truncf1.c (zero): New variable.
52143         (main): Avoid literal -0.0f.
52144         * tests/test-trunc1.c (zero): New variable.
52145         (main): Avoid literal -0.0.
52146         * tests/test-truncl.c (zero): New variable.
52147         (main): Avoid literal -0.0L.
52148         * tests/test-frexp.c (zero): New variable.
52149         (main): Avoid literal -0.0.
52150         * tests/test-frexpl.c (zero): New variable.
52151         (main): Avoid literal -0.0L.
52152         * tests/test-ldexpl.c (zero): New variable.
52153         (main): Avoid literal -0.0L.
52154         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52155         (zerod, zerol): New variables.
52156         (test_function): Avoid literals -0.0, -0.0L.
52157         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52158         (zerod, zerol): New variables.
52159         (test_function): Avoid literals -0.0, -0.0L.
52160         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52161         (zerod, zerol): New variables.
52162         (test_function): Avoid literals -0.0, -0.0L.
52163         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52164         (zerod, zerol): New variables.
52165         (test_function): Avoid literals -0.0, -0.0L.
52166         * tests/test-strtod.c (zero): New variable.
52167         (main): Avoid literal -0.0.
52168         Reported by Jonathan C. Patschke <jp@centtech.com>.
52169
52170 2008-07-31  Jim Meyering  <meyering@redhat.com>
52171
52172         sha256.h: correct definition of SHA224_DIGEST_SIZE
52173         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52174         Reported by Paulie Pena IV <paulie4@gmail.com>.
52175         Define as 224 / 8, rather than as a literal.
52176         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52177         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52178         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52179
52180 2008-07-31  Bruno Haible  <bruno@clisp.org>
52181
52182         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52183         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52184         Reported by Jonathan Patschke <jp@centtech.com>.
52185
52186 2008-07-31  Bruno Haible  <bruno@clisp.org>
52187
52188         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52189         Reported by Paolo Bonzini <bonzini@gnu.org>.
52190
52191 2008-07-30  Eric Blake  <ebb9@byu.net>
52192
52193         test-strtod: allow compilation without -lm
52194         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52195         Reported by Dennis Clarke <blastwave@gmail.com>.
52196
52197 2008-07-28  Jim Meyering  <meyering@redhat.com>
52198
52199         bootstrap: work also when there are no .po files in po/
52200         * build-aux/bootstrap (update_po_files): Complete the change
52201         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52202
52203 2008-07-27  Jim Meyering  <meyering@redhat.com>
52204
52205         * users.txt: Add zile.
52206
52207 2008-07-26  Ben Pfaff  <blp@gnu.org>
52208
52209         Add missing dependencies on new m4/exponent[fdl].m4 files.
52210         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52211         * modules/isnand-nolibm: Add m4/exponentd.m4.
52212         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52213         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52214         m4/isnan[fdl].m4, because the macros actually used moved.
52215         Reported by Jim Meyering.
52216
52217 2008-07-14  Ben Pfaff  <blp@gnu.org>
52218
52219         Add isinf module.
52220         * lib/isinf.c: New file.
52221         * lib/math.in.h: Define isinf macro if we have decided to replace
52222         it.
52223         * m4/isinf.m4: New file.
52224         * m4/math_h.m4: Initialize and substitute variables for isinf
52225         module.
52226         * modules/isinf: New file.
52227         * modules/isinf-tests: New file.
52228         * modules/math: Add substitutions for new module.
52229         * tests/test-isinf.c: New file.
52230         * doc/posix-functions/isinf.texi: Mention new module.
52231         * MODULES.html.sh: Mention new module.
52232
52233 2008-07-14  Ben Pfaff  <blp@gnu.org>
52234
52235         Factor out some macros for use by additional modules.
52236         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52237         exponentf.m4.
52238         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52239         exponentd.m4.
52240         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52241         file exponentl.m4.
52242         * m4/exponentf.m4: New file.
52243         * m4/exponentd.m4: New file.
52244         * m4/exponentl.m4: New file.
52245         * modules/isnanf: Use new file m4/exponentf.m4.
52246         * modules/isnand: Use new file m4/exponentd.m4.
52247         * modules/isnanl: Use new file m4/exponentl.m4.
52248
52249 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52250
52251         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52252         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52253         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52254         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52255
52256         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52257         readlink on platforms without PATH_MAX.
52258
52259 2008-07-21  Eric Blake  <ebb9@byu.net>
52260
52261         Warn, not fail, on stale version.
52262         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52263
52264         Don't allow installation with stale devel version number.
52265         * top/GNUmakefile (_is-install-target): New macro.
52266         (_curr-ver): Forbid installation with stale version number.
52267
52268 2008-07-20  Bruno Haible  <bruno@clisp.org>
52269
52270         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52271         TESTS_ENVIRONMENT.
52272         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52273
52274 2008-07-20  Bruno Haible  <bruno@clisp.org>
52275
52276         * lib/c-stack.h (c_stack_action): Add documentation.
52277         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52278
52279 2008-07-20  Bruno Haible  <bruno@clisp.org>
52280
52281         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52282         * modules/readlink (License): Likewise.
52283
52284 2008-07-17  Eric Blake  <ebb9@byu.net>
52285
52286         * modules/c-stack (Link): Fix typo.
52287
52288         Make c-stack use libsigsegv, when available.
52289         * modules/c-stack (Depends-on): Add libsigsegv.
52290         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52291         needed.
52292         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52293         (segv_handler, overflow_handler, c_stack_action)
52294         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52295         implementation when libsigsegv is available, but only when using
52296         the library is necessary.
52297         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52298         comment, explaining why XSI check fails on Linux.
52299         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52300         * tests/test-c-stack2.sh: Tweak skip message.
52301         * NEWS: Document new link-time requirements.
52302
52303 2008-07-16  Eric Blake  <ebb9@byu.net>
52304
52305         c-stack: Expose false positives when not using libsigsegv.
52306         * modules/c-stack-tests (Files): Expand test.
52307         * tests/test-c-stack.c (main): Add means to conditionally trigger
52308         non-overflow SIGSEGV.
52309         * tests/test-c-stack2.sh: New file.
52310
52311 2008-07-14  Bruno Haible  <bruno@clisp.org>
52312
52313         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52314         Reported by Eric Blake.
52315
52316 2008-07-14  Sam Steingold  <sds@gnu.org>
52317             Bruno Haible  <bruno@clisp.org>
52318
52319         New module libsigsegv.
52320         * modules/libsigsegv: New file.
52321         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52322         modifications.
52323         * MODULES.html.sh (Signal handling): New section.
52324
52325 2008-07-14  Bruno Haible  <bruno@clisp.org>
52326
52327         * modules/unictype/ctype-* (Description): Add the word "function".
52328         Improves the resulting doc in MODULES.html.
52329
52330 2008-07-12  Ben Pfaff  <blp@gnu.org>
52331
52332         Add longlong module.
52333         * modules/longlong: New file.
52334
52335 2008-07-12  Bruno Haible  <bruno@clisp.org>
52336
52337         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52338         to empty.
52339
52340 2008-07-10  Ben Pfaff  <blp@gnu.org>
52341
52342         Add isnan module.
52343         * doc/posix-functions/isnan.texi: Mention new module.
52344         * lib/math.in.h: Define isnan macro if we have decided to replace
52345         it.
52346         * m4/isnan.m4: New file.
52347         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52348         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52349         also.
52350         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52351         redundancy.
52352         * m4/math_h.m4: Initialize and substitute variables for isnan
52353         module.
52354         * modules/isnan: New file.
52355         * modules/isnan-tests: New file.
52356         * modules/math: Add substitutions for new module.
52357         * tests/test-isnan.c: New file.
52358         * MODULES.html.sh: Mention new module.
52359
52360 2008-07-10  Ben Pfaff  <blp@gnu.org>
52361
52362         Add isnanf module.
52363         * lib/isnanf.m4: New file.
52364         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52365         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52366         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52367         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52368         * modules/isnanf: New file.
52369         * modules/isnanf-tests: New file.
52370         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52371         files.
52372         * tests/test-isnanf-nolibm.c: factored most of its contents into
52373         new file tests/test-isnanf.h.
52374         * tests/test-isnanf.h: New file.
52375         * tests/test-isnanf.c: New file.
52376         * MODULES.html.sh: Mention new module.
52377         * doc/glibc-functions/isnanf.texi: Mention new module.
52378
52379 2008-07-10  Ben Pfaff  <blp@gnu.org>
52380
52381         Add isnand module.
52382         * lib/isnand.h: New file.
52383         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52384         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52385         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52386         functionality also.
52387         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52388         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52389         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52390         * modules/isnand: New file.
52391         * modules/isnand-tests: New file.
52392         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52393         files.
52394         * tests/test-isnand-nolibm.c: factored most of its contents into
52395         new file tests/test-isnand.h.
52396         * tests/test-isnand.h: New file.
52397         * tests/test-isnand.c: New file.
52398         * MODULES.html.sh: Mention new module.
52399
52400 2008-07-10  Ben Pfaff  <blp@gnu.org>
52401
52402         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52403         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52404         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52405         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52406         * modules/isnanf-nolibm: Update references to renamed files.
52407         * modules/isnand-nolibm: Likewise.
52408         * modules/isnanf-nolibm-tests: Likewise.
52409         * modules/isnand-nolibm-tests: Likewise.
52410         * lib/frexp.c: Likewise.
52411         * lib/isfinite.c: Likewise.
52412         * lib/signbitd.c: Likewise.
52413         * lib/signbitf.c: Likewise.
52414         * lib/vasnprintf.c: Likewise.
52415         * tests/test-ceilf1.c: Likewise.
52416         * tests/test-ceilf2.c: Likewise.
52417         * tests/test-floorf1.c: Likewise.
52418         * tests/test-floorf2.c: Likewise.
52419         * tests/test-frexp.c: Likewise.
52420         * tests/test-round1.c: Likewise.
52421         * tests/test-round2.c: Likewise.
52422         * tests/test-roundf1.c: Likewise.
52423         * tests/test-strtod.c: Likewise.
52424         * tests/test-trunc1.c: Likewise.
52425         * tests/test-trunc2.c: Likewise.
52426         * tests/test-truncf1.c: Likewise.
52427         * tests/test-truncf2.c: Likewise.
52428         * NEWS: Mention the renamed header files.
52429
52430 2008-07-11  Jim Meyering  <meyering@redhat.com>
52431
52432         vc-list-files: make the last-resort awk code more portable
52433         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52434         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52435         does not support it.
52436
52437 2008-07-10  Eric Blake  <ebb9@byu.net>
52438
52439         Work with tar's bootstrap.
52440         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52441         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52442         an m4 comment.
52443
52444 2008-07-09  Jim Meyering  <meyering@redhat.com>
52445
52446         posix-shell.m4: fix typo that made this test malfunction
52447         * m4/posix-shell.m4: Remove capitalization in variable name.
52448
52449 2008-07-08  Bruno Haible  <bruno@clisp.org>
52450
52451         * m4/onceonly.m4: Update comments.
52452         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52453
52454 2008-07-04  Jim Meyering  <meyering@redhat.com>
52455
52456         * users.txt: Add vc-dwim.
52457         (bison, coreutils): Use the gitweb URL.
52458
52459 2008-07-03  Jim Meyering  <meyering@redhat.com>
52460
52461         * users.txt: Add libffcall.  From Sam Steingold.
52462
52463 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
52464
52465         getdate.y: do not ignore TZ with relative day, month or year offset
52466         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52467         relative-date-handling, since otherwise, the latter would clobber the
52468         sole output (an updated Start value) of the tz-handling block.
52469         * tests/test-getdate.c: Tests for the fix
52470
52471 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52472
52473         Recognize 'foo_LIBRARIES += libgnu.a'.
52474         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52475         makefile snippet has already specified an installation location,
52476         also using '+='.
52477
52478 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
52479
52480         getdate.y: factor out common actions
52481         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52482         Use them in place of open-coded actions.
52483
52484 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52485
52486         Add self-test for getdate module.
52487         * modules/getdate-tests: New file.
52488         * tests/test-getdate.c: New file.
52489
52490 2008-06-29  Bruno Haible  <bruno@clisp.org>
52491
52492         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52493         .gitignore.
52494         Reported by Sylvain Beucler <beuc@beuc.net>.
52495
52496 2008-06-29  Bruno Haible  <bruno@clisp.org>
52497
52498         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52499         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52500
52501 2008-06-29  Bruno Haible  <bruno@clisp.org>
52502
52503         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52504         EXTRA_DIST.
52505         Reported by Sylvain Beucler <beuc@beuc.net>.
52506
52507 2008-06-26  Jim Meyering  <meyering@redhat.com>
52508
52509         make several modules depend on the "open" module
52510         This provides slightly increased consistency when opening-for-write
52511         the name of a non-directory spelled with a trailing slash.
52512         * modules/chdir-safer: Likewise.
52513         * modules/chown: Likewise.
52514         * modules/clean-temp: Likewise.
52515         * modules/copy-file: Likewise.
52516         * modules/fchdir: Likewise.
52517         * modules/fcntl-safer: Likewise.
52518         * modules/pipe: Likewise.
52519         * modules/utime: Likewise.
52520         Prompted by Eric Blake and Bruno Haible.
52521
52522 2008-06-24  Andreas Schwab  <schwab@suse.de>
52523
52524         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52525         literals can be used as initializers for global variables.
52526
52527 2008-06-23  Eric Blake  <ebb9@byu.net>
52528
52529         Make gnulib-cache.m4 easier to diff.
52530         * gnulib-tool (func_import): Allow newlines when reading cached
52531         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52532
52533 2008-06-23  Bruno Haible  <bruno@clisp.org>
52534
52535         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52536         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52537         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52538         m4/signalblocking.m4.
52539         (gl_PREREQ_SIGACTION): Don't invoke it.
52540         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52541         gl_PREREQ_SIG_HANDLER_H.
52542         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52543         Don't check for sigaction here.
52544
52545 2008-06-23  Bruno Haible  <bruno@clisp.org>
52546
52547         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52548         (install_handlers): Don't set the SA_RESETHAND flag.
52549
52550 2008-06-23  Bruno Haible  <bruno@clisp.org>
52551
52552         * m4/sigaction.m4: Comment fixes.
52553         * lib/signal.in.h: Likewise.
52554
52555 2008-06-23  Eric Blake  <ebb9@byu.net>
52556
52557         Fix typo.
52558         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52559
52560         Avoid SA_ namespace.
52561         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52562         Reported by Ralf Wildenhues.
52563
52564         Avoid test failure due to SA_RESTORER.
52565         * tests/test-sigaction.c (SA_MASK): New macro.
52566         (main): Avoid failing due to extension flags being set.
52567         Reported by Jim Meyering.
52568
52569         Revert use of sig-handler.h in sigprocmask.c.
52570         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52571         it requires the existence of struct sigaction.
52572         * lib/sigprocmask.c (handler_t): Restore typedef.
52573         (rpl_signal, old_handlers): Use local type.
52574
52575 2008-06-22  Bruno Haible  <bruno@clisp.org>
52576
52577         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52578         conditionally.
52579         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52580
52581 2008-06-22  Bruno Haible  <bruno@clisp.org>
52582
52583         * doc/posix-functions/siginterrupt.texi: Move note.
52584
52585         * lib/signal.in.h (SA_RESTART): New macro.
52586         * lib/sigaction.c: Update comment.
52587
52588         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52589
52590         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52591         (gl_PREREQ_SIGPROCMASK): Invoke it.
52592         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52593
52594         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52595
52596         * lib/sigprocmask.c: Update a comment.
52597
52598 2008-06-21  Eric Blake  <ebb9@byu.net>
52599
52600         Use sigaction module rather than signal().
52601         * modules/c-stack (Depends-on): Add sigaction.
52602         * modules/fatal-signal (Depends-on): Likewise.
52603         * modules/nanosleep (Depends-on): Likewise.
52604         * modules/sigprocmask (Files): Add sig-handler.h.
52605         * modules/sigaction (Files): Likewise.
52606         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52607         Eggert.
52608         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52609         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52610         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52611         (init_fatal_signals): Likewise.
52612         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52613         (siginterrupt): Delete fallback.
52614         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52615         instead.
52616         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52617         siginterrupt.
52618
52619         New module sigaction, for mingw.
52620         * modules/sigaction: New module...
52621         * modules/sigaction-tests: ...and its test.
52622         * m4/sigaction.m4: New file.
52623         * lib/sigaction.c: Likewise.
52624         * tests/test-sigaction.c: Likewise.
52625         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52626         * modules/signal (Makefile.am): Likewise.
52627         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52628         needed.
52629         * doc/posix-headers/signal.texi (signal.h): Mention provided
52630         types.
52631         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52632         that sigaction is preferable.
52633         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52634         module.
52635         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52636         sigaction.
52637
52638         Improve robustness of sigprocmask by overriding signal.
52639         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52640         is in use.
52641         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52642         (SIGKILL, SIGSTOP): Provide fallbacks.
52643         (rpl_signal): Implement.
52644         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52645         signal can be called inside handlers.
52646
52647         Fix nanosleep module on mingw.
52648         * modules/nanosleep (Depends-on): Add sys_select.
52649         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52650
52651         Fix licensing of sigprocmask.
52652         * modules/raise (License): Relicense as LGPL.
52653
52654 2008-06-21  Bruno Haible  <bruno@clisp.org>
52655
52656         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52657         result if it contains question marks.
52658         Reported by Michael Geng <linux@michaelgeng.de>.
52659
52660 2008-06-19  Bruno Haible  <bruno@clisp.org>
52661
52662         Fix CVS-ism.
52663         * doc/gnulib.texi: Include updated-stamp.texi.
52664         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52665         (updated-stamp.texi): New rule.
52666         (gnulib.info): Depend on it.
52667         * doc/.gitignore: Add updated-stamp.texi.
52668         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52669
52670 2008-06-19  Bruno Haible  <bruno@clisp.org>
52671
52672         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52673         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52674
52675 2008-06-19  Eric Blake  <ebb9@byu.net>
52676
52677         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52678         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52679         Reported by Stepan Kasal.
52680
52681 2008-06-18  Bruno Haible  <bruno@clisp.org>
52682
52683         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52684         Reported by Eric Blake.
52685
52686 2008-06-18  Eric Blake  <ebb9@byu.net>
52687
52688         Work around cygwin 1.5.25 strsignal bug.
52689         * tests/test-strsignal.c: Allow for const char *.
52690         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52691
52692 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52693
52694         * users.txt: Update URL to article and add author/date
52695         information.
52696
52697 2008-06-17  Bruno Haible  <bruno@clisp.org>
52698
52699         New macro gl_DISABLE_THREADS.
52700         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52701         if the user did not pass --enable-threads or --disable-threads option.
52702         (gl_DISABLE_THREADS): New macro.
52703         Reported by Eric Blake <ebb9@byu.net>.
52704
52705 2008-06-17  Bruno Haible  <bruno@clisp.org>
52706
52707         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52708         when the macro ignores it.
52709         Based on a patch by Eric Blake <ebb9@byu.net>.
52710
52711 2008-06-17  Bruno Haible  <bruno@clisp.org>
52712
52713         * modules/tls (License): Change to LGPLv2+.
52714         Reported by Eric Blake.
52715
52716 2008-06-17  Eric Blake  <ebb9@byu.net>
52717
52718         Simplify c-stack prerequisites.
52719         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52720         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52721         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52722         check.
52723         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52724         <sys/resource.h>.
52725
52726         Move c-stack test into testsuite.
52727         * modules/c-stack-tests: New file.
52728         * lib/c-stack.c [DEBUG]: Move test program...
52729         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52730         fail test if sigaltstack is lacking.
52731         * tests/test-c-stack.sh: New driver file.
52732
52733 2008-06-16  Eric Blake  <ebb9@byu.net>
52734
52735         Use raise module consistently.
52736         * modules/fatal-signal (Depends-on): Add raise.
52737         * modules/sigprocmask (Depends-on): Likewise.
52738         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52739         * lib/sigprocmask.c (sigprocmask): Likewise.
52740         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52741         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52742
52743         Fix compliance bug in sigpending.
52744         * lib/sigprocmask.c (sigpending): Return pending array via
52745         parameter, not return value.
52746
52747 2008-06-14  Eric Blake  <ebb9@byu.net>
52748
52749         Improve obstack-printf test code.
52750         * tests/test-obstack-printf.c (test_function): Fix comment, and
52751         simplify usage of obstack_* in macros.  Add a test for coverage.
52752         Reported by Bruno Haible.
52753
52754 2008-06-14  Bruno Haible  <bruno@clisp.org>
52755
52756         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52757         array size as a constant, not as a const variable.
52758         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52759         AC_USE_SYSTEM_EXTENSIONS.
52760         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52761         Test whether the obstack_printf function actually exists.
52762         * modules/obstack-printf (Depends-on): Add extensions.
52763         (Include): Remove obstack.h.
52764         * modules/obstack-printf-posix (Depends-on): Add extensions.
52765         (Include): Remove obstack.h.
52766
52767 2008-06-13  Eric Blake  <ebb9@byu.net>
52768
52769         Add obstack-printf and obstack-printf-posix modules.
52770         * modules/obstack-printf: New file.
52771         * modules/obstack-printf-posix: Likewise.
52772         * MODULES.html.sh (Misc): Mention them.
52773         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52774         Likewise.
52775         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52776         Likewise.
52777         * modules/stdio (Makefile.am): Accomodate new modules.
52778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52779         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52780         Declare.
52781         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52782         functions.
52783         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52784         (gl_REPLACE_OBSTACK_PRINTF): New macros
52785         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52786         * tests/test-obstack-printf.c: New file.
52787         * modules/obstack-printf-tests: Likewise.
52788         * modules/obstack-printf-posix-tests: Likewise.
52789
52790 2008-06-11  Bruno Haible  <bruno@clisp.org>
52791
52792         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52793         * lib/open.c: Include errno.h.
52794         (open): Fail when attempting to write to a file that has a trailing
52795         slash.
52796         * tests/test-open.c (main): Test against trailing slash bug.
52797         * doc/posix-functions/open.texi: Mention the trailing slash bug.
52798
52799 2008-06-10  Bruno Haible  <bruno@clisp.org>
52800
52801         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
52802         for $? to work inside the trap command, with various /bin/sh-s.
52803         * tests/test-vc-list-files-cvs.sh: Likewise.
52804
52805 2008-06-10  Bruno Haible  <bruno@clisp.org>
52806
52807         * lib/acl-internal.h: Don't include gettext.h here.
52808         * lib/set-mode-acl.c: Include gettext.h here.
52809         * lib/copy-acl.c: Likewise.
52810
52811 2008-06-10  Bruno Haible  <bruno@clisp.org>
52812
52813         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52814         * lib/wait-process.c (wait_subprocess): Likewise.
52815         * lib/execute.h (execute): Add termsigp argument.
52816         * lib/execute.c (execute): Likewise.
52817         * lib/csharpcomp.c (compile_csharp_using_pnet,
52818         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52819         * lib/csharpexec.c (execute_csharp_using_pnet,
52820         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52821         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52822         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52823         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52824         is_jikes_present): Update.
52825         * lib/javaexec.c (execute_java_class): Update.
52826         * lib/javaversion.c (execute_and_read_line): Update.
52827         * NEWS: Document the changes.
52828         Reported by Eric Blake.
52829
52830 2008-06-10  Eric Blake  <ebb9@byu.net>
52831
52832         Add missing include.
52833         * tests/test-strstr.c (includes): Add <signal.h>.
52834         * tests/test-strcasestr.c (includes): Likewise.
52835         * tests/test-memmem.c (includes): Likewise.
52836
52837 2008-06-10  Bruno Haible  <bruno@clisp.org>
52838
52839         * lib/wait-process.c (wait_subprocess): Add an assertion.
52840
52841 2008-06-10  Bruno Haible  <bruno@clisp.org>
52842
52843         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52844
52845 2008-06-10  Bruno Haible  <bruno@clisp.org>
52846
52847         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52848         using alarm().
52849         * tests/test-strcasestr.c (main): Likewise.
52850         * tests/test-strstr.c (main): Likewise.
52851
52852 2008-06-09  Bruno Haible  <bruno@clisp.org>
52853
52854         Work around the Solaris 10 ACE ACLs ABI change.
52855         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52856         declare if ACL_NO_TRIVIAL is present.
52857         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52858         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52859         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52860         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52861         define if ACL_NO_TRIVIAL is present.
52862         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52863         and use the current ABI.
52864         (file_has_acl): Use same #if condition as elsewhere.
52865         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52866         in use, and use the current ABI.
52867         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52868         Reported by Jim Meyering.
52869
52870 2008-06-09  Eric Blake  <ebb9@byu.net>
52871
52872         Work around environments that (stupidly) ignore SIGALRM.
52873         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52874         before using alarm().
52875         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52876         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52877         Reported by Ian Beckwith <ianb@erislabs.net>.
52878
52879         Produce autobuild blurb earlier in log.
52880         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52881
52882 2008-06-09  Jim Meyering  <meyering@redhat.com>
52883         and OndÅ™ej Vašík  <ovasik@redhat.com>
52884
52885         utimens.c: correct kernel bug work-around
52886         OndÅ™ej Vašík found that the invalid return value of 280 indicates
52887         failure, not success, and the kernel bug we're trying to work
52888         around affects not just the utimensat call, but also the fallback
52889         futimens call.
52890         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52891         not success.
52892         [HAVE_FUTIMENS]: Use the same work-around, here.
52893
52894 2008-06-09  Jim Meyering  <meyering@redhat.com>
52895
52896         add more guards around definition of ACE_-related code
52897         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52898         ALLOW and ACE_OWNER are also defined.
52899
52900 2008-06-08  Bruno Haible  <bruno@clisp.org>
52901
52902         * lib/acl-internal.h: Add me as co-author.
52903         * lib/file-has-acl.c: Likewise.
52904         * lib/set-mode-acl.c: Likewise.
52905         * lib/copy-acl.c: Likewise.
52906
52907 2008-06-08  Bruno Haible  <bruno@clisp.org>
52908
52909         Add support for AIX ACLs.
52910         * lib/acl-internal.h (acl_nontrivial): New declaration.
52911         * lib/file-has-acl.c (acl_nontrivial): New function.
52912         (file_has_acl): Add implementation using AIX 4 ACL API.
52913         * lib/set-mode-acl.c (qset_acl): Likewise.
52914         * lib/copy-acl.c (qcopy_acl): Likewise.
52915
52916 2008-06-08  Bruno Haible  <bruno@clisp.org>
52917
52918         Add support for HP-UX ACLs.
52919         * lib/acl-internal.h (acl_nontrivial): New declaration.
52920         * lib/file-has-acl.c (acl_nontrivial): New function.
52921         (file_has_acl): Add implementation using HP-UX 11 ACL API.
52922         * lib/set-mode-acl.c (qset_acl): Likewise.
52923         * lib/copy-acl.c (qcopy_acl): Likewise.
52924
52925 2008-06-08  Bruno Haible  <bruno@clisp.org>
52926
52927         Add support for Cygwin ACLs.
52928         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
52929         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
52930         the chmod_or_fchmod call.
52931         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
52932
52933 2008-06-08  Bruno Haible  <bruno@clisp.org>
52934
52935         Fix bug with setuid modes in Solaris 10+ code.
52936         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
52937         succeeded, when the mode contains some special bits.
52938
52939 2008-06-08  Bruno Haible  <bruno@clisp.org>
52940
52941         Add support for Solaris 7..10 ACLs.
52942         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
52943         declarations.
52944         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
52945         functions.
52946         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
52947         * lib/set-mode-acl.c (qset_acl): Likewise.
52948         * lib/copy-acl.c (qcopy_acl): Likewise.
52949
52950 2008-06-08  Bruno Haible  <bruno@clisp.org>
52951
52952         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
52953         declaration.
52954         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
52955         (acl_access_nontrivial): Remove MacOS X case.
52956         (file_has_acl): Use acl_extended_nontrivial.
52957         * lib/copy-acl.c (qcopy_acl): Likewise.
52958
52959 2008-06-08  Bruno Haible  <bruno@clisp.org>
52960
52961         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
52962
52963 2008-06-08  Jim Meyering  <meyering@redhat.com>
52964
52965         * modules/acl (Maintainer): Add Bruno Haible.
52966
52967 2008-06-07  Bruno Haible  <bruno@clisp.org>
52968
52969         Improve support for Tru64 ACLs.
52970         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
52971         ACL on OSF/1.
52972
52973 2008-06-07  Bruno Haible  <bruno@clisp.org>
52974
52975         Add support for MacOS X ACLs.
52976         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
52977         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
52978         * lib/set-mode-acl.c (qset_acl): Likewise.
52979         * lib/copy-acl.c (qcopy_acl): Likewise.
52980
52981 2008-06-07  Bruno Haible  <bruno@clisp.org>
52982
52983         Fix memory leak introduced on 2008-05-22.
52984         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
52985         use.
52986
52987 2008-06-07  Bruno Haible  <bruno@clisp.org>
52988
52989         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
52990         to construct an empty ACL.
52991
52992 2008-06-07  Bruno Haible  <bruno@clisp.org>
52993
52994         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
52995         precisely.
52996         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
52997
52998 2008-06-07  Bruno Haible  <bruno@clisp.org>
52999
53000         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53001         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53002
53003 2008-06-07  Bruno Haible  <bruno@clisp.org>
53004
53005         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53006         regardless of POSIX.
53007         * doc/posix-functions/_longjmp.texi: Likewise.
53008         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53009         SystemV platform in this case.
53010
53011 2008-06-06  Eric Blake  <ebb9@byu.net>
53012
53013         Document abort() bugs.
53014         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53015
53016         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53017         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53018         sigsetjmp.
53019         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53020         siglongjmp, but only as a macro.
53021         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53022         is obsolete.
53023         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53024
53025         Tweak documentation to cover cygwin argz bugs.
53026         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53027         argz bug fix; no code change needed since no cygwin releases
53028         occurred between the last fix and the bug being tested.
53029         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53030         module and recently fixed cygwin bugs.
53031         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53032         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53033         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53034         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53035         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53036         Likewise.
53037         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53038         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53039         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53040         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53041         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53042         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53043         Likewise.
53044
53045         Avoid gcc warning on cygwin.
53046         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53047         !ACL_NO_TRIVIAL]: Avoid unused variable.
53048
53049 2008-06-05  Eric Blake  <ebb9@byu.net>
53050
53051         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53052         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53053         git-version-gen fails to come up with a version.
53054         Reported by Simon Josefsson.
53055
53056 2008-06-05  Jim Meyering  <meyering@redhat.com>
53057             Paul Eggert  <eggert@cs.ucla.edu>
53058
53059         utimens.c: work around a probable Linux kernel bug
53060         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53061         appears to be a kernel bug that causes utimensat to return 280
53062         instead of 0, indicating success.
53063
53064 2008-06-04  Bruno Haible  <bruno@clisp.org>
53065
53066         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53067         2008-06-01 commit.
53068
53069 2008-06-04  Bruno Haible  <bruno@clisp.org>
53070
53071         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53072         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53073         (file_has_acl): Use it. Save errno afterwards.
53074         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53075
53076 2008-06-03  Bruno Haible  <bruno@clisp.org>
53077
53078         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53079         draft code. Simplify #ifs.
53080         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53081         Put Solaris code after POSIX-draft code. Fix comments regarding
53082         Solaris 10, HP-UX. Mention Cygwin.
53083         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53084
53085 2008-06-03  Eric Blake  <ebb9@byu.net>
53086
53087         Provide fallback for older kernels.
53088         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53089         Provide runtime fallback if kernel lacks support.
53090         Reported by Mike Frysinger.
53091
53092 2008-06-02  Bruno Haible  <bruno@clisp.org>
53093
53094         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53095         it exists.
53096
53097 2008-06-02  Bruno Haible  <bruno@clisp.org>
53098
53099         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53100         * lib/copy-acl.c (qcopy_acl): Update comment.
53101
53102 2008-06-02  Bruno Haible  <bruno@clisp.org>
53103
53104         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53105         like ACL APIs.
53106
53107 2008-06-02  Bruno Haible  <bruno@clisp.org>
53108
53109         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53110         * tests/test-set-mode-acl.sh: Likewise.
53111         * tests/test-copy-acl.sh: Likewise.
53112         * tests/test-copy-file.sh: Likewise.
53113
53114 2008-06-02  Bruno Haible  <bruno@clisp.org>
53115
53116         * tests/test-file-has-acl.sh: Remove unused code.
53117
53118 2008-06-01  Bruno Haible  <bruno@clisp.org>
53119
53120         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53121         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53122         messages.
53123         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53124
53125 2008-06-01  Bruno Haible  <bruno@clisp.org>
53126
53127         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53128         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53129         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53130         APIs.
53131         * modules/acl-tests (configure.ac): Remove tests now contained in
53132         m4/acl.m4.
53133
53134 2008-06-02  Jim Meyering  <meyering@redhat.com>
53135
53136         announce-gen: use a better key-server host name
53137         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53138         it may be more consistently reliable.  Suggested by Werner Koch
53139         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53140
53141 2008-06-01  Bruno Haible  <bruno@clisp.org>
53142
53143         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53144         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53145
53146 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53147
53148         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53149
53150 2008-06-01  Bruno Haible  <bruno@clisp.org>
53151
53152         New ACL tests.
53153         * tests/test-file-has-acl.sh: New file.
53154         * tests/test-file-has-acl.c: New file.
53155         * tests/test-set-mode-acl.sh: New file.
53156         * tests/test-set-mode-acl.c: New file.
53157         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53158         * tests/test-copy-acl.c: New file.
53159         * modules/acl-tests: New file, based on modules/copy-file-tests.
53160         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53161         (Depends-on): Add acl-tests.
53162         (configure.ac): Remove checks.
53163         (Makefile.am): Don't create test-sameacls program here any more.
53164
53165 2008-06-01  Bruno Haible  <bruno@clisp.org>
53166
53167         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53168         * tests/test-sameacls.c: Include progname.h.
53169         (main): Invoke set_program_name. Portability fixes for MacOS X,
53170         Solaris, HP-UX.
53171
53172 2008-06-01  Bruno Haible  <bruno@clisp.org>
53173
53174         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53175         function.
53176         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53177
53178 2008-06-01  Bruno Haible  <bruno@clisp.org>
53179
53180         * modules/rpmatch (Depends-on): Add strdup.
53181
53182 2008-06-01  Bruno Haible  <bruno@clisp.org>
53183
53184         * lib/pipe.c: Include unistd-safer.h.
53185         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53186         * modules/pipe (Depends-on): Add unistd-safer.
53187
53188 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53189
53190         * modules/autobuild (configure.ac): Call AB_INIT.
53191
53192 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53193
53194         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53195         Suggested by Bruno Haible <bruno@clisp.org>.
53196
53197 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53198
53199         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53200         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53201         <bruno@clisp.org>.
53202
53203 2008-05-29  Eric Blake  <ebb9@byu.net>
53204
53205         Prefer new POSIX 200x interfaces over futimesat.
53206         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53207         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53208         when available.
53209         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53210
53211 2008-05-28  Bruno Haible  <bruno@clisp.org>
53212
53213         * modules/stpcpy (License): Change to LGPLv2+.
53214         Requested by David Lutterkort <dlutter@redhat.com>.
53215
53216 2008-05-27  Bruno Haible  <bruno@clisp.org>
53217
53218         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53219         current mingw.
53220         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53221
53222 2008-05-27  Bruno Haible  <bruno@clisp.org>
53223
53224         * modules/iconv_open (Link): New section, from module 'iconv'.
53225         * modules/striconv (Link): Likewise.
53226         * modules/striconveh (Link): Likewise.
53227         * modules/xstriconv (Link): Likewise.
53228         * modules/unicodeio (Link): Likewise.
53229         * modules/propername (Link): Likewise.
53230         Reported by Jim Meyering.
53231
53232 2008-05-26  Jim Meyering  <meyering@redhat.com>
53233
53234         sha256: do not artificially restrict buffer length to be < 2^32
53235         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53236         uint32_t to size_t.
53237         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53238         to match.
53239
53240         avoid unaligned access errors, e.g., on sparc
53241         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53242         direct access through a possibly-unaligned uint64* pointer.
53243         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53244         direct access through a possibly-unaligned uint32* pointer.
53245         Prompted by this patch from Tom "spot" Callaway:
53246         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53247
53248         sha512.c: fix typo in comment
53249         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53250
53251 2008-05-25  Bruno Haible  <bruno@clisp.org>
53252
53253         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53254         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53255         (Makefile.am): Update lib_SOURCES.
53256
53257 2008-05-25  Bruno Haible  <bruno@clisp.org>
53258
53259         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53260
53261 2008-05-25  Jim Meyering  <meyering@redhat.com>
53262
53263         useless-if-before-free: freed expr may have white-space differences
53264         * build-aux/useless-if-before-free: Recognize cases in which the
53265         freed expression differs from the tested one in embedded white
53266         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53267         $1 was used, so we can't make any regexp shy.  Improved tests now
53268         detect this.
53269
53270         useless-if-before-free: accept white space in the expression.
53271         * build-aux/useless-if-before-free: For now, any white space
53272         in the expression must be identical in the free argument.
53273
53274         useless-if-before-free: efficiency tweak
53275         * build-aux/useless-if-before-free: Make the expression-matching
53276         regexp "shy".
53277         Make the *outer* regexp shy, not the expr-matching one.
53278
53279         update code-in-comment to accept cast of free arg
53280         * build-aux/useless-if-before-free: Update regexp.
53281
53282 2008-05-25  Bruno Haible  <bruno@clisp.org>
53283
53284         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53285         * modules/copy-file-tests (Files, Makefile.am): Update.
53286         * tests/test-copy-file.c (func_test_copy): Update.
53287
53288 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53289
53290         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53291
53292 2008-05-23  Bruno Haible  <bruno@clisp.org>
53293
53294         Improve support for ACLs on OSF/1.
53295         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53296         Remove fallback for unknown flavors of ACLs.
53297
53298 2008-05-22  Bruno Haible  <bruno@clisp.org>
53299
53300         Add support for ACLs on OSF/1.
53301         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53302         replacements.
53303         (acl_free_text): New macro fallback.
53304         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53305         acl_free.
53306         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53307         acl_free_text function. Require AC_C_INLINE.
53308
53309 2008-05-22  Bruno Haible  <bruno@clisp.org>
53310
53311         Make copy_acl work on MacOS X 10.5.
53312         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53313         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53314         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53315         If MODE_INSIDE_ACL, don't assume that every system has the same text
53316         representation for ACLs as FreeBSD.
53317         * lib/copy-acl.c (copy_acl): Add support for platforms with
53318         !MODE_INSIDE_ACL.
53319         * lib/file-has-acl.c (file_has_acl): Likewise.
53320         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53321         FreeBSD, MacOS X, or IRIX, respectively.
53322
53323 2008-05-22  Bruno Haible  <bruno@clisp.org>
53324
53325         * lib/acl.h: Don't include <sys/acl.h>.
53326         (GETACLCNT): Move fallback to lib/acl-internal.h.
53327         * lib/acl-internal.h: Include <sys/acl.h> here.
53328         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53329
53330 2008-05-22  Bruno Haible  <bruno@clisp.org>
53331
53332         Split off copy_acl function to separate file.
53333         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53334         * lib/acl.c (copy_acl): Moved function to separate file.
53335         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53336         * modules/acl (Files): Add lib/copy-acl.c.
53337         (Makefiles.am): Augment lib_SOURCES.
53338
53339 2008-05-22  Bruno Haible  <bruno@clisp.org>
53340
53341         * modules/copy-file-tests: New file.
53342         * tests/test-copy-file.sh: New file.
53343         * tests/test-copy-file.c: New file.
53344         * tests/test-copy-file-sameacls.c: New file.
53345
53346 2008-05-22  Eric Blake  <ebb9@byu.net>
53347
53348         Avoid gcc warning.
53349         * tests/test-memcmp.c (main): Pass NULL indirectly.
53350
53351 2008-05-21  Bruno Haible  <bruno@clisp.org>
53352
53353         Add reference doc about ACLs.
53354         * doc/acl-resources.txt: New file.
53355         * doc/acl-cygwin.txt: New file.
53356
53357 2008-05-21  Bruno Haible  <bruno@clisp.org>
53358
53359         Avoid one more warning from gcc.
53360         * lib/vasnprintf.c (IF_LINT): Update comments.
53361         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53362
53363 2008-05-21  Jim Meyering  <meyering@redhat.com>
53364
53365         avoid a warning from gcc
53366         * lib/vasnprintf.c (IF_LINT): Define.
53367         (scale10_round_decimal_long_double):
53368         Use it to avoid a "may be used uninitialized" warning.
53369         (scale10_round_decimal_double): Likewise.
53370
53371 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53372
53373         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53374         declared.
53375
53376 2008-05-20  Bruno Haible  <bruno@clisp.org>
53377
53378         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53379         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53380
53381 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53382
53383         * modules/memcmp-tests: New file.
53384         * tests/test-memcmp.c: New file.
53385
53386 2008-05-19  Bruno Haible  <bruno@clisp.org>
53387
53388         * modules/propername (Notice, configure.ac): Put quoted "..." into
53389         --keyword option.
53390         * lib/propername.h: Update comments accordingly.
53391         Reported by Eric Blake.
53392
53393 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53394
53395         * modules/getpass-gnu (Depends-on): Add fseeko.
53396
53397 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53398
53399         * modules/base64-tests: New file.
53400
53401 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53402
53403         * lib/base64.c (base64_decode_ctx): If a decode context structure
53404         was passed in use it to ignore newlines.  If a context structure
53405         was _not_ passed in, continue to treat newlines as garbage (this
53406         is the historical behavior).  Formerly base64_decode.
53407         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53408         takes a decode context structure.
53409         * lib/base64.h (base64_decode): Macro for four-argument calls.
53410         (base64_decode_alloc): Likewise.
53411         * lib/base64.c (base64_decode_ctx): If a decode context structure
53412         was passed in use it to ignore newlines.  If a context structure
53413         was _not_ passed in, continue to treat newlines as garbage (this
53414         is the historical behavior).  Formerly base64_decode.
53415         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53416         takes a decode context structure.
53417         * lib/base64.h (base64_decode): Macro for four-argument calls.
53418         (base64_decode_alloc): Likewise.
53419
53420 2008-05-19  Jim Meyering  <meyering@redhat.com>
53421
53422         avoid a warning from gcc
53423         * lib/trim.c (IF_LINT): Define.
53424         (trim2): Use it to avoid a "may be used uninitialized" warning.
53425
53426         Fix doc typo.
53427         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53428
53429 2008-05-19  Bruno Haible  <bruno@clisp.org>
53430
53431         * doc/glibc-functions/getpass.texi: Document limits of other
53432         implementations.
53433
53434 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53435             Bruno Haible <bruno@clisp.org>
53436
53437         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53438
53439 2008-05-18  Bruno Haible  <bruno@clisp.org>
53440
53441         * modules/propername: New file, from GNU gettext.
53442         * lib/propername.h: New file, from GNU gettext.
53443         * lib/propername.c: New file, from GNU gettext.
53444         * MODULES.html.sh (Internationalization functions): Add propername.
53445
53446 2008-05-16  Jim Meyering  <meyering@redhat.com>
53447             Bruno Haible  <bruno@clisp.org>
53448
53449         Avoid some warnings from "gcc -Wshadow".
53450         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53451
53452 2008-05-15  Eric Blake  <ebb9@byu.net>
53453
53454         Extend previous patch to cygwin 1.7.0.
53455         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53456         fast implementation in cygwin >= 1.7.0.
53457         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53458         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53459
53460 2008-05-15  Bruno Haible  <bruno@clisp.org>
53461
53462         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53463         implementation in glibc >= 2.9.
53464         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53465         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53466
53467 2008-05-15  Bruno Haible  <bruno@clisp.org>
53468
53469         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53470         (Unicode string functions): Add unilbrk/*.
53471         Reported by Karl Berry.
53472
53473 2008-05-15  Eric Blake  <ebb9@byu.net>
53474
53475         Fix violation of <stdbool.h> replacement in regex.
53476         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53477         * lib/regexec.c (re_search_internal): Likewise.
53478         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53479
53480 2008-05-15  Jim Meyering  <meyering@redhat.com>
53481
53482         avoid distracting test output when git or cvs is not found
53483         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53484         * tests/test-vc-list-files-git.sh: Likewise.
53485
53486 2008-05-15  Eric Blake  <ebb9@byu.net>
53487
53488         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53489         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53490         glibc version.
53491         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53492         * doc/posix-functions/strstr.texi (strstr): Likewise.
53493         * lib/str-two-way.h (MAX): Sychronize with glibc.
53494
53495 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53496
53497         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53498         opr.ctx_type.
53499         (calc_first): Initialize constraint field.
53500         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53501         Fix grammar.
53502         (duplicate_node): Merge constraint field for all node types.
53503         (calc_eclosure_iter): Look at constraint field for all node types.
53504         * lib/regex_internal.c (create_cd_newstate): Don't look at
53505         opr.ctx_type.
53506
53507 2008-05-14  Bruno Haible  <bruno@clisp.org>
53508
53509         Help GCC to do better code generation.
53510         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53511         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53512         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53513         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53514         Declare with attribute 'malloc' if supported.
53515
53516 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53517
53518         use "echo STR|wc -c" rather than unportable "expr length STR"
53519         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53520         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53521
53522 2008-05-14  Jim Meyering  <meyering@redhat.com>
53523
53524         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53525         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53526         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53527         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53528         via Collin Lasse.
53529
53530 2008-05-14  Eric Blake  <ebb9@byu.net>
53531
53532         Avoid quadratic growth in gl_LIBSOURCES.
53533         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53534         Suggested by Bruno Haible.
53535
53536         Test xmemdup0.
53537         * modules/xmemdup0-tests: New file.
53538         * tests/test-xmemdup0.c: Likewise.
53539
53540 2008-05-13  Eric Blake  <ebb9@byu.net>
53541
53542         Split xmemdup0 into its own module.
53543         * modules/xmemdup0: New file.
53544         * lib/xmemdup0.h: Likewise.
53545         * lib/xmemdup0.c: Likewise.
53546         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53547         * lib/xalloc.h (xmemdup0): Remove.
53548         * lib/xmalloc.c (xmemdup0): Likewise.
53549
53550 2008-05-13  Eric Blake  <ebb9@byu.net>
53551             Bruno Haible  <bruno@clisp.org>
53552
53553         Reduce number of forks required during autoconf.
53554         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53555         and gl_LIBSOURCES_DIR.
53556         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53557         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53558         m4_syscmd per file.
53559         <m4_foreach_w>: Move...
53560         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53561
53562 2008-05-13  Eric Blake  <ebb9@byu.net>
53563
53564         * gnulib-tool: Fix various comment typos.
53565
53566 2008-05-12  Bruno Haible  <bruno@clisp.org>
53567
53568         Tailor the linebreaking algorithm.
53569         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53570
53571 2008-05-12  Bruno Haible  <bruno@clisp.org>
53572
53573         Update to Unicode 5.0.0.
53574         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53575         LBP_JV, LBP_JT. Redistribute values.
53576         (unilbrk_table): Change size.
53577         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53578         Unicode TR#14 rev. 22.
53579         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53580         LBP_JV, LBP_JT. Redistribute values.
53581         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53582         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53583         Update.
53584         * lib/unilbrk/lbrkprop1.h: Regenerated.
53585         * lib/unilbrk/lbrkprop2.h: Regenerated.
53586         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53587         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53588         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53589         Likewise.
53590         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53591         Likewise.
53592         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53593         result.
53594         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53595         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53596         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53597         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53598         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53599         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53600
53601 2008-05-11  Bruno Haible  <bruno@clisp.org>
53602
53603         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53604
53605 2008-05-11  Bruno Haible  <bruno@clisp.org>
53606
53607         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53608         * modules/unilbrk/gen-lbrk: New file.
53609
53610 2008-05-11  Bruno Haible  <bruno@clisp.org>
53611
53612         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53613         * m4/sha512.m4 (gl_SHA512): Likewise.
53614
53615 2008-05-11  Jim Meyering  <meyering@redhat.com>
53616
53617         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53618         * modules/crypto/sha256: New file.
53619         * modules/crypto/sha512: Likewise.
53620         * lib/sha256.c: Likewise.
53621         * lib/sha256.h: Likewise.
53622         * lib/sha512.c: Likewise.
53623         * lib/sha512.h: Likewise.
53624         * lib/u64.h: Likewise.
53625         * m4/sha256.m4: Likewise.
53626         * m4/sha512.m4: Likewise.
53627         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53628
53629 2008-05-10  Bruno Haible  <bruno@clisp.org>
53630
53631         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53632         (Input/Output <stdio.h>): Add xprintf.
53633         (Signal handling <signal.h>): Add strsignal.
53634         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53635         (Core language properties): Add func.
53636         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53637         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53638         strings.
53639         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53640         (Input/output): New section.
53641         (File system functions): Add openat-die, stat-macros.
53642         (Networking functions): Add sockets.
53643         (Unicode string functions): Add unictype/*.
53644         (Support for building libraries and executables): Add gperf.
53645         (Support for building documentation): Add agpl-3.0.
53646         (Misc): Add nocrash.
53647
53648 2008-05-10  Bruno Haible  <bruno@clisp.org>
53649
53650         * modules/unictype/gen-ctype: New file.
53651
53652 2008-05-10  Jim Meyering  <meyering@redhat.com>
53653
53654         Make chdir-safer.c more efficient on a system with no symlinks.
53655         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53656         also if ELOOP is zero.  Suggested by Bruno Haible.
53657
53658         Make chdir-safer.c slightly safer.
53659         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53660         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53661
53662         Avoid compile failure on systems without ELOOP (like mingw).
53663         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53664         Reported by Bruno Haible.
53665
53666 2008-05-10  Bruno Haible  <bruno@clisp.org>
53667
53668         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53669         (is_utf8_encoding): Use a case-insensitive comparison.
53670         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53671         streq.
53672
53673 2008-05-10  Bruno Haible  <bruno@clisp.org>
53674
53675         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53676         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53677         * lib/unilbrk/ulc-common.h (iconv_string_length,
53678         iconv_string_keeping_offsets): Remove declarations.
53679         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53680         Don't include <iconv.h>, streq.h, xsize.h.
53681         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53682         conversion.
53683         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53684         <iconv.h>, streq.h, xsize.h.
53685         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53686         conversion.
53687         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53688         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53689         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53690         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53691
53692 2008-05-10  Bruno Haible  <bruno@clisp.org>
53693
53694         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53695         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53696
53697         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53698         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53699
53700         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53701         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53702
53703         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53704         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53705
53706         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53707         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53708
53709         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53710         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53711
53712         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53713         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53714
53715         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53716         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53717
53718 2008-05-10  Bruno Haible  <bruno@clisp.org>
53719
53720         Split up 'linebreak' module.
53721         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53722         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53723         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53724         modifications.
53725         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53726         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53727         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53728         lib/linebreak.c.
53729         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53730         lib/linebreak.c.
53731         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53732         lib/linebreak.c.
53733         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53734         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53735         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53736         lib/linebreak.c.
53737         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53738         lib/linebreak.c.
53739         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53740         lib/linebreak.c.
53741         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53742         lib/linebreak.c.
53743         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53744         lib/linebreak.c.
53745         * modules/unilbrk/base: New file.
53746         * modules/unilbrk/tables: New file.
53747         * modules/unilbrk/u8-possible-linebreaks: New file.
53748         * modules/unilbrk/u16-possible-linebreaks: New file.
53749         * modules/unilbrk/u32-possible-linebreaks: New file.
53750         * modules/unilbrk/ulc-common: New file.
53751         * modules/unilbrk/ulc-possible-linebreaks: New file.
53752         * modules/unilbrk/u8-width-linebreaks: New file.
53753         * modules/unilbrk/u16-width-linebreaks: New file.
53754         * modules/unilbrk/u32-width-linebreaks: New file.
53755         * modules/unilbrk/ulc-width-linebreaks: New file.
53756         * lib/linebreak.h: Remove file.
53757         * lib/linebreak.c: Remove file.
53758         * m4/linebreak.m4: Remove file.
53759         * modules/linebreak: Remove file.
53760         * NEWS: Mention the changes.
53761
53762 2008-05-09  Eric Blake  <ebb9@byu.net>
53763
53764         Add xmemdup0.
53765         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53766         implementation.
53767         * lib/xmalloc.c (xmemdup0): New C implementation.
53768
53769 2008-05-08  Bruno Haible  <bruno@clisp.org>
53770
53771         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53772
53773 2008-05-07  Eric Blake  <ebb9@byu.net>
53774
53775         Support cross-compilation of <wctype.h>.
53776         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53777         AC_CACHE_CHECK.
53778
53779 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53780
53781         * build-aux/vc-list-files: Add support for bzr.
53782
53783 2008-05-03  Jim Meyering  <meyering@redhat.com>
53784
53785         avoid failed assertion with tight malloc
53786         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53787
53788 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53789
53790         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53791         are needed from arpa/inet.h.
53792         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53793         Reported by Bruno Haible.
53794
53795 2008-05-02  Jim Meyering  <meyering@redhat.com>
53796
53797         avoid compilation error on FreeBSD 6
53798         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
53799
53800 2008-05-01  Jim Meyering  <meyering@redhat.com>
53801
53802         useless-if-before-free: correct --help's exit status description
53803         * build-aux/useless-if-before-free (usage): Like grep, exit 0
53804         for one or more matches, etc.  Reported by Bruno Haible.
53805
53806         vc-list-files: make the stand-alone gnulib test work
53807         * modules/vc-list-files-tests (configure.ac):
53808         Define and AC_SUBST abs_aux_dir.
53809         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
53810         $(abs_top_srcdir) to each script and having each of them
53811         duplicate the work of setting PATH, set PATH here, using
53812         the new variable, abs_aux_dir instead.
53813         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53814         * tests/test-vc-list-files-git.sh: Likewise.
53815         Reported by Bruno Haible.
53816
53817 2008-05-01  Bruno Haible  <bruno@clisp.org>
53818
53819         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53820         reallocation. Rename 'done' to 'found_delimiter'.
53821
53822 2008-05-01  Jim Meyering  <meyering@redhat.com>
53823
53824         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53825         * build-aux/vc-list-files: Use `...`, not $(...).
53826
53827 2008-04-30  Jim Meyering  <meyering@redhat.com>
53828
53829         add tests for vc-list-files
53830         * modules/vc-list-files-tests: New module.
53831         * tests/test-vc-list-files-cvs.sh: New file.
53832         * tests/test-vc-list-files-git.sh: New file.
53833
53834         avoid a warning from gcc
53835         * lib/getndelim2.c (IF_LINT): Define.
53836         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53837
53838         vc-list-files: work properly with build-aux/cvsu, too
53839         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53840         to all cvs-based clauses.
53841
53842         vc-list-files: work properly in the CVS+awk case, too
53843         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53844
53845         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53846         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53847         take more than one file argument, so .  Add quotes, just in case $dir
53848         ever contains a shell meta-character.  Prompted by Soren Hansen in
53849         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53850
53851 2008-04-29  Eric Blake  <ebb9@byu.net>
53852
53853         Optimize getndelim2 to use block operations when possible.
53854         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53855         freadseek, and memchr2.
53856         * lib/getndelim2.c (getndelim2): Use them for block reads.
53857
53858 2008-04-29  Bruno Haible  <bruno@clisp.org>
53859
53860         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53861         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53862         * modules/inet_ntop (Depends-on): Add extensions.
53863         * modules/inet_pton (Depends-on): Likewise.
53864         Reported by Simon Josefsson.
53865
53866 2008-04-29  Jim Meyering  <meyering@redhat.com>
53867
53868         When the is more than one match in a block, match all of them.
53869         * build-aux/useless-if-before-free: Iterate through each block
53870         until there are no more matches.
53871
53872         Fix broken useless-if-before-free script.
53873         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53874         the expression to match cast of argument to free-like function.
53875
53876 2008-04-29  Eric Blake  <ebb9@byu.net>
53877
53878         Use new header.
53879         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53880
53881 2008-04-29  Jim Meyering  <meyering@redhat.com>
53882
53883         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53884         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53885         by gnulib to exist and to declare e.g., inet_ntop.
53886         Don't include "inet_ntop.h", now removed.
53887
53888         * m4/arpa_inet_h.m4: Remove trailing blanks.
53889
53890 2008-04-29  Eric Blake  <ebb9@byu.net>
53891
53892         Silence valgrind on safe reads beyond potential array bounds.
53893         * lib/rawmemchr.valgrind: New file.
53894         * lib/strchrnul.valgrind: Likewise.
53895         * modules/rawmemchr (Files): Distribute new file.
53896         * modules/strchrnul (Files): Likewise.
53897         Suggested by Bruno Haible.
53898
53899 2008-04-29  Bruno Haible  <bruno@clisp.org>
53900
53901         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53902         (inet_ntop, inet_pton): Change portability warning's wording.
53903         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53904         Invoke gl_CHECK_NEXT_HEADERS.
53905         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53906         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53907         set ARPA_INET_H.
53908         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53909         * modules/arpa_inet (Description): No longer only for systems that
53910         lack it.
53911         (Depends-on): Add include_next.
53912         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53913         HAVE_ARPA_INET_H.
53914
53915 2008-04-29  Jim Meyering  <meyering@redhat.com>
53916
53917         * modules/mkdir (License): Re-license as LGPLv2+.
53918
53919 2008-04-29  Bruno Haible  <bruno@clisp.org>
53920
53921         * modules/rawmemchr (Maintainer): Set to Eric.
53922         * modules/strchrnul (Maintainer): Likewise.
53923
53924 2008-04-29  Simon Josefsson  <simon@josefsson.org>
53925
53926         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
53927         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
53928
53929         * modules/arpa_inet (arpa/inet.h): Use them.
53930
53931 2008-04-28  Eric Blake  <ebb9@byu.net>
53932
53933         Test getndelim2.
53934         * modules/getndelim2-tests: New file.
53935         * tests/test-getndelim2.c: Likewise.
53936         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
53937         stream.
53938         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
53939
53940         * MODULES.html.sh: Document new module.
53941
53942 2008-04-20  Bruno Haible  <bruno@clisp.org>
53943
53944         * lib/c-stack.c (die): Use raise.
53945         * modules/c-stack (Depends-on): Add raise.
53946
53947 2008-04-28  Bruno Haible  <bruno@clisp.org>
53948
53949         Expect rpmatch to be declared.
53950         * lib/yesno.c (rpmatch): Remove declaration.
53951
53952         Declare rpmatch.
53953         * lib/stdlib.in.h (rpmatch): New declaration.
53954         * lib/rpmatch.c: Include <stdlib.h> first.
53955         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
53956         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
53957         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
53958         HAVE_RPMATCH.
53959         * modules/rpmatch (Depends-on): Add stdlib, extensions.
53960         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53961         (Include): Set to <stdlib.h>.
53962         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
53963         HAVE_RPMATCH.
53964         * NEWS: Document the change.
53965
53966 2008-04-28  Bruno Haible  <bruno@clisp.org>
53967
53968         Change rpmatch to use nl_langinfo when appropriate.
53969         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
53970         (N_): New macro.
53971         (localized_pattern): New function/macro.
53972         (try): Remove match, nomatch arguments. Copy the pattern into safe
53973         memory before caching it.
53974         (rpmatch): Use localized_pattern. Add translator comments.
53975         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
53976         Suggested by Eric Blake.
53977         * modules/rpmatch (Depends-on): Add stdbool.
53978
53979 2008-04-28  Eric Blake  <ebb9@byu.net>
53980
53981         Add rawmemchr module, matching glibc.
53982         * modules/string (Makefile.am): New indicator.
53983         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
53984         * lib/string.in.h (rawmemchr): Declare when appropriate.
53985         * modules/rawmemchr: New file.
53986         * m4/rawmemchr.m4: Likewise.
53987         * lib/rawmemchr.c: Likewise.
53988         * modules/rawmemchr-tests: Likewise.
53989         * tests/test-rawmemchr.c: Likewise.
53990         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
53991         module.
53992         * modules/strchrnul (Depends-on): Add rawmemchr.
53993         * lib/strchrnul.c (strchrnul): Optimize a corner case.
53994
53995         Whitespace cleanup.
53996         * tests/test-strchrnul.c: Reindent.
53997         * lib/strchrnul.c: Likewise.
53998
53999         Optimize and test strchrnul.
54000         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54001         * modules/strchrnul-tests: New file.
54002         * tests/test-strchrnul.c: Likewise.
54003
54004         Remove intprops dependency.
54005         * modules/memchr (Depends-on): Remove intprops.
54006         * modules/memrchr (Depends-on): Likewise.
54007         * modules/memchr2 (Depends-on): Likewise.
54008         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54009         * lib/memrchr.c (__memrchr): Likewise.
54010         * lib/memrchr2.c (memchr2): Likewise.
54011         Reported by Simon Josefsson.
54012
54013 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54014
54015         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54016         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54017
54018 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54019
54020         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54021
54022         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54023
54024         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54025
54026         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54027         declarations.
54028         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54029
54030         * m4/inet_pton.m4: Don't check for header files.
54031
54032         * m4/inet_ntop.m4: Don't check for header files.
54033
54034 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54035
54036         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54037         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54038         trigger for cygwin).
54039         Reported by Bruno Haible  <bruno@clisp.org>.
54040
54041 2008-04-28  Bruno Haible  <bruno@clisp.org>
54042
54043         * doc/posix-functions/strdup.texi: Mention mingw problem.
54044
54045 2008-04-27  Bruno Haible  <bruno@clisp.org>
54046
54047         * modules/stat-time-tests (Depends-on): Add sleep.
54048         * tests/test-stat-time.c (force_unlink): New function.
54049         (cleanup): Use it.
54050         (test_mtime): Remove the ctime related tests.
54051         (test_ctime): New function, containing the ctime related tests.
54052         (main): Call test_ctime, except on native Windows platforms.
54053
54054 2008-04-27  Bruno Haible  <bruno@clisp.org>
54055
54056         * lib/rpmatch.c (rpmatch): Add some comments.
54057         Reported by James Youngman <jay@gnu.org>.
54058
54059 2008-04-27  Bruno Haible  <bruno@clisp.org>
54060
54061         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54062         quiet NaNs.
54063
54064 2008-04-27  Bruno Haible  <bruno@clisp.org>
54065
54066         Make test-yesno.sh work on mingw.
54067         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54068         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54069         (main): Set stdin to binary mode.
54070         * modules/yesno-tests (Depends-on): Add binary-io.
54071
54072 2008-04-27  Bruno Haible  <bruno@clisp.org>
54073
54074         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54075         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54076         argument that lie outside the IEEE 854 domain.
54077         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54078         (gl_ISFINITE): Use it.
54079         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54080
54081 2008-04-27  Bruno Haible  <bruno@clisp.org>
54082
54083         Allow local renaming in config.h.
54084         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54085
54086 2008-04-27  Bruno Haible  <bruno@clisp.org>
54087
54088         * lib/memchr.c (__memchr): Change type of 'i'.
54089         * lib/memchr2.c (memchr2): Likewise.
54090
54091 2008-04-26  Eric Blake  <ebb9@byu.net>
54092         and Bruno Haible  <bruno@clisp.org>
54093
54094         Optimize and test memrchr.
54095         * modules/memrchr (Depends-on): Add intprops.
54096         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54097         * modules/memrchr-tests: New file.
54098         * tests/test-memrchr.c: New file.
54099
54100 2008-04-26  Bruno Haible  <bruno@clisp.org>
54101
54102         Add tentative support for DragonFly BSD.
54103         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54104         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54105         fp.
54106         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54107         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54108         * lib/fpurge.c (fpurge): Likewise.
54109         * lib/freadable.c (freaadable): Likewise.
54110         * lib/freadahead.c (freadahead): Likewise.
54111         * lib/freading.c (freading): Likewise.
54112         * lib/freadptr.c (freadptr): Likewise.
54113         * lib/freadseek.c (freadptrinc): Likewise.
54114         * lib/fseeko.c (fseeko): Likewise.
54115         * lib/fseterr.c (fseterr): Likewise.
54116         * lib/fwritable.c (fwritable): Likewise.
54117         * lib/fwriting.c (fwriting): Likewise.
54118
54119 2008-04-26  Bruno Haible  <bruno@clisp.org>
54120
54121         * lib/stdio-impl.h: New file.
54122         * lib/fbufmode.c: Include stdio-impl.h.
54123         (fbufmode): Use fp_, remove redundant #defines.
54124         * lib/fflush.c: Include stdio-impl.h.
54125         (clear_ungetc_buffer): Remove redundant #defines.
54126         * lib/fpurge.c: Include stdio-impl.h.
54127         (fpurge): Remove redundant #defines.
54128         * lib/freadable.c: Include stdio-impl.h.
54129         (freadable): Remove redundant #defines.
54130         * lib/freadahead.c: Include stdio-impl.h.
54131         (freadahead): Remove redundant #defines.
54132         * lib/freading.c: Include stdio-impl.h.
54133         (freading): Remove redundant #defines.
54134         * lib/freadptr.c: Include stdio-impl.h.
54135         (freadptr): Remove redundant #defines.
54136         * lib/freadseek.c: Include stdio-impl.h.
54137         (freadptrinc): Remove redundant #defines.
54138         * lib/fseeko.c: Include stdio-impl.h.
54139         (rpl_fseeko): Remove redundant #defines.
54140         * lib/fseterr.c: Include stdio-impl.h.
54141         (fseterr): Remove redundant #defines.
54142         * lib/fwritable.c: Include stdio-impl.h.
54143         (fwritable: Remove redundant #defines.
54144         * lib/fwriting.c: Include stdio-impl.h.
54145         (fwriting): Remove redundant #defines.
54146         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54147         * modules/fflush (Files): Likewise.
54148         * modules/fpurge (Files): Likewise.
54149         * modules/freadable (Files): Likewise.
54150         * modules/freadahead (Files): Likewise.
54151         * modules/freading (Files): Likewise.
54152         * modules/freadptr (Files): Likewise.
54153         * modules/freadseek (Files): Likewise.
54154         * modules/fseeko (Files): Likewise.
54155         * modules/fseterr (Files): Likewise.
54156         * modules/fwritable (Files): Likewise.
54157         * modules/fwriting (Files): Likewise.
54158
54159 2008-04-26  Bruno Haible  <bruno@clisp.org>
54160
54161         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54162         restore_seek_optimization, update_fpos_cache): New functions, extracted
54163         from rpl_fflush.
54164         (rpl_fflush): Use them.
54165         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54166         (gl_REPLACE_FFLUSH): Use it.
54167
54168 2008-04-26  Bruno Haible  <bruno@clisp.org>
54169
54170         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54171         on Solaris.
54172         * tests/test-xstrtoimax.sh: Likewise.
54173         * tests/test-xstrtoumax.sh: Likewise.
54174         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54175
54176 2008-04-26  Bruno Haible  <bruno@clisp.org>
54177
54178         * modules/memchr-tests: New file.
54179         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54180
54181 2008-04-26  Eric Blake  <ebb9@byu.net>
54182             Bruno Haible  <bruno@clisp.org>
54183
54184         * lib/memchr.c: Include intprops.h.
54185         (__memchr): Optimize parallel detection of matching bytes. Rename local
54186         variables. Add explanatory comments.
54187
54188 2008-04-26  Bruno Haible  <bruno@clisp.org>
54189
54190         Fix module 'memchr', broken since 2000-10-28.
54191         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54192
54193 2008-04-26  Bruno Haible  <bruno@clisp.org>
54194
54195         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54196         comments.
54197
54198 2008-04-25  Eric Blake  <ebb9@byu.net>
54199
54200         Use native fstatat on cygwin 1.7.0.
54201         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54202         first.
54203
54204 2008-04-23  Eric Blake  <ebb9@byu.net>
54205
54206         Improve memchr2 performance.
54207         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54208         NUL bytes.
54209         * modules/memchr2 (Depends-on): Use intprops.h.
54210
54211 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54212
54213         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54214         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54215         <blp@cs.stanford.edu>.
54216
54217 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54218
54219         * lib/arpa_inet.in.h: New file.
54220
54221         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54222         (Makefile.am): Sed in substitute header file.
54223
54224         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54225         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54226
54227         * modules/inet_ntop (configure.ac): Use
54228         gl_ARPA_INET_MODULE_INDICATOR.
54229
54230         * modules/inet_pton (configure.ac): Use
54231         gl_ARPA_INET_MODULE_INDICATOR.
54232
54233 2008-04-22  Jim Meyering  <meyering@redhat.com>
54234
54235         * modules/verify (License): Re-license as LGPLv2+.
54236
54237 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54238
54239         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54240         parameter to void* as per POSIX standard (MinGW uses char*).
54241
54242 2008-04-21  Bruno Haible  <bruno@clisp.org>
54243
54244         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54245         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54246         Define to replacements if REPLACE_ISWCNTRL is 1.
54247         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54248         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54249         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54250         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54251         what it fixes.
54252         * doc/posix-functions/iswalpha.texi: Likewise.
54253         * doc/posix-functions/iswblank.texi: Likewise.
54254         * doc/posix-functions/iswcntrl.texi: Likewise.
54255         * doc/posix-functions/iswdigit.texi: Likewise.
54256         * doc/posix-functions/iswgraph.texi: Likewise.
54257         * doc/posix-functions/iswlower.texi: Likewise.
54258         * doc/posix-functions/iswprint.texi: Likewise.
54259         * doc/posix-functions/iswpunct.texi: Likewise.
54260         * doc/posix-functions/iswspace.texi: Likewise.
54261         * doc/posix-functions/iswupper.texi: Likewise.
54262         * doc/posix-functions/iswxdigit.texi: Likewise.
54263         Reported by Alain Guibert.
54264
54265 2008-04-21  Bruno Haible  <bruno@clisp.org>
54266
54267         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54268         Patch by Alain Guibert.
54269
54270 2008-04-21  Bruno Haible  <bruno@clisp.org>
54271
54272         Fix test failures on mingw.
54273         * tests/test-xstrtol.c (print_no_progname): New function.
54274         (main): Install it in error_print_progname hook.
54275         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54276         * tests/test-xstrtoimax.sh: Likewise.
54277         * tests/test-xstrtoumax.sh: Likewise.
54278
54279 2008-04-21  Bruno Haible  <bruno@clisp.org>
54280
54281         Fix test failure on mingw.
54282         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54283
54284 2008-04-21  Bruno Haible  <bruno@clisp.org>
54285
54286         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54287         Actually assign a value.
54288
54289 2008-04-20  Bruno Haible  <bruno@clisp.org>
54290
54291         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54292         take 2.
54293         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54294         'canonicalize-lgpl' module is also used.
54295         * lib/canonicalize-lgpl.c: Undo last change.
54296         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54297
54298 2008-04-20  Bruno Haible  <bruno@clisp.org>
54299
54300         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54301         config.h. Provide _mkdir based fallback for mingw.
54302         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54303         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54304         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54305         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54306         rather than defining mkdir in config.h.
54307         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54308         (gl_SYS_STAT_H_DEFAULTS): New macro.
54309         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54310         HAVE_IO_H any more.
54311         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54312         HAVE_DECL_MKDIR and HAVE_IO_H.
54313
54314 2008-04-20  Bruno Haible  <bruno@clisp.org>
54315
54316         * lib/isapipe.c: Port to native Windows platforms.
54317
54318 2008-04-20  Bruno Haible  <bruno@clisp.org>
54319
54320         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54321
54322 2008-04-21  Eric Blake  <ebb9@byu.net>
54323
54324         Work around preprocessors that don't handle UINTMAX_MAX.
54325         * lib/memchr2.c (memchr2): Avoid embedded #if.
54326         Reported by Alain Guibert, fix suggested by Bruno Haible.
54327
54328 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54329
54330         * doc/posix-functions/strftime.texi (strftime): Explain better
54331         Windows incompatibility.  Suggested by Micah Cowan
54332         <micah@cowan.name>.
54333
54334 2008-04-20  Bruno Haible  <bruno@clisp.org>
54335
54336         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54337         unistr/u8-mblen.
54338
54339 2008-04-20  Bruno Haible  <bruno@clisp.org>
54340
54341         Fix test failure on platforms with non-GNU iconv.
54342         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54343         (U_TO_U8): Use it, rather than u16_to_u8.
54344         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54345         units at the end of the input string.
54346         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54347
54348 2008-04-20  Bruno Haible  <bruno@clisp.org>
54349
54350         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54351         when the resulting length is 0.
54352         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54353
54354 2008-04-20  Bruno Haible  <bruno@clisp.org>
54355
54356         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54357         works.
54358         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54359
54360 2008-04-20  Bruno Haible  <bruno@clisp.org>
54361
54362         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54363         * modules/tsearch-tests (configure.ac): Test for initstate function.
54364
54365 2008-04-20  Bruno Haible  <bruno@clisp.org>
54366
54367         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54368         for nlink_t if missing.
54369         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54370
54371 2008-04-19  Bruno Haible  <bruno@clisp.org>
54372
54373         Work around snprintf bug on Linux libc5.
54374         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54375         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54376         gl_SNPRINTF_SIZE1.
54377         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54378         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54379         that test failed.
54380         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54381         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54382         * modules/snprintf (Files): Add m4/printf.m4.
54383         * modules/vsnprintf (Files): Likewise.
54384         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54385         * doc/posix-functions/vsnprintf.texi: Likewise.
54386
54387 2008-04-19  Bruno Haible  <bruno@clisp.org>
54388
54389         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54390         from 0.0058 to less than 10^-7.
54391
54392 2008-04-19  Bruno Haible  <bruno@clisp.org>
54393
54394         Fix rounding when a precision is given.
54395         * lib/vasnprintf.c (is_borderline): New function.
54396         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54397         9...9x.
54398         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54399         %e, %g.
54400         * tests/test-vasprintf-posix.c (test_function): Likewise.
54401         * tests/test-snprintf-posix.h (test_function): Likewise.
54402         * tests/test-sprintf-posix.h (test_function): Likewise.
54403         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54404         * tests/test-printf-posix.h (test_function): Likewise.
54405         * tests/test-printf-posix.output: Update.
54406         Reported by John Darrington <john@darrington.wattle.id.au> via
54407         Ben Pfaff <blp@cs.stanford.edu>.
54408
54409 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54410
54411         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54412         Suggested by Bruno Haible <bruno@clisp.org>.
54413
54414 2008-04-17  Bruno Haible  <bruno@clisp.org>
54415
54416         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54417         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54418         implementation.
54419         Patch by Bruce Merry <bmerry@gmail.com>.
54420
54421 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54422
54423         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54424         doesn't work under Windows.
54425
54426 2008-04-16  Bruno Haible  <bruno@clisp.org>
54427
54428         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54429         New macros.
54430         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54431         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54432         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54433         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54434         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54435         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54436         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54437         macros.
54438         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54439         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54440         Northern Sotho, Uighur.
54441
54442 2008-04-16  Bruno Haible  <bruno@clisp.org>
54443
54444         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54445         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54446         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54447         Reported by Daniel Bergström <daniel@octocode.com>.
54448
54449 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54450             Bruno Haible  <bruno@clisp.org>
54451
54452         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54453         function.
54454         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54455         New functions, mostly extracted from gl_locale_name_default.
54456         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54457
54458 2008-04-16  Eric Blake  <ebb9@byu.net>
54459
54460         Adjust strtod detection to catch glibc 2.7 bug.
54461         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54462         Reported by John Gatewood Ham.
54463
54464 2008-04-16  Bruno Haible  <bruno@clisp.org>
54465
54466         Add tentative support for Linux libc5.
54467         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54468         * lib/fpurge.c (fpurge): Likewise.
54469         * lib/freadable.c (freadable): Likewise.
54470         * lib/freadahead.c (freadahead): Likewise.
54471         * lib/freading.c (freading): Likewise.
54472         * lib/freadptr.c (freadptr): Likewise.
54473         * lib/freadseek.c (freadptrinc): Likewise.
54474         * lib/fseeko.c (rpl_fseeko): Likewise.
54475         * lib/fseterr.c (fseterr): Likewise.
54476         * lib/fwritable.c (fwritable): Likewise.
54477         * lib/fwriting.c (fwriting): Likewise.
54478         Reported by Alain Guibert <alguibert+bts@free.fr>.
54479
54480 2008-04-15  Bruno Haible  <bruno@clisp.org>
54481
54482         * modules/mathl (configure.ac): Define module indicator.
54483
54484 2008-04-15  Bruno Haible  <bruno@clisp.org>
54485
54486         * lib/logl.c (logl): Remove unused variables.
54487
54488 2008-04-15  Bruno Haible  <bruno@clisp.org>
54489
54490         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54491         fails.
54492
54493 2008-04-15  Bruno Haible  <bruno@clisp.org>
54494
54495         * lib/trim.c (trim2): Fix argument of isspace() macro.
54496
54497 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54498
54499         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54500         to 0.
54501         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54502
54503 2008-04-14  Bruno Haible  <bruno@clisp.org>
54504
54505         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54506         AC_LANG_PROGRAM argument.
54507         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54508         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54509         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54510         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54511         * m4/math_h.m4 (gl_MATH_H): Likewise.
54512         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54513         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54514         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54515         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54516         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54517         * m4/regex.m4 (gl_REGEX): Likewise.
54518         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54519         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54520         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54521         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54522         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54523         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54524         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54525         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54526
54527 2008-04-14  Jim Meyering  <meyering@redhat.com>
54528
54529         test-strtod: fix typos: s/abs/fabs/
54530         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54531
54532 2008-04-13  Bruno Haible  <bruno@clisp.org>
54533
54534         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54535         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54536         module is also used and while not building the reloc-wrapper.
54537
54538 2008-04-13  Bruno Haible  <bruno@clisp.org>
54539
54540         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54541
54542 2008-04-13  Bruno Haible  <bruno@clisp.org>
54543
54544         Fix AIX compilation failure introduced on 2008-04-02.
54545         * tests/test-frexp.c (exp): Undefine before redefining.
54546         * tests/test-frexpl.c (exp): Likewise.
54547
54548 2008-04-13  Bruno Haible  <bruno@clisp.org>
54549
54550         Work around a HP-UX stdio bug.
54551         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54552         * tests/test-ftello.c (main): Likewise.
54553         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54554         * doc/posix-functions/ftello.texi: Likewise.
54555
54556 2008-04-13  Bruno Haible  <bruno@clisp.org>
54557
54558         Make test-signbit pass on HP-UX/hppa.
54559         * tests/test-signbit.c (minus_zerol): New variable.
54560         (test_signbitl): Use it.
54561
54562 2008-04-13  Bruno Haible  <bruno@clisp.org>
54563
54564         Make truncl work on OSF/1 4.0.
54565         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54566         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54567         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54569         HAVE_DECL_TRUNCL.
54570         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54571         HAVE_DECL_TRUNCL.
54572         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54573
54574 2008-04-13  Bruno Haible  <bruno@clisp.org>
54575
54576         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54577
54578 2008-04-13  Bruno Haible  <bruno@clisp.org>
54579
54580         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54581         expression, so as to avoid HP-UX 11 cc compiler bug.
54582
54583 2008-04-13  Bruno Haible  <bruno@clisp.org>
54584
54585         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54586
54587 2008-04-13  Bruno Haible  <bruno@clisp.org>
54588
54589         * lib/git-merge-changelog.c: Remove empty declaration outside of
54590         functions.
54591
54592 2008-04-13  Bruno Haible  <bruno@clisp.org>
54593
54594         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54595
54596 2008-04-13  Bruno Haible  <bruno@clisp.org>
54597
54598         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54599         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54600         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54601         also if it exists but lacks definitions of the SHUT_* macros.
54602         * modules/sys_socket (Description): Update.
54603         Reported by Elbert Pol <e.pol@chello.nl>.
54604
54605 2008-04-13  Bruno Haible  <bruno@clisp.org>
54606
54607         * lib/localcharset.c (OS2): Don't redefine if already defined.
54608         Reported by Elbert Pol <e.pol@chello.nl>.
54609
54610 2008-04-13  Bruno Haible  <bruno@clisp.org>
54611
54612         * lib/binary-io.h [__EMX__]: Include <io.h>.
54613         Reported by Elbert Pol <e.pol@chello.nl>.
54614
54615 2008-04-12  Bruno Haible  <bruno@clisp.org>
54616
54617         * lib/fpucw.h: Enable the definitions also for x86_64.
54618         Needed for NetBSD/x86_64.
54619         Reported by Thomas Klausner <tk@giga.or.at>.
54620
54621 2008-04-12  Bruno Haible  <bruno@clisp.org>
54622
54623         * tests/test-strtod.c: Include isnand.h.
54624         (main): Use isnand instead of isnan.
54625         Reported by Jim Meyering.
54626
54627 2008-04-12  Bruno Haible  <bruno@clisp.org>
54628
54629         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54630         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54631
54632 2008-04-12  Jim Meyering  <meyering@redhat.com>
54633
54634         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54635
54636 2008-04-12  Bruno Haible  <bruno@clisp.org>
54637
54638         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54639         Reported by Elbert Pol <e.pol@chello.nl>.
54640
54641 2008-04-12  Eric Blake  <ebb9@byu.net>
54642
54643         Work around Solaris 10 math.h bug.
54644         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54645         (gl_MATH_H_DEFAULTS): Set up default.
54646         * modules/math (Makefile.am): Replace new indicators.
54647         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54648         * tests/test-math.c (main): Test this.
54649         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54650         * doc/posix-headers/math.texi (math.h): Mention bug.
54651         Reported by Nelson H. F. Beebe and Jim Meyering.
54652
54653 2008-04-11  Bruno Haible  <bruno@clisp.org>
54654
54655         Adapt to future versions of Apple GCC.
54656         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54657         Reported by Peter O'Gorman <peter@pogma.com>.
54658
54659 2008-04-11  Bruno Haible  <bruno@clisp.org>
54660
54661         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54662
54663 2008-04-11  Bruno Haible  <bruno@clisp.org>
54664
54665         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54666
54667         * modules/getaddrinfo-tests (Makefile.am): Define
54668         test_getaddrinfo_LDADD.
54669
54670 2008-04-11  Bruno Haible  <bruno@clisp.org>
54671
54672         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54673         (init): Fix syntax error.
54674         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54675         is declared.
54676
54677 2008-04-11  Bruno Haible  <bruno@clisp.org>
54678
54679         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54680         * modules/glob (Depends-on): Add stdbool.
54681
54682 2008-04-11  Bruno Haible  <bruno@clisp.org>
54683
54684         * lib/trim.c: Include <string.h>.
54685
54686 2008-04-11  Eric Blake  <ebb9@byu.net>
54687
54688         Avoid compile failure on OS/2.
54689         * lib/regex_internal.h (internal_function): Disable optimization
54690         on OS/2 (__EMX__), where it caused compiler error.
54691         Reported by Elbert Pol.
54692
54693 2008-04-11  Bruno Haible  <bruno@clisp.org>
54694
54695         Flush the standard error stream before aborting. Needed on mingw.
54696         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54697         * tests/test-array_list.c (ASSERT): Likewise.
54698         * tests/test-array_oset.c (ASSERT): Likewise.
54699         * tests/test-avltree_list.c (ASSERT): Likewise.
54700         * tests/test-avltree_oset.c (ASSERT): Likewise.
54701         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54702         * tests/test-binary-io.c (ASSERT): Likewise.
54703         * tests/test-byteswap.c (ASSERT): Likewise.
54704         * tests/test-c-ctype.c (ASSERT): Likewise.
54705         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54706         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54707         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54708         * tests/test-c-strstr.c (ASSERT): Likewise.
54709         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54710         * tests/test-canonicalize.c (ASSERT): Likewise.
54711         * tests/test-carray_list.c (ASSERT): Likewise.
54712         * tests/test-ceilf1.c (ASSERT): Likewise.
54713         * tests/test-ceilf2.c (ASSERT): Likewise.
54714         * tests/test-ceill.c (ASSERT): Likewise.
54715         * tests/test-count-one-bits.c (ASSERT): Likewise.
54716         * tests/test-fbufmode.c (ASSERT): Likewise.
54717         * tests/test-fflush2.c (ASSERT): Likewise.
54718         * tests/test-floorf1.c (ASSERT): Likewise.
54719         * tests/test-floorf2.c (ASSERT): Likewise.
54720         * tests/test-floorl.c (ASSERT): Likewise.
54721         * tests/test-fopen.c (ASSERT): Likewise.
54722         * tests/test-fpending.c (ASSERT): Likewise.
54723         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54724         * tests/test-fpurge.c (ASSERT): Likewise.
54725         * tests/test-freadable.c (ASSERT): Likewise.
54726         * tests/test-freadahead.c (ASSERT): Likewise.
54727         * tests/test-freading.c (ASSERT): Likewise.
54728         * tests/test-freadptr.c (ASSERT): Likewise.
54729         * tests/test-freadptr2.c (ASSERT): Likewise.
54730         * tests/test-freadseek.c (ASSERT): Likewise.
54731         * tests/test-freopen.c (ASSERT): Likewise.
54732         * tests/test-frexp.c (ASSERT): Likewise.
54733         * tests/test-frexpl.c (ASSERT): Likewise.
54734         * tests/test-fseek.c (ASSERT): Likewise.
54735         * tests/test-fseeko.c (ASSERT): Likewise.
54736         * tests/test-fstrcmp.c (ASSERT): Likewise.
54737         * tests/test-ftell.c (ASSERT): Likewise.
54738         * tests/test-ftello.c (ASSERT): Likewise.
54739         * tests/test-func.c (ASSERT): Likewise.
54740         * tests/test-fwritable.c (ASSERT): Likewise.
54741         * tests/test-fwriting.c (ASSERT): Likewise.
54742         * tests/test-getdelim.c (ASSERT): Likewise.
54743         * tests/test-getline.c (ASSERT): Likewise.
54744         * tests/test-i-ring.c (ASSERT): Likewise.
54745         * tests/test-iconv-utf.c (ASSERT): Likewise.
54746         * tests/test-iconv.c (ASSERT): Likewise.
54747         * tests/test-isfinite.c (ASSERT): Likewise.
54748         * tests/test-isnand.c (ASSERT): Likewise.
54749         * tests/test-isnanf.c (ASSERT): Likewise.
54750         * tests/test-isnanl.h (ASSERT): Likewise.
54751         * tests/test-ldexpl.c (ASSERT): Likewise.
54752         * tests/test-linked_list.c (ASSERT): Likewise.
54753         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54754         * tests/test-localename.c (ASSERT): Likewise.
54755         * tests/test-lseek.c (ASSERT): Likewise.
54756         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54757         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54758         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54759         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54760         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54761         * tests/test-mbschr.c (ASSERT): Likewise.
54762         * tests/test-mbscspn.c (ASSERT): Likewise.
54763         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54764         * tests/test-mbspbrk.c (ASSERT): Likewise.
54765         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54766         * tests/test-mbsrchr.c (ASSERT): Likewise.
54767         * tests/test-mbsspn.c (ASSERT): Likewise.
54768         * tests/test-mbsstr1.c (ASSERT): Likewise.
54769         * tests/test-mbsstr2.c (ASSERT): Likewise.
54770         * tests/test-mbsstr3.c (ASSERT): Likewise.
54771         * tests/test-memchr2.c (ASSERT): Likewise.
54772         * tests/test-memmem.c (ASSERT): Likewise.
54773         * tests/test-open.c (ASSERT): Likewise.
54774         * tests/test-printf-frexp.c (ASSERT): Likewise.
54775         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54776         * tests/test-printf-posix.c (ASSERT): Likewise.
54777         * tests/test-quotearg.c (ASSERT): Likewise.
54778         * tests/test-rbtree_list.c (ASSERT): Likewise.
54779         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54780         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54781         * tests/test-round1.c (ASSERT): Likewise.
54782         * tests/test-roundf1.c (ASSERT): Likewise.
54783         * tests/test-roundl.c (ASSERT): Likewise.
54784         * tests/test-signbit.c (ASSERT): Likewise.
54785         * tests/test-sleep.c (ASSERT): Likewise.
54786         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54787         * tests/test-snprintf.c (ASSERT): Likewise.
54788         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54789         * tests/test-stat-time.c (ASSERT): Likewise.
54790         * tests/test-strcasestr.c (ASSERT): Likewise.
54791         * tests/test-strerror.c (ASSERT): Likewise.
54792         * tests/test-striconv.c (ASSERT): Likewise.
54793         * tests/test-striconveh.c (ASSERT): Likewise.
54794         * tests/test-striconveha.c (ASSERT): Likewise.
54795         * tests/test-strsignal.c (ASSERT): Likewise.
54796         * tests/test-strstr.c (ASSERT): Likewise.
54797         * tests/test-strtod.c (ASSERT): Likewise.
54798         * tests/test-trunc1.c (ASSERT): Likewise.
54799         * tests/test-trunc2.c (ASSERT): Likewise.
54800         * tests/test-truncf1.c (ASSERT): Likewise.
54801         * tests/test-truncf2.c (ASSERT): Likewise.
54802         * tests/test-truncl.c (ASSERT): Likewise.
54803         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
54804         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
54805         * tests/test-vasnprintf.c (ASSERT): Likewise.
54806         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
54807         * tests/test-vasprintf.c (ASSERT): Likewise.
54808         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
54809         * tests/test-vprintf-posix.c (ASSERT): Likewise.
54810         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
54811         * tests/test-vsnprintf.c (ASSERT): Likewise.
54812         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54813         * tests/test-wcwidth.c (ASSERT): Likewise.
54814         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54815         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54816         * tests/test-xvasprintf.c (ASSERT): Likewise.
54817         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54818         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54819         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54820         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54821         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54822         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54823         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54824         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54825         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54826         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54827         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54828         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54829         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54830         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54831         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54832         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54833         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54834         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54835         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54836         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54837         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54838         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54839         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54840         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54841         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54842         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54843         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54844         * tests/unictype/test-combining.c (ASSERT): Likewise.
54845         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54846         * tests/unictype/test-digit.c (ASSERT): Likewise.
54847         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54848         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54849         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54850         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54851         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54852         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54853         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54854         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54855         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54856         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54857         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54858         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54859         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54860         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54861         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54862         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54863         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54864         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54865         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54866         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54867         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54868         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54869         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54870         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54871         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54872         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54873         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54874         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54875         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54876         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54877         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54878         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54879         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54880         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54881         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54882         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54883         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54884         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54885         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54886         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54887         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54888         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54889         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54890         Reported by Eric Blake.
54891
54892 2008-04-11  Bruno Haible  <bruno@clisp.org>
54893
54894         * lib/wchar.in.h: Tweak comment.
54895
54896 2008-04-11  Bruno Haible  <bruno@clisp.org>
54897
54898         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54899         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54900         gl_COMMON.
54901         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54902
54903 2008-04-11  Bruno Haible  <bruno@clisp.org>
54904
54905         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54906
54907 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54908
54909         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54910         of attempting to use non-existing /dev/*random.  Based on patch
54911         from Adam Strzelecki <ono@java.pl> in
54912         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54913
54914 2008-04-08  Bruno Haible  <bruno@clisp.org>
54915
54916         Add tentative support for emx+gcc.
54917         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
54918         * lib/fpurge.c (fpurge): Likewise.
54919         * lib/freadable.c (freadable): Likewise.
54920         * lib/freadahead.c (freadahead): Likewise.
54921         * lib/freading.c (freading): Likewise.
54922         * lib/freadptr.c (freadptr): Likewise.
54923         * lib/freadseek.c (freadptrinc): Likewise.
54924         * lib/fseeko.c (rpl_fseeko): Likewise.
54925         * lib/fseterr.c (fseterr): Likewise.
54926         * lib/fwritable.c (fwritable): Likewise.
54927         * lib/fwriting.c (fwriting): Likewise.
54928         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
54929
54930 2008-04-09  Eric Blake  <ebb9@byu.net>
54931
54932         Avoid some autoconf warnings.
54933         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
54934         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
54935         * m4/afs.m4 (gl_AFS): Likewise.
54936         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
54937         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
54938         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54939         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
54940         (gl_INTEGER_TYPE_SUFFIX): Likewise.
54941         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
54942         (AC_CHECK_DECLS_ONCE): Likewise.
54943         Rename file...
54944         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
54945         gnulib-tool requires autoconf 2.59 or better.
54946         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
54947
54948 2008-04-08  Eric Blake  <ebb9@byu.net>
54949
54950         Use 'git describe --match' if present (added in git 1.5.5).
54951         * build-aux/git-version-gen: Limit result to tags that match 'v*'
54952         if possible.
54953
54954 2008-04-08  Bruno Haible  <bruno@clisp.org>
54955
54956         Add tentative support for OpenServer.
54957         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
54958         _ptr, _cnt.
54959         * lib/fpurge.c (fpurge): Likewise.
54960         * lib/freadable.c (freadable): Likewise.
54961         * lib/freadahead.c (freadahead): Likewise.
54962         * lib/freading.c (freading): Likewise.
54963         * lib/freadptr.c (freadptr): Likewise.
54964         * lib/freadseek.c (freadptrinc): Likewise.
54965         * lib/fseeko.c (rpl_fseeko): Likewise.
54966         * lib/fseterr.c (fseterr): Likewise.
54967         * lib/fwritable.c (fwritable): Likewise.
54968         * lib/fwriting.c (fwriting): Likewise.
54969         Reported by Roger Cornelius <rac@tenzing.org> and
54970         Brian K. White <brian@aljex.com>.
54971
54972 2008-04-06  Jim Meyering  <meyering@redhat.com>
54973
54974         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
54975
54976 2008-04-06  Bruno Haible  <bruno@clisp.org>
54977
54978         Avoid possible error with non-ASCII bytes in UTF-8 locales.
54979         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
54980         * tests/test-printf-posix.sh: Likewise.
54981         * tests/test-vfprintf-posix.sh: Likewise.
54982         * tests/test-vprintf-posix.sh: Likewise.
54983         * tests/test-xprintf-posix.sh: Likewise.
54984
54985 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54986
54987         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
54988         hide error from 'ls', needed on OS/2.
54989         Report by Elbert Pol <elbert.pol@gmail.com>.
54990
54991 2008-04-04  Eric Blake  <ebb9@byu.net>
54992
54993         Make test-fseeko.c failures meaningful.
54994         * tests/test-fseeko.c: Print line number on failure.
54995         * tests/test-fseek.c: Likewise.
54996         Reported by Nelson H. F. Beebe.
54997
54998         Improve strtod bug detection check.
54999         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55000         required for Solaris 10.
55001         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55002
55003 2008-04-04  Bruno Haible  <bruno@clisp.org>
55004
55005         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55006         by m4/setenv.m4.
55007
55008 2008-04-03  Eric Blake  <ebb9@byu.net>
55009
55010         Ensure sane .version contents.
55011         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55012         version string.
55013         * build-aux/git-version-gen: Improve documentation.
55014
55015         Make GNU make output nicer.
55016         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55017         MAKECMDGOALS to enforce message for all command line targets.  Set
55018         srcdir for use in maint.mk.
55019
55020         Another maintainer tweak.
55021         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55022         a target that regenerates version.
55023
55024 2008-04-03  Jim Meyering  <meyering@redhat.com>
55025
55026         vc-list-files: don't cause coreutils "make po-check" failure
55027         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55028
55029 2008-04-03  Eric Blake  <ebb9@byu.net>
55030
55031         Allow VPATH usage of vc-list-files.
55032         * build-aux/vc-list-files (scriptversion): Add timestamp.
55033         (options): Add --help, --version, -C.
55034         (CVS): Support installed cvsu.
55035
55036 2008-04-02  Bruno Haible  <bruno@clisp.org>
55037
55038         Avoid some "statement with no effect" warnings from gcc.
55039         * tests/test-wctype.c (main): Explicitly ignore unused values.
55040         Reported by Jim Meyering.
55041
55042 2008-04-02  Jim Meyering  <meyering@redhat.com>
55043
55044         Avoid some warnings from "gcc -Wshadow".
55045         * tests/test-frexp.c (exp): Define to a different identifier.
55046         * tests/test-frexpl.c (exp): Likewise.
55047
55048 2008-04-03  Jim Meyering  <meyering@redhat.com>
55049
55050         bootstrap: remove dangling *.[ch] symlinks from lib
55051         * build-aux/bootstrap [dangling symlink removal]: Move find's
55052         -depth option to precede all others, to avoid a warning.
55053         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55054
55055 2008-04-02  Bruno Haible  <bruno@clisp.org>
55056
55057         Avoid some warnings from "gcc -Wshadow".
55058         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55059         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55060         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55061         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55062         Reported by Jim Meyering.
55063
55064 2008-04-01  Bruno Haible  <bruno@clisp.org>
55065
55066         Fix test to work on IRIX 6.5 with cc.
55067         * tests/test-math.c (numeric_equal): New function.
55068         (main): Use it.
55069
55070 2008-04-01  Bruno Haible  <bruno@clisp.org>
55071
55072         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55073
55074 2008-04-01  Bruno Haible  <bruno@clisp.org>
55075
55076         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55077         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55078         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55079         (Depends-on): Remove math.
55080
55081         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55082         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55083         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55084         (Depends-on): Remove math.
55085
55086         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55087         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55088         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55089         (Depends-on): Remove math.
55090         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55091         (Depends-on): Remove math.
55092
55093         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55094         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55095         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55096         (Depends-on): Remove math.
55097         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55098         (Depends-on): Remove math.
55099
55100         * tests/test-round1.c: Include nan.h.
55101         (main): Use NaNd instead of NAN.
55102         * modules/round-tests (Files): Add tests/nan.h.
55103
55104         * tests/test-trunc1.c: Include nan.h.
55105         (main): Use NaNd instead of NAN.
55106         * modules/trunc-tests (Files): Add tests/nan.h.
55107
55108         * tests/test-roundf1.c: Include nan.h.
55109         (main): Use NaNf instead of NAN.
55110         * modules/roundf-tests (Files): Add tests/nan.h.
55111
55112         * tests/test-truncf1.c: Include nan.h.
55113         (main): Use NaNf instead of NAN.
55114         * modules/truncf-tests (Files): Add tests/nan.h.
55115
55116         * tests/test-ceilf1.c: Include nan.h.
55117         (main): Use NaNf instead of NAN.
55118         * modules/ceilf-tests (Files): Add tests/nan.h.
55119
55120         * tests/test-floorf1.c: Include nan.h.
55121         (main): Use NaNf instead of NAN.
55122         * modules/floorf-tests (Files): Add tests/nan.h.
55123
55124         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55125         (main): Use NaNf instead of NAN.
55126         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55127
55128         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55129         (main): Use NaNd instead of NAN.
55130         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55131
55132         * tests/test-frexp.c: Include nan.h.
55133         (main): Use NaNd instead of NAN.
55134         * modules/frexp-tests (Files): Add tests/nan.h.
55135
55136         * lib/isnan.c: Don't include <math.h>.
55137         (FUNC): Don't use NAN macro.
55138         * modules/isnand-nolibm (Depends-on): Remove math.
55139         * modules/isnanf-nolibm (Depends-on): Remove math.
55140         * modules/isnanl (Depends-on): Remove math.
55141         * modules/isnanl-nolibm (Depends-on): Remove math.
55142
55143         * tests/nan.h: New file.
55144
55145 2008-04-01  Eric Blake  <ebb9@byu.net>
55146
55147         Fix typos.
55148         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55149         values to be the right type.
55150
55151         For now, cater to gnulib strtod inaccuracies.
55152         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55153         fractional results.  While not as nice from a QoI perspective, it
55154         is a quicker patch than correctly implementing decimal to binary
55155         rounding.
55156
55157 2008-03-31  Eric Blake  <ebb9@byu.net>
55158
55159         Guarantee a definition of NAN.
55160         * lib/math.in.h (NAN): Define if missing.
55161         * tests/test-math.c (main): Test it.
55162         * doc/posix-headers/math.texi (math.h): Document this.
55163         * lib/isnan.c (rpl_isnand): Use it.
55164         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55165         * tests/test-floorf1.c (NaN): Likewise.
55166         * tests/test-frexp.c (NaN): Likewise.
55167         * tests/test-isnand.c (NaN): Likewise.
55168         * tests/test-isnanf.c (NaN): Likewise.
55169         * tests/test-round1.c (NaN): Likewise.
55170         * tests/test-roundf1.c (NaN): Likewise.
55171         * tests/test-snprintf-posix.h (NaN): Likewise.
55172         * tests/test-sprintf-posix.h (NaN): Likewise.
55173         * tests/test-trunc1.c (NaN): Likewise.
55174         * tests/test-truncf1.c (NaN): Likewise.
55175         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55176         * tests/test-vasprintf-posix.c (NaN): Likewise.
55177         * modules/isnand-nolibm (Depends-on): Add math.
55178         * modules/isnanf-nolibm (Depends-on): Likewise.
55179         * modules/isnanl (Depends-on): Likewise.
55180         * modules/isnanl-nolibm (Depends-on): Likewise.
55181         * modules/snprintf-posix-tests (Depends-on): Likewise.
55182         * modules/sprintf-posix-tests (Depends-on): Likewise.
55183         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55184         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55185         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55186         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55187
55188 2008-03-31  Bruno Haible  <bruno@clisp.org>
55189
55190         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55191         * doc/posix-functions/strtod.texi: Likewise.
55192
55193 2008-03-31  Bruno Haible  <bruno@clisp.org>
55194
55195         * tests/test-strtod.c (main): Don't use C99 syntax.
55196
55197 2008-03-31  Bruno Haible  <bruno@clisp.org>
55198
55199         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55200         Reported by Eric Blake.
55201
55202 2008-03-31  Jim Meyering  <meyering@redhat.com>
55203
55204         Don't compare actual signbit return values.
55205         * tests/test-strtod.c (main): Rather, compare only their
55206         zero/non-zero nature.
55207
55208 2008-03-31  Eric Blake  <ebb9@byu.net>
55209
55210         More strtod documentation.
55211         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55212         failures as distinct bugs.
55213
55214 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55215
55216         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55217         Problem reported by Erik Benada in
55218         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55219
55220 2008-03-30  Bruno Haible  <bruno@clisp.org>
55221
55222         * tests/test-strtod.c: Add comments about which assertion fails on which
55223         platform.
55224         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55225
55226 2008-03-30  Eric Blake  <ebb9@byu.net>
55227
55228         Test signbit behavior on zeros.
55229         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55230         (test_signbitd, test_signbitl): Likewise.
55231
55232         More strtod touchups.
55233         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55234         sign of negative underflow, for now.  Use .5, not .1.
55235         * doc/posix-functions/strtod.texi (strtod): Mention these
55236         limitations.
55237         Reported by Jim Meyering.
55238
55239 2008-03-30  Bruno Haible  <bruno@clisp.org>
55240
55241         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55242         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55243
55244 2008-03-30  Bruno Haible  <bruno@clisp.org>
55245
55246         Avoid failure when attempting to return empty iconv results on some
55247         platforms.
55248         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55249         allocation, don't report ENOMEM when the resulting string is empty.
55250
55251 2008-03-30  Bruno Haible  <bruno@clisp.org>
55252
55253         Fix buffer overrun.
55254         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55255         Don't consider the width for tmp_length. Check count against tmp_length
55256         before doing the padding. Ensure enough allocation during padding.
55257
55258 2008-03-30  Eric Blake  <ebb9@byu.net>
55259
55260         strtod touchups.
55261         * lib/strtod.c (strtod): Avoid compiler warnings.
55262         Reported by Jim Meyering.
55263
55264 2008-03-30  Bruno Haible  <bruno@clisp.org>
55265
55266         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55267         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55268         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55269         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55270         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55271         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55272         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55273         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55274
55275         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55276         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55277         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55278         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55279         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55280         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55281         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55282         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55283
55284         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55285         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55286         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55287         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55288         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55289         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55290         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55291         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55292
55293         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55294         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55295
55296         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55297         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55298
55299         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55300         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55301
55302         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55303         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55304         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55305
55306         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55307         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55308         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55309
55310         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55311         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55312         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55313
55314         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55315         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55316         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55317
55318         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55319         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55320         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55321         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55322         (Depends-on): Add EOVERFLOW.
55323         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55324         (Depends-on): Add EOVERFLOW.
55325         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55326         (Depends-on): Add EOVERFLOW.
55327         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55328         (Depends-on): Add EOVERFLOW.
55329         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55330         (Depends-on): Add EOVERFLOW.
55331         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55332         (Depends-on): Add EOVERFLOW.
55333         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55334         (Depends-on): Add EOVERFLOW.
55335         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55336         (Depends-on): Add EOVERFLOW.
55337
55338         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55339         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55340         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55341
55342         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55343         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55344         * modules/snprintf (Depends-on): Add EOVERFLOW.
55345
55346         * lib/poll.c (EOVERFLOW): Remove fallback.
55347         * modules/poll (Depends-on): Add EOVERFLOW.
55348
55349         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55350         * modules/getugroups (Depends-on): Add EOVERFLOW.
55351
55352         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55353         * modules/getdelim (Depends-on): Add EOVERFLOW.
55354
55355         * lib/ftell.c (EOVERFLOW): Remove fallback.
55356         * modules/ftell (Depends-on): Add EOVERFLOW.
55357
55358         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55359         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55360         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55361
55362         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55363
55364         * modules/EOVERFLOW-tests: New file.
55365         * tests/test-EOVERFLOW.c: New file.
55366
55367         * modules/EOVERFLOW: New file.
55368         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55369
55370 2008-03-30  Bruno Haible  <bruno@clisp.org>
55371
55372         Fix bug introduced on 2007-06-10.
55373         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55374         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55375
55376 2008-03-30  Bruno Haible  <bruno@clisp.org>
55377
55378         Improve freadseek's efficiency after ungetc.
55379         * lib/freadseek.c: Include freadahead.h.
55380         (freadptrinc): New function, extracted from freadseek.
55381         (freadseek): Use it in a loop. Use freadahead to determine the number
55382         of loop iterations.
55383         * modules/freadseek (Depends-on): Add freadahead.
55384         (configure.ac): Require AC_C_INLINE.
55385
55386 2008-03-30  Bruno Haible  <bruno@clisp.org>
55387
55388         * lib/freadseek.c (freadseek): Don't ignore the return value of
55389         freadptr.
55390
55391 2008-03-29  Eric Blake  <ebb9@byu.net>
55392
55393         Add hex float support.
55394         * modules/strtod (Depends-on): Add c-ctype.
55395         (Link): Mention POW_LIB.
55396         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55397         whitespace between 'e' and exponent.
55398         * tests/test-strtod.c (main): Enable hex float tests.
55399         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55400         now provides.
55401
55402         Document various strtod bugs, with some fixes.
55403         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55404         "-0x", "inf", "nan", and hex constants.
55405         * doc/posix-functions/atof.texi (atof): Likewise.
55406         * modules/stdlib (Makefile.am): Support strtod.
55407         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55408         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55409         detect additional strtod bugs.
55410         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55411         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55412         bool where appropriate.  Parse 'inf' and 'nan'.
55413         * tests/test-strtod.c: New file.
55414         * modules/strtod (Depends-on): Add stdbool, stdlib.
55415         (configure.ac): Turn on module indicator.
55416         * modules/strtod-tests: New module.
55417
55418 2008-03-29  Eric Blake  <ebb9@byu.net>
55419
55420         Fix ftell on mingw.
55421         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55422         * modules/ftell-tests (Depends-on): Add binary-io.
55423         * modules/ftello-tests (Depends-on): Likewise.
55424         * tests/test-ftell.c (main): Enhance test to cover behavior after
55425         ungetc.  Enforce binary mode.
55426         * tests/test-ftello.c (main): Likewise.
55427
55428         Pass test-freadseek on cygwin.
55429         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55430         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55431         ungetc buffer.
55432
55433         * tests/test-fflush2.c (main): Fix typo.
55434
55435 2008-03-29  Bruno Haible  <bruno@clisp.org>
55436
55437         * tests/test-fflush2.c (main): Temporarily disable the contents of
55438         this test.
55439         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55440         Reported by Eric Blake.
55441
55442 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55443
55444         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55445         (GC_SHA224_DIGEST_SIZE): Add.
55446
55447         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55448         (gc_hash_digest_length): Likewise.
55449         (gc_hash_buffer): Likewise.
55450
55451 2008-03-25  Bruno Haible  <bruno@clisp.org>
55452
55453         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55454         detail which gettext release to use.
55455         Reported by Simon Josefsson.
55456
55457 2008-03-26  Jim Meyering  <meyering@redhat.com>
55458
55459         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55460         * modules/gnumakefile (clean-GNUmakefile): Also, use
55461         test ... && ... || : syntax rather than if-then ... fi.
55462
55463         gnumakefile: Don't double-quote-expand $(VPATH) value.
55464         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55465
55466 2008-03-24  Eric Blake  <ebb9@byu.net>
55467
55468         Alter GNUmakefile to install into top directory.
55469         * modules/maintainer-makefile: Split, and add dependency...
55470         * modules/gnumakefile: to this new module.
55471         * build-aux/GNUmakefile: Move...
55472         * top/GNUmakefile: ...here.
55473         * build-aux/maint.mk: Move...
55474         * top/maint.mk: ...here.
55475         * MODULES.html.sh (Support for maintaining...): Document new
55476         module.
55477
55478 2008-03-23  Bruno Haible  <bruno@clisp.org>
55479
55480         * gnulib-tool: New options --vc-files, --no-vc-files.
55481         (func_usage): Document them.
55482         (vc_files): New variable.
55483         (func_import): Consider vc_files.
55484         (func_create_testdir): Set vc_files to empty.
55485         Suggested by Jim Meyering and Karl Berry.
55486
55487 2008-03-23  Bruno Haible  <bruno@clisp.org>
55488
55489         Fix regex compilation error on HP-UX 11.
55490         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55491         * modules/regex (Files): Add m4/mbstate_t.m4.
55492         Reported by Ton Voon <ton.voon@altinity.com>.
55493
55494 2008-03-23  Bruno Haible  <bruno@clisp.org>
55495
55496         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55497
55498 2008-03-23  Eric Blake  <ebb9@byu.net>
55499             Bruno Haible  <bruno@clisp.org>
55500
55501         Install files from top/ in the destination directory.
55502         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55503         augmentation also for the files from top/.
55504         (func_import, func_create_testdir): Rewrite file names:
55505         top/filename -> filename.
55506
55507 2008-03-23  Bruno Haible  <bruno@clisp.org>
55508
55509         Tweak "gnulib --version" output.
55510         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55511
55512 2008-03-23  Bruno Haible  <bruno@clisp.org>
55513
55514         Tweak "gnulib --version" output.
55515         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55516         rather than contents of ChangeLog, when possible.
55517
55518 2008-03-21  Eric Blake  <ebb9@byu.net>
55519
55520         More --version tweaks.
55521         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55522         date of last ChangeLog entry.
55523
55524 2008-03-21  Jim Meyering  <meyering@redhat.com>
55525
55526         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55527
55528 2008-03-20  Eric Blake  <ebb9@byu.net>
55529
55530         VPATH fix.
55531         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55532
55533 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55534
55535         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55536         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55537
55538 2008-03-20  Eric Blake  <ebb9@byu.net>
55539
55540         Sync GNUmakefile with coreutils.
55541         * build-aux/GNUmakefile (have-Makefile): Rename...
55542         (_have-Makefile): ...to this, for namespace consideration.
55543         (GNUmakefile.cfg): Include, if present.
55544         (_autoreconf): Define a default.
55545         (_is-dist-target): New rule for rebuilds to pick up intra-release
55546         version.
55547         (maint-cfg.mk): Rename...
55548         (cfg.mk): ...to this.
55549
55550 2008-03-18  Jim Meyering  <meyering@redhat.com>
55551
55552         New script and module: mktempd
55553         * MODULES.html.sh (maint+release support): Add mktempd.
55554         * build-aux/mktempd: New file.
55555         * modules/mktempd: New file.
55556
55557 2008-03-15  Jim Meyering  <meyering@redhat.com>
55558
55559         Undo last change.
55560         * lib/sha1.c, lib/md5.c: 63 != ~63.
55561         Reported by Andreas Schwab.
55562
55563         sha1.c, md5.c: Hoist a redundant expression.
55564         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55565         "ctx->buflen" only once, before calling *_process_block.
55566         * lib/md5.c (md5_process_bytes): Likewise.
55567
55568 2008-03-14  Eric Blake  <ebb9@byu.net>
55569
55570         Bump copyright year in files generated by gnulib-tool.
55571         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55572         gnulib-tool, rather than hard-coding it.
55573
55574         Fix 'gnulib-tool --version' output to work with git.
55575         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55576         (startup): ...here.
55577         (func_version): Use it to invoke git-version-gen, rather than
55578         relying on CVS keyword expansion.  Modernize wording.
55579         (cvsdatestamp, last_checkin_date, version): Kill unused
55580         variables.
55581
55582 2008-03-12  Jim Meyering  <meyering@redhat.com>
55583
55584         Recognize optional cast of the argument to free.
55585         * build-aux/useless-if-before-free: Update regexps.
55586
55587         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55588
55589 2008-03-11  Bruno Haible  <bruno@clisp.org>
55590
55591         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55592         by a single package.
55593         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55594         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55595         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55596         Reported by Sam Steingold <sds@gnu.org>.
55597
55598 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55599
55600         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55601         repositories.
55602
55603 2008-03-11  Bruno Haible  <bruno@clisp.org>
55604
55605         Avoid conflicts between local macro definitions.
55606         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55607         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55608
55609 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55610             Bruno Haible  <bruno@clisp.org>
55611
55612         Make va_copy work with some version of xlc on AIX 5.1.
55613         * lib/stdarg.in.h: New file.
55614         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55615         On AIX, use a <stdarg.h> file substitute.
55616         * modules/stdarg (Files): Add lib/stdarg.in.h.
55617         (Depends-on): Add include_next.
55618         (Makefile.am): Build a stdarg.h substitute if requested.
55619         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55620
55621 2008-03-10  Bruno Haible  <bruno@clisp.org>
55622
55623         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55624         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55625         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55626
55627 2008-03-10  Bruno Haible  <bruno@clisp.org>
55628
55629         * modules/stdlib (Depends-on): Add include_next, remove
55630         absolute-header.
55631
55632 2008-03-09  Bruno Haible  <bruno@clisp.org>
55633
55634         * lib/freadahead.h (freadahead): Document more precisely.
55635         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55636         the sum of both buffer sizes.
55637         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55638         * NEWS: Document the change.
55639
55640 2008-03-09  Bruno Haible  <bruno@clisp.org>
55641
55642         Extend freadptr to return also the buffer size.
55643         * lib/freadptr.h (freadptr): Add sizep argument.
55644         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55645         (freadptr): Add sizep argument. Determine buffer size like freadahead
55646         does.
55647         * tests/test-freadptr.c: Don't include freadahead.h.
55648         (main): Adapt for new calling convention of freadptr.
55649         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55650         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55651         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55652         tests/test-freadptr2.sh.
55653         (Depends): Remove freadahead.
55654         (TESTS): Add test-freadptr2.sh.
55655         (check_PROGRAMS): Add test-freadptr2.
55656
55657 2008-03-09  Bruno Haible  <bruno@clisp.org>
55658
55659         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55660         Report and solution by Simon Josefsson.
55661
55662 2008-03-06  Bruno Haible  <bruno@clisp.org>
55663
55664         Make fflush after ungetc work on BSD platforms.
55665         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55666         * tests/test-fflush2.c: New file.
55667         * tests/test-fflush2.sh: New file.
55668         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55669         tests/test-fflush2.c.
55670         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55671         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55672
55673 2008-03-06  Eric Blake  <ebb9@byu.net>
55674
55675         Likewise for ftello.
55676         * modules/ftello (Dependencies): Add extensions.
55677         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55678
55679 2008-03-06  Bruno Haible  <bruno@clisp.org>
55680
55681         * modules/fseeko (Dependencies): Add extensions.
55682         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55683         Needed on glibc systems.
55684
55685 2008-03-06  Bruno Haible  <bruno@clisp.org>
55686
55687         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55688         email address.
55689         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55690
55691 2008-03-06  Bruno Haible  <bruno@clisp.org>
55692
55693         * users.txt: Add libgnupdf.
55694
55695 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55696
55697         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55698         (Header File Substitutes, Function Substitutes,
55699         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55700         (Build robot for gnulib): Fix typo.
55701
55702 2008-03-06  Bruno Haible  <bruno@clisp.org>
55703
55704         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55705         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55706
55707 2008-03-06  Bruno Haible  <bruno@clisp.org>
55708
55709         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55710         * doc/gnulib.texi: Include it.
55711
55712 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55713
55714         * modules/func (License): Change license to unlimited; there was
55715         no LGPL parts in the module anyway.
55716
55717 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55718
55719         * modules/__func__: Renamed to modules/func.
55720         * modules/__func__-tests: Renamed to modules/func-tests.
55721         * tests/test-__func__.c: Renamed to tests/test-func.c.
55722         * m4/__func__.m4: Renamed to m4/func.m4.
55723         * doc/gnulib.texi (__func__): Section renamed to func.
55724         Suggested by Eric Blake <ebb9@byu.net>.
55725
55726 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55727
55728         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55729         about __func__.  Make example self-contained.  Suggested by Eric
55730         Blake <ebb9@byu.net>.
55731
55732         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55733         Suggested by Eric Blake <ebb9@byu.net>.
55734
55735 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55736
55737         * modules/__func__: New file.
55738         * modules/__func__-tests: New file.
55739         * tests/test-__func__.c: New file.
55740         * m4/__func__.m4: New file.
55741         * doc/gnulib.texi (__func__): Document __func__ module.
55742
55743 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55744
55745         * modules/byteswap (License): Re-license as LGPLv2+.
55746
55747 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55748
55749         * doc/Makefile: Add pdf target.
55750
55751 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55752
55753         * modules/inline (License): Use 'unlimited', since there are only
55754         *.m4 files in this module.
55755
55756 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55757             Bruno Haible  <bruno@clisp.org>
55758
55759         Add support for HP C 7.1 on OpenVMS 8.3.
55760         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55761
55762 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55763
55764         Update VMS specifics.
55765         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55766
55767 2008-03-02  Jim Meyering  <meyering@redhat.com>
55768
55769         Remove the last dependency on the "free" module.
55770         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55771         Reported by Bob Proulx.
55772
55773         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55774
55775         Remove useless "if" tests before free.  Deprecate "free" module.
55776         * doc/posix-functions/free.texi: Mention that this
55777         module is no longer useful.
55778         * modules/free (Notice): Say this module is obsolete.
55779         * modules/readutmp (Depends-on): Remove free.
55780         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55781         * lib/putenv.c (putenv): Likewise.
55782         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55783         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55784         * tests/test-c-strcasestr.c (main): Likewise.
55785         * tests/test-c-strstr.c (main): Likewise.
55786         * tests/test-mbscasestr1.c (main): Likewise.
55787         * tests/test-mbscasestr2.c (main): Likewise.
55788         * tests/test-mbsstr1.c (main): Likewise.
55789         * tests/test-mbsstr2.c (main): Likewise.
55790         * tests/test-memmem.c (main): Likewise.
55791         * tests/test-strcasestr.c (main): Likewise.
55792         * tests/test-striconv.c (main): Likewise.
55793         * tests/test-striconveh.c (main): Likewise.
55794         * tests/test-striconveha.c (main): Likewise.
55795         * tests/test-strstr.c (main): Likewise.
55796
55797         * build-aux/git-version-gen: Adjust a comment and the Usage string.
55798
55799         bootstrap: sync from coreutils again
55800         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
55801
55802 2008-03-01  Jim Meyering  <meyering@redhat.com>
55803
55804         bootstrap: sync from coreutils
55805         * build-aux/bootstrap (update_po_files): Copy a .po file into place
55806         also when the target doesn't exist.
55807
55808 2008-03-01  Eric Blake  <ebb9@byu.net>
55809
55810         Fix bugs in last patch.
55811         * lib/memchr2.c (memchr2): Fix typo.
55812         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55813         extension.
55814         Reported by Bruce Korb.
55815
55816         New module 'memchr2'.
55817         * modules/memchr2: New file.
55818         * modules/memchr2-tests: Likewise.
55819         * lib/memchr2.h: Likewise.
55820         * lib/memchr2.c: Likewise, based on memchr.c.
55821         * tests/test-memchr2.c: New test.
55822         * MODULES.html.sh (String handling): Add memchr2.
55823
55824 2008-02-29  Bruno Haible  <bruno@clisp.org>
55825
55826         * modules/freadseek-tests: New file.
55827         * tests/test-freadseek.sh: New file.
55828         * tests/test-freadseek.c: New file.
55829
55830         New module 'freadseek'.
55831         * modules/freadseek: New file.
55832         * lib/freadseek.h: New file.
55833         * lib/freadseek.c: New file.
55834         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55835
55836 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55837
55838         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55839         wydawca.
55840
55841         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55842         program_invocation_name and program_invocation_short_name are
55843         present.
55844
55845 2008-02-28  Bruno Haible  <bruno@clisp.org>
55846
55847         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55848         * tests/test-freadptr.sh: Also test non-seekable stdin.
55849
55850 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55851
55852         * build-aux/bootstrap (source_base, m4_base)
55853         (doc_base, tests_base): New variables.
55854         (gnulib_tool_options): Do not hardcode base directories, use
55855         the above variables instead.
55856
55857 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55858
55859         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55860
55861 2008-02-28  Bruno Haible  <bruno@clisp.org>
55862
55863         * modules/freadptr-tests: New file.
55864         * tests/test-freadptr.sh: New file.
55865         * tests/test-freadptr.c: New file.
55866
55867         New module 'freadptr'.
55868         * modules/freadptr: New file.
55869         * lib/freadptr.h: New file.
55870         * lib/freadptr.c: New file.
55871         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55872
55873 2008-02-26  Karl Berry  <karl@freefriends.org>
55874
55875         Sync from Libtool:
55876         * libltdl/argz.c (argz_add, argz_count): New functions.
55877         * libltdl/argz.in.h: Declare them.
55878         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55879
55880 2008-02-22  Bruno Haible  <bruno@clisp.org>
55881
55882         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55883         is a pointer type.  Needed for HP-UX 10.
55884         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55885         * doc/posix-functions/gmtime_r.texi: Likewise.
55886         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55887
55888 2008-02-24  Bruno Haible  <bruno@clisp.org>
55889
55890         * modules/environ-tests: New file.
55891         * tests/test-environ.c: New file.
55892
55893         New module 'environ'.
55894         * modules/environ: New file.
55895         * lib/unistd.in.h (environ): New declaration.
55896         * m4/environ.m4: New file.
55897         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55898         after use.
55899         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55900         HAVE_DECL_ENVIRON.
55901         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55902         HAVE_DECL_ENVIRON.
55903         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55904         wrong claim that 'environ' is missing on some systems.
55905         * modules/execute (Depends-on): Add environ.
55906         * lib/execute.c (environ): Remove fallback declaration.
55907         * modules/pipe (Depends-on): Add environ.
55908         * lib/pipe.c (environ): Remove fallback declaration.
55909         * modules/setenv (Depends-on): Add environ.
55910         * lib/setenv.c (environ): Remove fallback declaration.
55911         * modules/unsetenv (Depends-on): Add environ.
55912         * lib/unsetenv.c (environ): Remove fallback declaration.
55913         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55914         m4/environ.m4.
55915         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
55916         (gl_PREREQ_UNSETENV): Likewise.
55917
55918 2008-02-24  Bruno Haible  <bruno@clisp.org>
55919
55920         * doc/posix-functions/environ.texi: Document the MacOS X problem.
55921
55922 2008-02-20  Bob Proulx  <bob@proulx.com>
55923
55924         Enable use of older two part flavor 'git describe'.
55925         * build-aux/git-version-gen: If using the older two part flavor of
55926         git version then recreate the third part now present in the
55927         newer three part flavor of git describe.
55928
55929 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
55930
55931         * lib/fts.c (fts_build): Typo correction to comment.
55932
55933 2008-02-17  Bruno Haible  <bruno@clisp.org>
55934
55935         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
55936         generating no-op conflicts.
55937
55938 2008-02-17  Bruno Haible  <bruno@clisp.org>
55939
55940         Speed up by 10%.
55941         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
55942         result_entries, rather than an index-based loop.
55943
55944 2008-02-17  Bruno Haible  <bruno@clisp.org>
55945
55946         Speed up by 25%.
55947         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
55948         'hashcode_cached'.
55949         (entry_create): New function.
55950         (entry_hashcode): Use the cached hashcode if possible.
55951         (read_changelog_file, try_split_merged_entry): Use entry_create.
55952
55953 2008-02-17  Bruno Haible  <bruno@clisp.org>
55954
55955         Speed up from O(n^2) to O(n) for long ChangeLog files.
55956         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
55957         (read_changelog_file): Change implementation of entries_reversed list
55958         to rbtreehash.
55959         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
55960
55961 2008-02-17  Bruno Haible  <bruno@clisp.org>
55962
55963         New option --split-merged-entry.
55964         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
55965         (find_paragraph_end, try_split_merged_entry): New functions.
55966         (long_options): Add option --split-merged-entry.
55967         (usage): Document option --split-merged-entry.
55968         (main): Implement option --split-merged-entry.
55969         Reported by Eric Blake.
55970
55971 2008-02-17  Bruno Haible  <bruno@clisp.org>
55972
55973         * lib/git-merge-changelog.c: Include c-strstr.h.
55974         (main): Support the "git pull --rebase" situation.
55975         * modules/git-merge-changelog (Depends-on): Add c-strstr.
55976         Reported by Eric Blake.
55977
55978 2008-02-16  Eric Blake  <ebb9@byu.net>
55979
55980         Avoid doubling \ in common case of "c-maybe" quoting style.
55981         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
55982         eliding outer quotes.
55983         * lib/quotearg.h: Document this.
55984         * tests/test-quotearg.c (result_strings, inputs, results_g)
55985         (flag_results, locale_results): Test it by adding a new string to
55986         each test group.
55987         (compare_strings): Test new string.
55988
55989 2008-02-13  Eric Blake  <ebb9@byu.net>
55990
55991         Avoid trigraph quoting in default output.
55992         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
55993         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
55994         unless explicitly requested.
55995         * tests/test-quotearg.c (flag_results, main): Add additional tests.
55996
55997 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
55998
55999         Don't rely on signed integer overflowing to negative value.
56000         * lib/getugroups.c (getugroups): Include <limits.h>.
56001         Instead, compare against INT_MAX, and increment only if the test passes.
56002
56003 2008-02-13  Jim Meyering  <meyering@redhat.com>
56004         and Eric Blake  <ebb9@byu.net>
56005
56006         Avoid shadowing warning and compile errors on Linux.
56007         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56008         forwarding macros on Linux.
56009         (dcgettext): Define a stub, for Linux.
56010         (results_g, main): Avoid warnings.
56011
56012 2008-02-12  Eric Blake  <ebb9@byu.net>
56013
56014         Silence warning in last patch.
56015         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56016
56017         Quotearg part 4: add tests, fix c-maybe colon quoting.
56018         * lib/quotearg.h: Improve documentation.
56019         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56020         escapes when adding outer quotes.  When quoting trigraphs, use
56021         valid C notation.  When quoting NUL, omit extra characters if next
56022         character is not digit.  Alter prototype.
56023         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56024         callers.
56025         * modules/quotearg-tests: New module.
56026         * tests/test-quotearg.c: New test.
56027
56028 2008-02-07  Eric Blake  <ebb9@byu.net>
56029
56030         Quotearg part 3: add flag to control outer quote elision.
56031         * lib/quotearg.h (c_maybe_quoting_style): New style.
56032         (enum quoting_flags): Better documentation of flags.
56033         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56034         c-maybe style.
56035         (quotearg_buffer_restyled): Handle new flag to elide outer
56036         quotes.
56037
56038         Quotearg part 2: add flag that can control NUL elision.
56039         * lib/quotearg.h (set_quoting_flags): New prototype.
56040         * lib/quotearg.c (struct quoting_options): Add flag field.
56041         (set_quoting_flags): New function.
56042         (quotearg_buffer_restyled): Add flags parameter.
56043         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56044         (quotearg_n_options): Set the flag, since length cannot be
56045         returned.
56046         (quoting_options_from_style): Default flags correctly.
56047
56048         Quotearg part 1: more wrappers, restore quotearg_char state.
56049         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56050         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56051         (quotearg_colon_mem): New wrappers.
56052         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56053         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56054         functions.
56055         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56056         (quotearg_colon_mem): New functions.
56057
56058 2008-02-11  Bruno Haible  <bruno@clisp.org>
56059
56060         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56061         library in the current directory: it does not work with parallel make.
56062         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56063
56064 2008-02-11  Bruno Haible  <bruno@clisp.org>
56065
56066         * .gitattributes: New file.
56067
56068 2008-02-11  Jim Meyering  <meyering@redhat.com>
56069
56070         useless-if-before-free: Fix reversed exit values.
56071         * build-aux/useless-if-before-free: Use correct values
56072         for EXIT_MATCH and EXIT_NO_MATCH.
56073
56074         * build-aux/useless-if-before-free: Close stdout carefully.
56075
56076 2008-02-10  Bruno Haible  <bruno@clisp.org>
56077
56078         New module 'git-merge-changelog'.
56079         * modules/git-merge-changelog: New file.
56080         * lib/git-merge-changelog.c: New file.
56081
56082 2008-02-10  Jim Meyering  <meyering@redhat.com>
56083
56084         useless-if-before-free: New option: --list (-l).
56085
56086         useless-if-before-free: Don't exit immediately upon open failure.
56087         * build-aux/useless-if-before-free: Exit 2 for errors.
56088         Upon failure to open a file, don't exit immediately.
56089         Rather, just warn and continue with any remaining files.
56090
56091 2008-02-10  Bruno Haible  <bruno@clisp.org>
56092
56093         New abstract list operation 'node_set_value'.
56094         * lib/gl_list.h (gl_list_node_set_value): New function.
56095         (struct gl_list_implementation): New field node_set_value.
56096         * lib/gl_list.c (gl_list_node_set_value): New function.
56097         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56098         (gl_array_list_implementation): Update.
56099         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56100         (gl_carray_list_implementation): Update.
56101         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56102         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56103         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56104         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56105         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56106         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56107         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56108         Update.
56109         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56110         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56111         (gl_sublist_list_implementation): Update.
56112
56113 2008-02-10  Bruno Haible  <bruno@clisp.org>
56114
56115         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56116         Needed when ELEMENT is #defined to 'some_type *'.
56117
56118 2008-02-10  Jim Meyering  <meyering@redhat.com>
56119
56120         New script and module: useless-if-before-free
56121         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56122         * build-aux/useless-if-before-free: New file.
56123         * modules/useless-if-before-free: New file.
56124
56125         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56126
56127         xstrtol_error: Fix typo.
56128         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56129         s/exit_failure/exit_status/.
56130
56131 2008-02-09  Jim Meyering  <meyering@redhat.com>
56132
56133         New script and module: gitlog-to-changelog
56134         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56135         * modules/gitlog-to-changelog: New file.
56136         * build-aux/gitlog-to-changelog: New file.
56137
56138 2008-02-08  Jim Meyering  <meyering@redhat.com>
56139
56140         Avoid two "parameter unused" warnings.
56141         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56142         Mark "st" as used.
56143
56144         Use "git COMMAND", not "git-COMMAND".
56145         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56146         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56147         * build-aux/git-version-gen: Use "git status", not "git-status".
56148
56149 2008-02-07  Bruno Haible  <bruno@clisp.org>
56150
56151         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56152         Avoids a crash on Windows Vista.
56153         Reported by Adam Strzelecki <ono@java.pl> via
56154         Simon Josefsson <simon@josefsson.org>.
56155
56156 2008-02-06  Bruno Haible  <bruno@clisp.org>
56157
56158         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56159         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56160         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56161         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56162         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56163         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56164         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56165         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56166         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56167         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56168         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56169         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56170         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56171         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56172         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56173         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56174         left-adjust flag.
56175         * tests/test-snprintf-posix.h (test_function): Likewise.
56176         * tests/test-sprintf-posix.h (test_function): Likewise.
56177         * tests/test-vasprintf-posix.c (test_function): Likewise.
56178         * doc/posix-functions/fprintf.texi: Update.
56179         * doc/posix-functions/printf.texi: Update.
56180         * doc/posix-functions/snprintf.texi: Update.
56181         * doc/posix-functions/sprintf.texi: Update.
56182         * doc/posix-functions/vfprintf.texi: Update.
56183         * doc/posix-functions/vprintf.texi: Update.
56184         * doc/posix-functions/vsnprintf.texi: Update.
56185         * doc/posix-functions/vsprintf.texi: Update.
56186         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56187
56188 2008-02-06  Bruno Haible  <bruno@clisp.org>
56189
56190         Fix bug introduced on 2008-01-26.
56191         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56192
56193 2008-02-06  Bruno Haible  <bruno@clisp.org>
56194
56195         Fix bug introduced on 2007-06-10.
56196         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56197         !NEED_PRINTF_FLAG_ZERO.
56198
56199 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56200
56201         getloadavg: use libperfstat on AIX5
56202         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56203
56204 2008-02-03  Bruno Haible  <bruno@clisp.org>
56205
56206         * lib/diffseq.h: Add comments about required #includes.
56207         Reported by Michael Biggs <gnulib@doubleplum.net>.
56208
56209 2008-02-01  Bruno Haible  <bruno@clisp.org>
56210
56211         * users.txt: Add gnuit.
56212
56213 2008-01-31  Bruno Haible  <bruno@clisp.org>
56214
56215         * lib/md4.c (set_uint32): Mark as inline.
56216         * lib/md5.c (set_uint32): Likewise.
56217         * lib/sha1.c (set_uint32): Likewise.
56218         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56219         * m4/md5.m4 (gl_MD5): Likewise.
56220         * m4/sha1.m4 (gl_SHA1): Likewise.
56221
56222 2008-01-31  Jim Meyering  <meyering@redhat.com>
56223
56224         Use "sizeof VAR", rather than a literal "4".
56225         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56226         * lib/md4.c (md4_read_ctx): Likewise.
56227         * lib/sha1.c (sha1_read_ctx): Likewise.
56228
56229 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56230
56231         * tests/test-sha1.c: New file, based on test-md5.c.
56232
56233         * modules/crypto/sha1-tests: New file.
56234
56235 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56236
56237         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56238
56239 2008-01-31  Jim Meyering  <meyering@redhat.com>
56240
56241         Prefer "sizeof v" over the equivalent "4".
56242         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56243         * lib/md5.c (set_uint32): Likewise.
56244         * lib/sha1.c (set_uint32): Likewise.
56245
56246 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56247
56248         * lib/sha1.c (set_uint32): Mark function as static.
56249
56250 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56251
56252         md2: clarify comments to say that alignment is not required.
56253         * lib/md2.h: Remove warning about alignment in comment.
56254         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56255         never been required.
56256
56257 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56258
56259         md4: adapt alignment constraint fix from sha1.
56260         * lib/md4.c (set_uint32): New function, from sha1.c
56261         (md4_read_ctx): Use it.
56262         (md4_finish_ctx): Doc fix.
56263         * lib/md4.h: Doc fix.
56264
56265 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56266
56267         md5: adapt alignment constraint fix from sha1.
56268         * lib/md5.c (set_uint32): New function, from sha1.c
56269         (md5_read_ctx): Use it.
56270         (md5_finish_ctx): Doc fix.
56271         * lib/md5.h: Doc fix.
56272
56273 2008-01-30  Peter Palfrader  <weasel@debian.org>
56274
56275         sha1: remove the result buffer alignment constraint
56276         * lib/sha1.c (set_uint32): New function.
56277         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56278         constraint.
56279         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56280         * lib/sha1.h: Likewise.
56281
56282 2008-01-30  Andreas Schwab  <schwab@suse.de>
56283             Bruno Haible  <bruno@clisp.org>
56284
56285         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56286         correct definition of LDBL_MIN_EXP.
56287
56288 2008-01-30  Karl Berry  <karl@gnu.org>
56289
56290         * config/srclist-update: try to preserve x bit on updates.
56291         * config/srclistvars.sh: update for karl.
56292
56293 2008-01-29  Jim Meyering  <meyering@redhat.com>
56294
56295         vasnprintf.c: Avoid warning about unused label
56296         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56297         "overflow" label definition and associated code with the
56298         same cpp condition that guards the sole use of that label.
56299
56300 2008-01-26  Bruno Haible  <bruno@clisp.org>
56301
56302         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56303         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56304         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56305         * lib/isnanl-nolibm.h (isnanl): Likewise.
56306         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56307
56308 2008-01-26  Bruno Haible  <bruno@clisp.org>
56309
56310         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56311         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56312
56313 2008-01-26  Bruno Haible  <bruno@clisp.org>
56314
56315         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56316         GCC >= 4.0 built-in.
56317         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56318
56319 2008-01-26  Bruno Haible  <bruno@clisp.org>
56320
56321         Rename isnan, applicable to 'double' only, to isnand.
56322         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56323         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56324         (configure.ac): Update.
56325         (Include): Replace "isnan.h" with "isnand.h".
56326         * m4/isnand.m4: Renamed from m4/isnan.m4.
56327         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56328         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56329         instead of isnan.c.
56330         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56331         instead of HAVE_ISNAN_IN_LIBC.
56332         (isnand): Renamed from isnan.
56333         * lib/isnand.c: New file.
56334         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56335         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56336         (Makefile.am): Update.
56337         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56338         Include isnand.h instead of isnan.h.
56339         (main): Test isnand instead of isnan.
56340         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56341         isnan-nolibm.
56342         * modules/frexp (Depends-on): Likewise.
56343         * modules/frexp-tests (Depends-on): Likewise.
56344         * modules/frexp-nolibm (Depends-on): Likewise.
56345         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56346         * modules/isfinite (Depends-on): Likewise.
56347         * modules/round-tests (Depends-on): Likewise.
56348         * modules/signbit (Depends-on): Likewise.
56349         * modules/signbit-tests (Depends-on): Likewise.
56350         * modules/snprintf-posix (Depends-on): Likewise.
56351         * modules/sprintf-posix (Depends-on): Likewise.
56352         * modules/trunc-tests (Depends-on): Likewise.
56353         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56354         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56355         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56356         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56357         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56358         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56359         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56360         * modules/vasnprintf-posix (Depends-on): Likewise.
56361         * modules/vasprintf-posix (Depends-on): Likewise.
56362         * modules/vfprintf-posix (Depends-on): Likewise.
56363         * modules/vsnprintf-posix (Depends-on): Likewise.
56364         * modules/vsprintf-posix (Depends-on): Likewise.
56365         * lib/frexp.c: Include isnand.h instead of isnan.h.
56366         (ISNAN): Set to isnand instead of isnan.
56367         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56368         (gl_isfinited): Use isnand instead of isnan.
56369         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56370         (gl_signbitd): Use isnand instead of isnan.
56371         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56372         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56373         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56374         (main): Use isnand instead of isnan.
56375         * tests/test-round1.c: Include isnand.h.
56376         (main): Use isnand instead of isnan.
56377         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56378         (ISNAN): Set to isnand instead of isnan.
56379         * tests/test-trunc1.c: Include isnand.h.
56380         (main): Use isnand instead of isnan.
56381         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56382         (equal): Use isnand instead of isnan.
56383         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56384         isnand-nolibm.
56385         * NEWS: Mention the change.
56386
56387 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56388             Bruno Haible  <bruno@clisp.org>
56389
56390         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56391         the GCC builtins for signbits are present and set
56392         REPLACE_SIGNBIT_USING_GCC if so.
56393         * lib/math.in.h (signbit): Define using GCC builtins if
56394         REPLACE_SIGNBIT_USING_GCC is set.
56395         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56396         REPLACE_SIGNBIT_USING_GCC.
56397         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56398
56399 2008-01-25  Jim Meyering  <meyering@redhat.com>
56400
56401         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56402         * lib/poll.c: Include <config.h>, not "config.h".
56403         * tests/test-getaddrinfo.c: Likewise.
56404
56405 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56406
56407         * modules/sockets-tests: New file.
56408
56409 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56410
56411         * modules/sockets: New module, can be used to call WSA_Startup and
56412         WSA_Cleanup when needed.
56413
56414         * lib/sockets.h, lib/sockets.c: New files.
56415
56416         * m4/sockets.m4: New file.
56417
56418         * tests/test-sockets.c: New file.
56419
56420 2008-01-19  Bruno Haible  <bruno@clisp.org>
56421
56422         * doc/posix-headers: Renamed from doc/headers.
56423         * doc/posix-functions: Renamed from doc/functions.
56424         * doc/gnulib.texi: Update.
56425
56426 2008-01-19  Bruno Haible  <bruno@clisp.org>
56427
56428         * doc/glibc-functions/strcasestr.texi: Include contents of
56429         doc/functions/strcasestr.texi, fixing the list of platforms.
56430         * doc/functions/strcasestr.texi: Remove file.
56431
56432 2008-01-19  Bruno Haible  <bruno@clisp.org>
56433
56434         * doc/glibc-functions/memmem.texi: Include contents of
56435         doc/functions/memmem.texi.
56436         * doc/functions/memmem.texi: Remove file.
56437
56438 2008-01-18  Bruno Haible  <bruno@clisp.org>
56439
56440         * doc/glibc-functions/*.texi: New files.
56441         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56442         to use the new files.
56443
56444 2008-01-17  Bruno Haible  <bruno@clisp.org>
56445
56446         * tests/test-gethostname.c (main): Fix printf statement.
56447
56448 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56449
56450         * modules/gethostname-tests: New file.
56451
56452         * tests/test-gethostname.c: New file.
56453
56454 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56455
56456         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56457         used by the UNAME case.  Reported by Bruno Haible
56458         <bruno@clisp.org>.
56459
56460 2008-01-17  Eric Blake  <ebb9@byu.net>
56461
56462         Convert c-strcasestr to be more efficient.
56463         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56464         (Depends-on): Add c-strcase, remove malloca, strnlen.
56465         * tests/test-c-strcasestr.c (main): Enhance test.
56466         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56467
56468 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56469
56470         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56471         Use it in creating po/Makevars.
56472
56473 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56474
56475         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56476         Applications that requires it should initialize libgcrypt
56477         manually.
56478
56479 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56480
56481         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56482
56483 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56484
56485         Fix problem with getdate on mingw32 reported by Simon Josefsson
56486         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56487         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56488         tzname", when deciding whether to declare tzname.
56489         * lib/strftime.c (tzname): Likewise.
56490
56491 2008-01-15  Bruno Haible  <bruno@clisp.org>
56492
56493         Work around a MacOS X 10.5 bug in frexpl().
56494         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56495         * doc/functions/frexpl.texi: Document the bug.
56496         Reported by Elias Pipping <pipping@gentoo.org>.
56497
56498 2008-01-14  Eric Blake  <ebb9@byu.net>
56499
56500         Touch up previous patch.
56501         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56502         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56503
56504         Convert strcasestr module to use Two-Way algorithm.
56505         * modules/strcasestr-simple: New module, based on the old
56506         strcasestr, but with Two-Way rather than KMP.
56507         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56508         * lib/string.in.h (rpl_strcasestr): Declare.
56509         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56510         performance.
56511         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56512         * modules/string (Makefile.am): Support strcasestr.
56513         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56514         * modules/strcasestr-tests (Depends-on): Check for alarm.
56515         * tests/test-strcasestr.c: Augment test.
56516         * lib/str-two-way.h: Clean up stray macro.
56517         * NEWS: Document new module.
56518         * MODULES.html.sh (string handling): Likewise.
56519         * doc/functions/strcasestr.texi: New file.
56520         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56521         here, since it is not a POSIX function.
56522
56523 2008-01-14  Colin Watson  <cjwatson@debian.org>
56524             Bruno Haible  <bruno@clisp.org>
56525
56526         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56527         works fine; if not, set REPLACE_STRSIGNAL.
56528         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56529         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56530         REPLACE_STRSIGNAL.
56531         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56532         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56533         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56534
56535 2008-01-14  Bruno Haible  <bruno@clisp.org>
56536
56537         * modules/strsignal (Include): Change to <string.h>.
56538
56539 2008-01-14  Colin Watson  <cjwatson@debian.org>
56540
56541         * modules/argp (Notice): Add a notice recommending to change
56542         XGETTEXT_OPTIONS.
56543         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56544
56545 2008-01-13  Colin Watson  <cjwatson@debian.org>
56546
56547         * modules/strsignal-tests: New file.
56548         * tests/test-strsignal.c: New file.
56549
56550         * lib/strsignal.c: New file, from glibc with modifications.
56551         * lib/siglist.h: New file, from glibc with modifications.
56552         * lib/string.in.h (strsignal): New declaration.
56553         * m4/strsignal.m4: New file.
56554         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56555         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56556         * modules/strsignal: New file.
56557         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56558         HAVE_DECL_STRSIGNAL.
56559
56560 2008-01-13  Bruno Haible  <bruno@clisp.org>
56561
56562         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56563         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56564         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56565         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56566
56567 2008-01-13  Bruno Haible  <bruno@clisp.org>
56568
56569         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56570         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56571         * lib/argp.h (__attribute__): Likewise.
56572         * lib/c-stack.c (__attribute__): Likewise.
56573         * lib/error.h (__attribute__): Likewise.
56574         * lib/fts.c (__attribute__): Likewise.
56575         * lib/openat.h (__attribute__): Likewise.
56576         * lib/stdio.in.h (__attribute__): Likewise.
56577         * lib/string.in.h (__attribute__): Likewise.
56578         * lib/utimens.c (__attribute__): Likewise.
56579         * lib/vasnprintf.h (__attribute__): Likewise.
56580         * lib/xalloc.h (__attribute__): Likewise.
56581         * lib/xprintf.h (__attribute__): Likewise.
56582         * lib/xstrtol.h (__attribute__): Likewise.
56583         * lib/xvasprintf.h (__attribute__): Likewise.
56584
56585 2008-01-12  Bruno Haible  <bruno@clisp.org>
56586
56587         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56588         * doc/glibc-headers/a.out.texi: New file.
56589         * doc/glibc-headers/aliases.texi: New file.
56590         * doc/glibc-headers/alloca.texi: New file.
56591         * doc/glibc-headers/ar.texi: New file.
56592         * doc/glibc-headers/argp.texi: New file.
56593         * doc/glibc-headers/argz.texi: New file.
56594         * doc/glibc-headers/byteswap.texi: New file.
56595         * doc/glibc-headers/crypt.texi: New file.
56596         * doc/glibc-headers/endian.texi: New file.
56597         * doc/glibc-headers/envz.texi: New file.
56598         * doc/glibc-headers/err.texi: New file.
56599         * doc/glibc-headers/error.texi: New file.
56600         * doc/glibc-headers/execinfo.texi: New file.
56601         * doc/glibc-headers/fpu_control.texi: New file.
56602         * doc/glibc-headers/fstab.texi: New file.
56603         * doc/glibc-headers/fts.texi: New file.
56604         * doc/glibc-headers/getopt.texi: New file.
56605         * doc/glibc-headers/ieee754.texi: New file.
56606         * doc/glibc-headers/ifaddrs.texi: New file.
56607         * doc/glibc-headers/libintl.texi: New file.
56608         * doc/glibc-headers/mcheck.texi: New file.
56609         * doc/glibc-headers/mntent.texi: New file.
56610         * doc/glibc-headers/obstack.texi: New file.
56611         * doc/glibc-headers/paths.texi: New file.
56612         * doc/glibc-headers/printf.texi: New file.
56613         * doc/glibc-headers/pty.texi: New file.
56614         * doc/glibc-headers/resolv.texi: New file.
56615         * doc/glibc-headers/shadow.texi: New file.
56616         * doc/glibc-headers/sysexits.texi: New file.
56617         * doc/glibc-headers/ttyent.texi: New file.
56618
56619 2008-01-12  Jim Meyering  <meyering@redhat.com>
56620
56621         announce-gen: emit Gnulib's git-based version string.
56622         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56623         New option --gnulib-version=V, where V is expected to be
56624         the output of running git describe in the gnulib directory.
56625         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56626         not useful, and plan to stop publishing an xdelta file with each
56627         coreutils release.
56628
56629         * build-aux/announce-gen: Also check for lzma-compressed files.
56630
56631 2008-01-11  Bruno Haible  <bruno@clisp.org>
56632
56633         * tests/test-memmem.c (main): Increase maximum allowed time.
56634         * tests/test-strstr.c (main): Likewise.
56635
56636 2008-01-11  Bruno Haible  <bruno@clisp.org>
56637
56638         * doc/functions/memmem.texi: Add more precisions about platforms.
56639         * doc/functions/strstr.texi: Likewise.
56640
56641 2008-01-10  Eric Blake  <ebb9@byu.net>
56642
56643         * m4/strstr.m4: Delete cruft from copy-n-paste.
56644         Reported by Bruno Haible.
56645
56646 2008-01-10  Bruno Haible  <bruno@clisp.org>
56647
56648         Make c-strstr rely on strstr.
56649         * lib/c-strstr.c: Don't include str-kmp.h.
56650         (c_strstr): Define in terms of strstr.
56651         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56652         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56653
56654 2008-01-10  Bruno Haible  <bruno@clisp.org>
56655
56656         * doc/gnulib.texi (String Functions in C Locale): New section.
56657         * doc/c-ctype.texi: New file.
56658         * doc/c-strcase.texi: New file.
56659         * doc/c-strcaseeq.texi: New file.
56660         * doc/c-strcasestr.texi: New file.
56661         * doc/c-strstr.texi: New file.
56662         * doc/c-strtod.texi: New file.
56663         * doc/c-strtold.texi: New file.
56664
56665 2008-01-10  Eric Blake  <ebb9@byu.net>
56666
56667         * lib/relocatable.h: Fix a comment.
56668
56669 2008-01-10  Eric Blake  <ebb9@byu.net>
56670
56671         Share two-way algorithm.
56672         * lib/str-two-way.h: New file, merged from...
56673         * lib/memmem.c: ...here...
56674         * lib/strstr.c: ...and here.
56675         * modules/memmem (Files): Use it.
56676         * modules/strstr (Files): Likewise.
56677
56678         Avoid quadratic strstr implementations.
56679         * lib/strstr.c: New file.
56680         * m4/strstr.m4: Likewise.
56681         * modules/strstr: Likewise.
56682         * modules/strstr-tests: Likewise.
56683         * tests/test-strstr.c: Likewise.
56684         * lib/string.in.h (rpl_strstr): Declare.
56685         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56687         * modules/string (Makefile.am): Likewise.
56688         * MODULES.html.sh (string handling): Mention new module.
56689         * doc/functions/strstr.texi (strstr): Document the bug.
56690
56691 2008-01-10  Bruno Haible  <bruno@clisp.org>
56692
56693         * lib/relocatable.h (relocate): State whether result is freshly
56694         allocated or not.
56695         * lib/relocatable.c (relocate): Return a freshly allocated string
56696         instead of a pointer to a privately held string.
56697         Reported by Sylvain Beucler <beuc@gnu.org>.
56698
56699 2008-01-10  Colin Watson  <cjwatson@debian.org>
56700
56701         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56702         s/S_ISNLK/S_ISLNK/.
56703
56704 2008-01-09  Bruno Haible  <bruno@clisp.org>
56705
56706         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56707         and other files.
56708         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56709         if it's only a guess.
56710         * modules/memmem: Simplify by depending on memmem-simple.
56711
56712 2008-01-09  Bruno Haible  <bruno@clisp.org>
56713
56714         Work around OpenBSD 4.0 tdelete() bug.
56715         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56716         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56717         macros and don't redefine the enum values.
56718         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56719         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56720         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56721
56722 2008-01-09  Bruno Haible  <bruno@clisp.org>
56723
56724         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56725         (main): Don't perform the tests if setlocale did not install a UTF-8
56726         locale. Needed on OpenBSD 4.0.
56727         * modules/wcwidth-tests (Depends-on): Add localcharset.
56728
56729 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56730
56731         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56732         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56733         * NEWS: announce this.
56734         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56735
56736 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56737         and Eric Blake  <ebb9@byu.net>
56738
56739         Add memmem-simple module.
56740         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56741         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56742         * modules/memmem-simple: New file.
56743         * modules/memmem (Description): Tweak.
56744         * MODULES.html.sh (string handling): Mention new module.
56745         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56746         addressed by memmem-simple.
56747         * NEWS: Document the difference.
56748
56749 2008-01-09  Eric Blake  <ebb9@byu.net>
56750
56751         Give gcc some memmem optimization hints.
56752         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56753         (strcasestr): Declare as pure.
56754         * modules/memmem (Maintainer): Claim my implementation.
56755
56756 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56757
56758         Support AIX 6.1 and higher.
56759         * build-aux/config.libpath: Likewise.
56760         * build-aux/config.rpath: Likewise.
56761
56762 2008-01-08  Jim Meyering  <meyering@redhat.com>
56763             Bruno Haible  <bruno@clisp.org>
56764
56765         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56766         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56767         Reported by Peter Fales in
56768         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56769
56770 2008-01-08  Bruno Haible  <bruno@clisp.org>
56771
56772         * modules/unictype/category-of (Depends-on): Add
56773         unictype/category-none.
56774         * modules/unictype/category-and-tests (Depends-on): Add
56775         unictype/category-{L,N,Lu,Nd}.
56776         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56777         * modules/unictype/category-or-tests (Depends-on): Add
56778         unictype/category-{L,N}.
56779         * modules/unictype/category-name-tests (Depends-on): Add
56780         unictype/category-{Z,Nl}.
56781         Reported by Simon Josefsson.
56782
56783 2008-01-08  Bruno Haible  <bruno@clisp.org>
56784
56785         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56786         convention better.
56787         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56788         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56789         Reported by Peter Miller <millerp@canb.auug.org.au>.
56790
56791 2008-01-08  Eric Blake  <ebb9@byu.net>
56792
56793         Rewrite memmem to guarantee linear complexity without malloc.
56794         * lib/memmem.c (memmem): Use Two-Way rather than
56795         Knuth-Morris-Pratt, to allow O(1) space usage.
56796         (critical_factorization, two_way_short_needle)
56797         (two_way_long_needle): New functions.
56798         (knuth_morris_pratt): Delete.
56799         * modules/memmem (Depends-on): No longer need malloca or stdbool.
56800         Add stdint.
56801         * tests/test-memmem.c (main): Add tests for periodic needle and
56802         sublinear performance.
56803         * doc/functions/memmem.texi (memmem): Document other deficiencies
56804         in cygwin and older glibc.
56805
56806 2008-01-08  Bruno Haible  <bruno@clisp.org>
56807
56808         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
56809         augmentation.
56810
56811 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56812
56813         Add a configure time option: --disable-acl.
56814         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56815         AC_ARG_ENABLE(acl).
56816
56817 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56818
56819         * tests/test-localename.c: Don't include obsolete "setenv.h".
56820
56821         * modules/localename-tests (Depends-on): Need unsetenv.
56822
56823 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56824
56825         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56826
56827 2008-01-06  Colin Watson  <cjwatson@debian.org>
56828
56829         * users.txt: Add man-db.
56830
56831 2008-01-07  Bruno Haible  <bruno@clisp.org>
56832
56833         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56834         previous section name.
56835
56836 2008-01-07  Bruno Haible  <bruno@clisp.org>
56837
56838         * lib/progname.c (set_program_name): Don't strip off a leading
56839         "lt-" prefix outside a .libs directory.
56840         Suggested by Paul Eggert.
56841
56842 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56843             Bruno Haible  <bruno@clisp.org>
56844
56845         Improve memory cleanup in 'relocatable' module.
56846         * lib/relocatable.h (compute_curr_prefix): Change return type to
56847         'char *'.
56848         * lib/relocatable.c (compute_curr_prefix): Change return type to
56849         'char *'. Free curr_installdir after use.
56850         (relocate): Free curr_prefix_better after use.
56851         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56852
56853 2008-01-01  Bruno Haible  <bruno@clisp.org>
56854
56855         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56856         failure on older glibc systems.
56857         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56858
56859 2008-01-05  Eric Blake  <ebb9@byu.net>
56860
56861         Avoid quadratic system memmem.
56862         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56863         Reported by Ralf Wildenhues.
56864
56865         Fix memmem test for mingw.
56866         * modules/memmem-tests (configure.ac): Check for alarm.
56867         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56868         it.
56869         * doc/functions/memmem.texi: New file.
56870         * doc/gnulib.texi (Function Substitutes): Add memmem.
56871         Reported by Bruno Haible.
56872
56873 2008-01-04  Bruno Haible  <bruno@clisp.org>
56874
56875         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56876         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56877         gl_HEADER_STRING_H_DEFAULTS.
56878
56879 2008-01-04  Eric Blake  <ebb9@byu.net>
56880
56881         Shorten duration of memmem test.
56882         * tests/test-memmem.c (main): Use alarm to declare failure if test
56883         is taking too long.
56884         Reported by Ralf Wildenhues.
56885
56886 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56887
56888         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56889         string, needed by strerror.
56890
56891 2008-01-03  Colin Watson  <cjwatson@debian.org>
56892             Bruno Haible  <bruno@clisp.org>
56893
56894         * doc/gnulib-tool.texi (Localization): New section.
56895
56896 2008-01-02  Bruno Haible  <bruno@clisp.org>
56897
56898         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56899         variables to 'unsigned char *' type.
56900         Reported by Paul Eggert.
56901
56902 2008-01-02  Jim Meyering  <jim@meyering.net>
56903
56904         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56905
56906 2007-12-31  Jim Meyering  <jim@meyering.net>
56907
56908         Avoid use of private FTS type name.
56909         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56910
56911 2007-12-30  Karl Berry  <karl@gnu.org>
56912
56913         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56914         work around defect in Texinfo and/or the standalone Info browser.
56915
56916 2007-12-30  Bruno Haible  <bruno@clisp.org>
56917
56918         Unify 5 copies of the KMP code.
56919         * lib/str-kmp.h: New file.
56920         * lib/c-strcasestr.c: Include str-kmp.h.
56921         (knuth_morris_pratt): Remove function.
56922         (c_strcasestr): Update.
56923         * lib/c-strstr.c: Include str-kmp.h.
56924         (knuth_morris_pratt): Remove function.
56925         (c_strcasestr): Update.
56926         * lib/mbscasestr.c: Include str-kmp.h.
56927         (knuth_morris_pratt_unibyte): Remove function.
56928         * lib/mbsstr.c: Include str-kmp.h.
56929         (knuth_morris_pratt_unibyte): Remove function.
56930         * lib/strcasestr.c: Include str-kmp.h.
56931         (knuth_morris_pratt): Remove function.
56932         (strcasestr): Update.
56933         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
56934         * modules/c-strstr (Files): Likewise.
56935         * modules/mbscasestr (Files): Likewise.
56936         * modules/mbsstr (Files): Likewise.
56937         * modules/strcasestr (Files): Likewise.
56938         Suggested by Paul Eggert.
56939
56940 2007-12-30  Bruno Haible  <bruno@clisp.org>
56941
56942         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
56943         defined.
56944
56945 2007-12-30  Bruno Haible  <bruno@clisp.org>
56946
56947         * lib/xmalloca.h: Include xalloc.h.
56948         (xnmalloca): New macro.
56949
56950 2007-12-30  Bruno Haible  <bruno@clisp.org>
56951
56952         * lib/malloca.h (nmalloca): New macro.
56953         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
56954         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
56955         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
56956         knuth_morris_pratt_multibyte): Likewise.
56957         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
56958         knuth_morris_pratt_multibyte): Likewise.
56959         * lib/memmem.c (knuth_morris_pratt): Likewise.
56960         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
56961
56962 2007-12-25  Bruno Haible  <bruno@clisp.org>
56963
56964         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
56965         * lib/glob.c: Don't include openat.h.
56966         (link_exists2_p): Add back the code that deals with the
56967         !GLOB_ALTDIRFUNC case.
56968         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
56969         let it do the filename concatenation.
56970         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
56971         * modules/glob (Depends-on): Remove openat.
56972
56973 2007-12-31  Bruno Haible  <bruno@clisp.org>
56974
56975         * modules/dirfd (License): Change to LGPLv2+.
56976         Approved by Jim Meyering.
56977
56978 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56979
56980         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
56981         when multiplying M by sizeof (size_t).
56982
56983 2007-12-10  Martin Lambers  <marlam@marlam.de>
56984
56985         Override getpagesize on mingw.
56986         * lib/getpagesize.c: New file.
56987         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
56988         * modules/getpagesize (Files): Add lib/getpagesize.c.
56989         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
56990         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56991         REPLACE_GETPAGESIZE.
56992         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
56993
56994 2007-12-25  Bruno Haible  <bruno@clisp.org>
56995
56996         * modules/localcharset (Notice): New field.
56997         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
56998         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56999
57000 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57001             Bruno Haible  <bruno@clisp.org>
57002
57003         Avoid using the syntax symbol() in formatted documentation.
57004         * MODULES.html.sh (func_module): When replacing symbol() with a
57005         hyperlink, remove the parentheses. Show an error if some remain.
57006         Recognize and render the '...' syntax.
57007         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57008         Rework. Add paragraph about GCC's inlining.
57009         * doc/alloca.texi: Likewise.
57010         * doc/error.texi: Remove parentheses from symbol reference.
57011         * doc/gnulib-intro.texi: Likewise.
57012         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57013         * modules/fnmatch (Description): Reword to say "the ... function".
57014         * modules/full-read (Description): Likewise.
57015         * modules/full-write (Description): Likewise.
57016         * modules/safe-read (Description): Likewise.
57017         * modules/safe-write (Description): Likewise.
57018         * modules/strchrnul (Description): Likewise.
57019         * modules/trim (Description): Likewise.
57020         * modules/error (Description): Remove parentheses from symbol
57021         references.
57022         * modules/verror (Description): Likewise.
57023         Reported by Karl Berry.
57024
57025 2007-12-25  Bruno Haible  <bruno@clisp.org>
57026
57027         Fixup after 2007-10-16 commit.
57028         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57029
57030 2007-12-24  Bruno Haible  <bruno@clisp.org>
57031
57032         Make --enable-relocatable work with DESTDIR.
57033         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57034         to compute installdir from destprog.
57035         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57036         also set the RELOC_DESTDIR variable.
57037         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57038
57039 2007-12-24  Bruno Haible  <bruno@clisp.org>
57040
57041         Fix link error due to xalloc_die().
57042         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57043         of xreadlink.
57044         * lib/relocwrapper.c: Update comments.
57045         * build-aux/install-reloc: Remove xreadlink.c from file list.
57046         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57047         xreadlink.c.
57048         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57049
57050 2007-12-24  Bruno Haible  <bruno@clisp.org>
57051
57052         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57053         * lib/setenv.h: Remove file.
57054         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57055         lib/setenv.h.
57056         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57057         (Depends-on): Add stdlib.
57058         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57059         gl_FUNC_UNSETENV.
57060         (Include): Replace setenv.h with <stdlib.h>.
57061         * modules/unsetenv: New file.
57062         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57063         * lib/unsetenv.c: Include <stdlib.h> first.
57064         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57065         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57066         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57067         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57068         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57069         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57070         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57071         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57072         * doc/functions/unsetenv.texi: Update.
57073         * modules/xsetenv (Depends-on): Add unsetenv.
57074         * modules/getdate (Depends-on): Likewise.
57075         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57076         * lib/xsetenv.c: Don't include setenv.h.
57077         * lib/getdate.y: Likewise.
57078         * lib/relocwrapper.c: Likewise.
57079         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57080         (Depends-on): Add stdlib.
57081         * NEWS: Mention the changes.
57082         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57083
57084 2007-12-23  Bruno Haible  <bruno@clisp.org>
57085
57086         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57087         indentation.
57088
57089 2007-12-23  Bruno Haible  <bruno@clisp.org>
57090
57091         * lib/c-strcasestr.c: Add more comments.
57092         * lib/c-strstr.c: Likewise.
57093         * lib/mbscasestr.c: Likewise.
57094         * lib/mbsstr.c: Likewise.
57095         * lib/strcasestr.c: Likewise.
57096         * lib/memmem.c: Likewise.
57097
57098 2007-12-23  Bruno Haible  <bruno@clisp.org>
57099
57100         * tests/test-memmem.c: Include <string.h> first.
57101
57102 2007-12-22  Bruno Haible  <bruno@clisp.org>
57103
57104         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57105         the contents of $testsbase.
57106         Reported by Ralf Wildenhues.
57107
57108 2007-12-22  Bruno Haible  <bruno@clisp.org>
57109
57110         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57111         two variables local_ldadd_before, local_ldadd_last.
57112
57113 2007-12-20  Eric Blake  <ebb9@byu.net>
57114
57115         Work around circular library issue when cross-compiling.
57116         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57117         that progname.o does not need to pull in rpl_memcmp.
57118
57119 2007-12-19  Eric Blake  <ebb9@byu.net>
57120
57121         Fix memmem to avoid O(n^2) worst-case complexity.
57122         * lib/memmem.c (knuth_morris_pratt): New function.
57123         (memmem): Use it if first few naive iterations fail.
57124         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57125         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57126         * modules/memchr (License): Likewise.
57127         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57128         malloca.
57129         * tests/test-memmem.c: Rewrite, borrowing ideas from
57130         test-mbsstr1.c; the old version wouldn't even compile!
57131         * modules/memmem-tests: New file.
57132         * lib/string.in.h (rpl_memmem): Add declaration.
57133         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57135         REPLACE_MEMMEM.
57136
57137 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57138
57139         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57140         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57141         before any system include files, and undef after them all.  This
57142         should fix a problem on VMS reported by John E. Malmberg in
57143         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57144
57145 2007-12-17  Eric Blake  <ebb9@byu.net>
57146
57147         Revert addition of verify, for BSD/OS.
57148         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57149         can't handle large files, for the sake of obsolete platforms.
57150         * modules/fseeko (Depends-on): Remove verify.
57151         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57152         * doc/functions/ftello.texi (ftello): Likewise.
57153         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57154         Reported by Larry Jones.
57155
57156 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57157
57158         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57159         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57160
57161 2007-12-17  Jim Meyering  <meyering@redhat.com>
57162
57163         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57164         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57165         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57166         * modules/getcwd (Depends-on): Add openat.
57167         Reported by Petr Salinger.
57168
57169 2007-12-17  Bruno Haible  <bruno@clisp.org>
57170
57171         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57172         avoid a segmentation fault of the configure test on x86_64 systems.
57173
57174 2007-12-15  Jim Meyering  <meyering@redhat.com>
57175
57176         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57177
57178 2007-12-13  Eric Blake  <ebb9@byu.net>
57179
57180         Another fseek test.
57181         * tests/test-fseek.c (main): Also test ungetc handling.
57182         * tests/test-fseeko.c (main): Likewise.
57183         * modules/fseeko (Depends-on): Add verify.
57184         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57185         large.
57186         Reported by Larry Jones.
57187
57188         Fix fseeko on mingw.
57189         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57190         seek.
57191
57192         Beef up fseek tests.
57193         * tests/test-fseek.c (main): Also test eof handling.
57194         * tests/test-fseeko.c (main): Likewise.
57195         Reported by Larry Jones.
57196
57197 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57198
57199         Fix fseeko on BSD-based platforms.
57200         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57201         successful seek.
57202
57203 2007-12-12  Eric Blake  <ebb9@byu.net>
57204
57205         Allow circular dependency of separate libtests.a
57206         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57207         when use_libtests.
57208
57209 2007-12-11  Eric Blake  <ebb9@byu.net>
57210
57211         Fix bug with -0.0L in previous patch.
57212         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57213         * tests/test-isnan.c (main): Also test on zeroes.
57214         * tests/test-isnanf.c (main): Likewise.
57215         * tests/test-isnanl.h (main): Likewise.
57216
57217         Detect pseudo-denormals on x86 even when cross-compiling.
57218         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57219         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57220         invalid bit patterns that happen to satisfy ==.
57221
57222         Avoid link failures with separate libtests.a.
57223         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57224         last, to satisfy circular dependencies.
57225
57226 2007-12-11  Eric Blake  <ebb9@byu.net>
57227         and Bruno Haible  <bruno@clisp.org>
57228
57229         Fix OpenBSD 4.0 <float.h> handling of long double.
57230         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57231         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57232         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57233
57234 2007-12-11  Jim Meyering  <meyering@redhat.com>
57235
57236         * users.txt: Add libvirt.
57237
57238         Support versions of autoconf prior to 2.59c.
57239         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57240         if it is not already defined.
57241
57242 2007-12-09  Bruno Haible  <bruno@clisp.org>
57243
57244         Let 'gnulib-tool --import' collect sources needed for the tests in
57245         tests/ rather than in lib/.
57246         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57247         argument. If true, add rules to generate libtests.a, and put libtests.a
57248         into $(LDADD). Consider source files in subdirectories and set
57249         uses_subdirs.
57250         (func_emit_initmacro_start, func_emit_initmacro_end,
57251         func_emit_initmacro_done): Pass all arguments explicitly.
57252         (func_import): Determine two module lists main_modules,
57253         testsrelated_modules. Determine use_libtests. Determine two variables
57254         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57255         instead of just sed_transform_lib_file. Determine two variables
57256         main_files and testsrelated_files. Compute 'files' as the union of
57257         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57258         func_add_or_update. In the generated gnulib-comp.m4, collect the
57259         object files for tests/ in different variables than those for lib/.
57260         Substitute LIBTESTS_LIBDEPS.
57261         (func_create_testdir): Combine the uses_subdirs results from
57262         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57263
57264 2007-12-09  Bruno Haible  <bruno@clisp.org>
57265
57266         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57267         the build-aux directory.
57268
57269 2007-12-09  Bruno Haible  <bruno@clisp.org>
57270
57271         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57272         introduced on 2006-09-09.
57273
57274 2007-12-07  Jim Meyering  <meyering@redhat.com>
57275
57276         Let these macros work also with autoconf-2.59.
57277         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57278         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57279         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57280
57281 2007-12-06  Jim Meyering  <meyering@redhat.com>
57282
57283         Avoid a configure-time syntax error in gl_FUNC_ACL.
57284         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57285         function in each branch, before testing the cache variable.
57286
57287 2007-12-04  Eric Blake  <ebb9@byu.net>
57288
57289         Make scripts executable.
57290         * build-aux/config.guess: Add execute permissions.
57291         * build-aux/config.sub: Likewise.
57292         * build-aux/gendocs.sh: Likewise.
57293
57294         Fix frexp on mingw.
57295         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57296         cross-compiling.
57297         * doc/functions/frexp.texi (frexp): Document the bug.
57298
57299         Make cygwin fseeko check more reliable.
57300         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57301         version numbers, rather than unrelated feature check.
57302         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57303         * doc/functions/ftello.texi (ftello): Likewise.
57304         Reported by Bruno Haible.
57305
57306         * m4/strerror.m4: Bump version number.
57307
57308 2007-12-03  Bruno Haible  <bruno@clisp.org>
57309
57310         * doc/functions/mprotect.texi: Mention the mingw problem.
57311
57312 2007-12-03  Eric Blake  <ebb9@byu.net>
57313
57314         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57315         REPLACE_STRERROR is initialized before this macro.
57316
57317 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57318
57319         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57320         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57321         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57322         put -lsec in even for programs other than 'ls'.  This fixes a problem
57323         for gettext reported by Bruno Haible in
57324         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57325         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57326         Add support for Solaris 10.  This isn't efficient, but should get the
57327         job done for now.
57328
57329 2007-12-03  James Youngman  <jay@gnu.org>
57330
57331         * doc/regexprops-generic.texi: change "an close-group" to "a
57332         close-group" and "illegal" to "not allowed".
57333
57334 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57335
57336         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57337         pr_byname.h. Needed for the rare case when the maintainer has done
57338         "make maintainer-clean" in the source directory and then attempts a
57339         build outside the source directory.
57340         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57341         scripts_byname.h.
57342
57343 2007-12-02  Martin Lambers <marlam@marlam.de>
57344             Bruno Haible  <bruno@clisp.org>
57345
57346         * lib/getpagesize.h: Remove file.
57347         * lib/unistd.in.h: Include declaration of getpagesize here.
57348         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57349         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57350         HAVE_SYS_PARAM_H.
57351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57352         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57353         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57354         (Depends-on): Add unistd.
57355         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57356         (Include): Use <unistd.h> instead of getpagesize.h.
57357         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57358         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57359         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57360         gl_GETPAGESIZE invocation, already handled by module dependency.
57361         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57362
57363 2007-12-02  Bruno Haible  <bruno@clisp.org>
57364
57365         * modules/strings-tests: New file.
57366         * tests/test-strings.c: New file.
57367
57368         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57369         * lib/strings.in.h: New file.
57370         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57371         * m4/strings_h.m4: New file.
57372         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57373         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57374         * modules/strings: New file.
57375         * modules/string (Makefile.am): Update.
57376         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57377         Reported by Karl Berry.
57378
57379 2007-12-01  Eric Blake  <ebb9@byu.net>
57380
57381         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57382         accomodate fix in cygwin 1.5.25.
57383
57384 2007-12-01  Jim Meyering  <meyering@redhat.com>
57385
57386         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57387         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57388         that would inhibit utf8-optimization of a regexp containing line-
57389         or buffer-anchors, e.g., `^', `$'.
57390
57391 2007-11-30  Bruno Haible  <bruno@clisp.org>
57392
57393         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57394         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57395         glthread_recursive_lock_init.
57396         * lib/lock.c (glthread_recursive_lock_init)
57397         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57398         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57399
57400 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57401
57402         New function qset_acl, like set_acl but with syscall semantics.
57403         * lib/acl.h (qset_acl): New decl.
57404         * lib/acl.c (qset_acl): New function.
57405         (set_acl): Use new function.  Use more-consistent diagnostics.
57406
57407 2007-11-28  Jim Meyering  <meyering@redhat.com>
57408
57409         * modules/physmem (License): Change from GPL to LGPLv2+.
57410
57411 2007-11-26  Bruno Haible  <bruno@clisp.org>
57412
57413         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57414         'long double' type has excess precision.
57415         Reported by Jim Meyering in
57416         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57417
57418 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57419
57420         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57421         Sync from <http://gnu.org/licenses>.
57422         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57423         with license text from same location.
57424         * doc/maintain.texi, doc/standards.texi:  Sync from
57425         <http://savannah.gnu.org/projects/gnustandards>.
57426
57427 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
57428         and Jim Meyering  <meyering@redhat.com>
57429
57430         Adjust getdate' grammar to accept a slightly more regular language.
57431         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57432         Before, the former was rejected.
57433         * lib/getdate.y (digits_to_date_time): New function, factored
57434         out of ...
57435         (number): ...here.  Just call digits_to_date_time.
57436         (hybrid): New non-terminal to handle an <unsigned number,
57437         signed relative offset> sequence consistently.
57438
57439 2007-11-18  Jim Meyering  <meyering@redhat.com>
57440
57441         Pull my changes from coreutils:
57442         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57443         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57444         use of $gnulib_tool_option_extras, so that it's separated from the
57445         preceding argument.
57446
57447         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57448         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57449         parent destination directories before copying a file into place.
57450
57451 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57452
57453         bootstrap: work also with 4-argument variant of AC_INIT
57454         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57455
57456 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57457
57458         Port test-getaddrinfo to Solaris.
57459         Problem reported by Bruno Haible in
57460         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57461         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57462         explanation of setting 'hints'.
57463         Don't reject an implementation merely because it returns EAI_SERVICE.
57464         (EAI_SERVICE): Define to 0 if not defined.
57465
57466 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57467
57468         The license of gnu-make and posix-shell is now "GPLed build tool".
57469         * modules/gnu-make (License): Likewise.
57470         * modules/posix-shell (License): Likewise.
57471
57472         New module posix-shell, for determining a POSIX shell
57473         or perhaps something that is close enough to a POSIX shell.
57474         * m4/posix-shell.m4: New file.
57475         * modules/posix-shell: New file.
57476
57477         * MODULES.html.sh: Mention new module.
57478
57479         New module gnu-make, for determining whether we're using GNU Make.
57480         * m4/gnu-make.m4: New file.
57481         * modules/gnu-make: New file.
57482         * MODULES.html.sh: Mention new module.
57483
57484 2007-11-14  Jim Meyering  <meyering@redhat.com>
57485
57486         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57487         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57488         use this macro to create a function _definition_.
57489         Remove useless "#undef ARGMATCH_DIE".
57490
57491 2007-11-14  Bruno Haible  <bruno@clisp.org>
57492
57493         * lib/config.charset: Update for OpenBSD 4.1.
57494         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57495
57496 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57497
57498         Document 64-bit #if problems in stdint.texi.
57499         * doc/headers/stdint.texi (stdint.h): Mention problems with
57500         64-bit-#if, and how to work around them.
57501
57502         Don't insist on 'long long int' support in the preprocessor.  It
57503         breaks too many things.  For example, PRIdMAX still uses a 'long
57504         long int' format with the latest Sun compiler, even though
57505         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57506         preprocessor problem.  This causes the latest coreutils to dump
57507         core on Solaris 10 sparc with the Sun C compiler.
57508         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57509         the troublesome expressions at configure-time, not at #if-time.
57510         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57511         preprocessor.
57512         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57513         compile-time C checks, done at 'configure'-time.
57514         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57515         * modules/inttypes (Makefile): Substitute the new symbols that
57516         gl_INTTYPES_H now generates.
57517         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57518
57519 2007-11-12  Bruno Haible  <bruno@clisp.org>
57520
57521         Tests for Unicode character classification functions.
57522
57523         * modules/unictype/bidicategory-byname-tests: New file.
57524         * modules/unictype/bidicategory-name-tests: New file.
57525         * modules/unictype/bidicategory-of-tests: New file.
57526         * modules/unictype/bidicategory-test-tests: New file.
57527         * modules/unictype/block-list-tests: New file.
57528         * modules/unictype/block-of-tests: New file.
57529         * modules/unictype/block-test-tests: New file.
57530         * modules/unictype/category-C-tests: New file.
57531         * modules/unictype/category-Cc-tests: New file.
57532         * modules/unictype/category-Cf-tests: New file.
57533         * modules/unictype/category-Cn-tests: New file.
57534         * modules/unictype/category-Co-tests: New file.
57535         * modules/unictype/category-Cs-tests: New file.
57536         * modules/unictype/category-L-tests: New file.
57537         * modules/unictype/category-Ll-tests: New file.
57538         * modules/unictype/category-Lm-tests: New file.
57539         * modules/unictype/category-Lo-tests: New file.
57540         * modules/unictype/category-Lt-tests: New file.
57541         * modules/unictype/category-Lu-tests: New file.
57542         * modules/unictype/category-M-tests: New file.
57543         * modules/unictype/category-Mc-tests: New file.
57544         * modules/unictype/category-Me-tests: New file.
57545         * modules/unictype/category-Mn-tests: New file.
57546         * modules/unictype/category-N-tests: New file.
57547         * modules/unictype/category-Nd-tests: New file.
57548         * modules/unictype/category-Nl-tests: New file.
57549         * modules/unictype/category-No-tests: New file.
57550         * modules/unictype/category-P-tests: New file.
57551         * modules/unictype/category-Pc-tests: New file.
57552         * modules/unictype/category-Pd-tests: New file.
57553         * modules/unictype/category-Pe-tests: New file.
57554         * modules/unictype/category-Pf-tests: New file.
57555         * modules/unictype/category-Pi-tests: New file.
57556         * modules/unictype/category-Po-tests: New file.
57557         * modules/unictype/category-Ps-tests: New file.
57558         * modules/unictype/category-S-tests: New file.
57559         * modules/unictype/category-Sc-tests: New file.
57560         * modules/unictype/category-Sk-tests: New file.
57561         * modules/unictype/category-Sm-tests: New file.
57562         * modules/unictype/category-So-tests: New file.
57563         * modules/unictype/category-Z-tests: New file.
57564         * modules/unictype/category-Zl-tests: New file.
57565         * modules/unictype/category-Zp-tests: New file.
57566         * modules/unictype/category-Zs-tests: New file.
57567         * modules/unictype/category-and-not-tests: New file.
57568         * modules/unictype/category-and-tests: New file.
57569         * modules/unictype/category-byname-tests: New file.
57570         * modules/unictype/category-name-tests: New file.
57571         * modules/unictype/category-none-tests: New file.
57572         * modules/unictype/category-of-tests: New file.
57573         * modules/unictype/category-or-tests: New file.
57574         * modules/unictype/category-test-withtable-tests: New file.
57575         * modules/unictype/combining-class-tests: New file.
57576         * modules/unictype/ctype-alnum-tests: New file.
57577         * modules/unictype/ctype-alpha-tests: New file.
57578         * modules/unictype/ctype-blank-tests: New file.
57579         * modules/unictype/ctype-cntrl-tests: New file.
57580         * modules/unictype/ctype-digit-tests: New file.
57581         * modules/unictype/ctype-graph-tests: New file.
57582         * modules/unictype/ctype-lower-tests: New file.
57583         * modules/unictype/ctype-print-tests: New file.
57584         * modules/unictype/ctype-punct-tests: New file.
57585         * modules/unictype/ctype-space-tests: New file.
57586         * modules/unictype/ctype-upper-tests: New file.
57587         * modules/unictype/ctype-xdigit-tests: New file.
57588         * modules/unictype/decimal-digit-tests: New file.
57589         * modules/unictype/digit-tests: New file.
57590         * modules/unictype/mirror-tests: New file.
57591         * modules/unictype/numeric-tests: New file.
57592         * modules/unictype/property-alphabetic-tests: New file.
57593         * modules/unictype/property-ascii-hex-digit-tests: New file.
57594         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57595         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57596         * modules/unictype/property-bidi-block-separator-tests: New file.
57597         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57598         * modules/unictype/property-bidi-common-separator-tests: New file.
57599         * modules/unictype/property-bidi-control-tests: New file.
57600         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57601         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57602         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57603         * modules/unictype/property-bidi-european-digit-tests: New file.
57604         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57605         * modules/unictype/property-bidi-left-to-right-tests: New file.
57606         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57607         * modules/unictype/property-bidi-other-neutral-tests: New file.
57608         * modules/unictype/property-bidi-pdf-tests: New file.
57609         * modules/unictype/property-bidi-segment-separator-tests: New file.
57610         * modules/unictype/property-bidi-whitespace-tests: New file.
57611         * modules/unictype/property-byname-tests: New file.
57612         * modules/unictype/property-combining-tests: New file.
57613         * modules/unictype/property-composite-tests: New file.
57614         * modules/unictype/property-currency-symbol-tests: New file.
57615         * modules/unictype/property-dash-tests: New file.
57616         * modules/unictype/property-decimal-digit-tests: New file.
57617         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57618         * modules/unictype/property-deprecated-tests: New file.
57619         * modules/unictype/property-diacritic-tests: New file.
57620         * modules/unictype/property-extender-tests: New file.
57621         * modules/unictype/property-format-control-tests: New file.
57622         * modules/unictype/property-grapheme-base-tests: New file.
57623         * modules/unictype/property-grapheme-extend-tests: New file.
57624         * modules/unictype/property-grapheme-link-tests: New file.
57625         * modules/unictype/property-hex-digit-tests: New file.
57626         * modules/unictype/property-hyphen-tests: New file.
57627         * modules/unictype/property-id-continue-tests: New file.
57628         * modules/unictype/property-id-start-tests: New file.
57629         * modules/unictype/property-ideographic-tests: New file.
57630         * modules/unictype/property-ids-binary-operator-tests: New file.
57631         * modules/unictype/property-ids-trinary-operator-tests: New file.
57632         * modules/unictype/property-ignorable-control-tests: New file.
57633         * modules/unictype/property-iso-control-tests: New file.
57634         * modules/unictype/property-join-control-tests: New file.
57635         * modules/unictype/property-left-of-pair-tests: New file.
57636         * modules/unictype/property-line-separator-tests: New file.
57637         * modules/unictype/property-logical-order-exception-tests: New file.
57638         * modules/unictype/property-lowercase-tests: New file.
57639         * modules/unictype/property-math-tests: New file.
57640         * modules/unictype/property-non-break-tests: New file.
57641         * modules/unictype/property-not-a-character-tests: New file.
57642         * modules/unictype/property-numeric-tests: New file.
57643         * modules/unictype/property-other-alphabetic-tests: New file.
57644         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57645         * modules/unictype/property-other-grapheme-extend-tests: New file.
57646         * modules/unictype/property-other-id-continue-tests: New file.
57647         * modules/unictype/property-other-id-start-tests: New file.
57648         * modules/unictype/property-other-lowercase-tests: New file.
57649         * modules/unictype/property-other-math-tests: New file.
57650         * modules/unictype/property-other-uppercase-tests: New file.
57651         * modules/unictype/property-paired-punctuation-tests: New file.
57652         * modules/unictype/property-paragraph-separator-tests: New file.
57653         * modules/unictype/property-pattern-syntax-tests: New file.
57654         * modules/unictype/property-pattern-white-space-tests: New file.
57655         * modules/unictype/property-private-use-tests: New file.
57656         * modules/unictype/property-punctuation-tests: New file.
57657         * modules/unictype/property-quotation-mark-tests: New file.
57658         * modules/unictype/property-radical-tests: New file.
57659         * modules/unictype/property-sentence-terminal-tests: New file.
57660         * modules/unictype/property-soft-dotted-tests: New file.
57661         * modules/unictype/property-space-tests: New file.
57662         * modules/unictype/property-terminal-punctuation-tests: New file.
57663         * modules/unictype/property-test-tests: New file.
57664         * modules/unictype/property-titlecase-tests: New file.
57665         * modules/unictype/property-unassigned-code-value-tests: New file.
57666         * modules/unictype/property-unified-ideograph-tests: New file.
57667         * modules/unictype/property-uppercase-tests: New file.
57668         * modules/unictype/property-variation-selector-tests: New file.
57669         * modules/unictype/property-white-space-tests: New file.
57670         * modules/unictype/property-xid-continue-tests: New file.
57671         * modules/unictype/property-xid-start-tests: New file.
57672         * modules/unictype/property-zero-width-tests: New file.
57673         * modules/unictype/scripts-tests: New file.
57674         * modules/unictype/syntax-c-ident-tests: New file.
57675         * modules/unictype/syntax-c-whitespace-tests: New file.
57676         * modules/unictype/syntax-java-ident-tests: New file.
57677         * modules/unictype/syntax-java-whitespace-tests: New file.
57678         * tests/unictype/test-bidi_byname.c: New file.
57679         * tests/unictype/test-bidi_name.c: New file.
57680         * tests/unictype/test-bidi_of.c: New file.
57681         * tests/unictype/test-bidi_test.c: New file.
57682         * tests/unictype/test-block_list.c: New file.
57683         * tests/unictype/test-block_of.c: New file.
57684         * tests/unictype/test-block_test.c: New file.
57685         * tests/unictype/test-categ_and.c: New file.
57686         * tests/unictype/test-categ_and_not.c: New file.
57687         * tests/unictype/test-categ_byname.c: New file.
57688         * tests/unictype/test-categ_name.c: New file.
57689         * tests/unictype/test-categ_none.c: New file.
57690         * tests/unictype/test-categ_of.c: New file.
57691         * tests/unictype/test-categ_or.c: New file.
57692         * tests/unictype/test-categ_test_withtable.c: New file.
57693         * tests/unictype/test-combining.c: New file.
57694         * tests/unictype/test-decdigit.c: New file.
57695         * tests/unictype/test-digit.c: New file.
57696         * tests/unictype/test-mirror.c: New file.
57697         * tests/unictype/test-numeric.c: New file.
57698         * tests/unictype/test-pr_byname.c: New file.
57699         * tests/unictype/test-pr_test.c: New file.
57700         * tests/unictype/test-predicate-part1.h: New file.
57701         * tests/unictype/test-predicate-part2.h: New file.
57702         * tests/unictype/test-scripts.c: New file.
57703         * tests/unictype/test-sy_c_ident.c: New file.
57704         * tests/unictype/test-sy_java_ident.c: New file.
57705
57706         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57707         for Unicode 5.0.0.
57708         * tests/unictype/test-categ_Cc.c: Likewise.
57709         * tests/unictype/test-categ_Cf.c: Likewise.
57710         * tests/unictype/test-categ_Cn.c: Likewise.
57711         * tests/unictype/test-categ_Co.c: Likewise.
57712         * tests/unictype/test-categ_Cs.c: Likewise.
57713         * tests/unictype/test-categ_L.c: Likewise.
57714         * tests/unictype/test-categ_Ll.c: Likewise.
57715         * tests/unictype/test-categ_Lm.c: Likewise.
57716         * tests/unictype/test-categ_Lo.c: Likewise.
57717         * tests/unictype/test-categ_Lt.c: Likewise.
57718         * tests/unictype/test-categ_Lu.c: Likewise.
57719         * tests/unictype/test-categ_M.c: Likewise.
57720         * tests/unictype/test-categ_Mc.c: Likewise.
57721         * tests/unictype/test-categ_Me.c: Likewise.
57722         * tests/unictype/test-categ_Mn.c: Likewise.
57723         * tests/unictype/test-categ_N.c: Likewise.
57724         * tests/unictype/test-categ_Nd.c: Likewise.
57725         * tests/unictype/test-categ_Nl.c: Likewise.
57726         * tests/unictype/test-categ_No.c: Likewise.
57727         * tests/unictype/test-categ_P.c: Likewise.
57728         * tests/unictype/test-categ_Pc.c: Likewise.
57729         * tests/unictype/test-categ_Pd.c: Likewise.
57730         * tests/unictype/test-categ_Pe.c: Likewise.
57731         * tests/unictype/test-categ_Pf.c: Likewise.
57732         * tests/unictype/test-categ_Pi.c: Likewise.
57733         * tests/unictype/test-categ_Po.c: Likewise.
57734         * tests/unictype/test-categ_Ps.c: Likewise.
57735         * tests/unictype/test-categ_S.c: Likewise.
57736         * tests/unictype/test-categ_Sc.c: Likewise.
57737         * tests/unictype/test-categ_Sk.c: Likewise.
57738         * tests/unictype/test-categ_Sm.c: Likewise.
57739         * tests/unictype/test-categ_So.c: Likewise.
57740         * tests/unictype/test-categ_Z.c: Likewise.
57741         * tests/unictype/test-categ_Zl.c: Likewise.
57742         * tests/unictype/test-categ_Zp.c: Likewise.
57743         * tests/unictype/test-categ_Zs.c: Likewise.
57744         * tests/unictype/test-ctype_alnum.c: Likewise.
57745         * tests/unictype/test-ctype_alpha.c: Likewise.
57746         * tests/unictype/test-ctype_blank.c: Likewise.
57747         * tests/unictype/test-ctype_cntrl.c: Likewise.
57748         * tests/unictype/test-ctype_digit.c: Likewise.
57749         * tests/unictype/test-ctype_graph.c: Likewise.
57750         * tests/unictype/test-ctype_lower.c: Likewise.
57751         * tests/unictype/test-ctype_print.c: Likewise.
57752         * tests/unictype/test-ctype_punct.c: Likewise.
57753         * tests/unictype/test-ctype_space.c: Likewise.
57754         * tests/unictype/test-ctype_upper.c: Likewise.
57755         * tests/unictype/test-ctype_xdigit.c: Likewise.
57756         * tests/unictype/test-decdigit.h: Likewise.
57757         * tests/unictype/test-digit.h: Likewise.
57758         * tests/unictype/test-numeric.h: Likewise.
57759         * tests/unictype/test-pr_alphabetic.c: Likewise.
57760         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57761         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57762         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57763         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57764         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57765         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57766         * tests/unictype/test-pr_bidi_control.c: Likewise.
57767         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57768         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57769         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57770         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57771         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57772         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57773         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57774         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57775         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57776         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57777         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57778         * tests/unictype/test-pr_combining.c: Likewise.
57779         * tests/unictype/test-pr_composite.c: Likewise.
57780         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57781         * tests/unictype/test-pr_dash.c: Likewise.
57782         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57783         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57784         * tests/unictype/test-pr_deprecated.c: Likewise.
57785         * tests/unictype/test-pr_diacritic.c: Likewise.
57786         * tests/unictype/test-pr_extender.c: Likewise.
57787         * tests/unictype/test-pr_format_control.c: Likewise.
57788         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57789         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57790         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57791         * tests/unictype/test-pr_hex_digit.c: Likewise.
57792         * tests/unictype/test-pr_hyphen.c: Likewise.
57793         * tests/unictype/test-pr_id_continue.c: Likewise.
57794         * tests/unictype/test-pr_id_start.c: Likewise.
57795         * tests/unictype/test-pr_ideographic.c: Likewise.
57796         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57797         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
57798         * tests/unictype/test-pr_ignorable_control.c: Likewise.
57799         * tests/unictype/test-pr_iso_control.c: Likewise.
57800         * tests/unictype/test-pr_join_control.c: Likewise.
57801         * tests/unictype/test-pr_left_of_pair.c: Likewise.
57802         * tests/unictype/test-pr_line_separator.c: Likewise.
57803         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
57804         * tests/unictype/test-pr_lowercase.c: Likewise.
57805         * tests/unictype/test-pr_math.c: Likewise.
57806         * tests/unictype/test-pr_non_break.c: Likewise.
57807         * tests/unictype/test-pr_not_a_character.c: Likewise.
57808         * tests/unictype/test-pr_numeric.c: Likewise.
57809         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
57810         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
57811         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57812         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57813         * tests/unictype/test-pr_other_id_start.c: Likewise.
57814         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57815         * tests/unictype/test-pr_other_math.c: Likewise.
57816         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57817         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57818         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57819         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57820         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57821         * tests/unictype/test-pr_private_use.c: Likewise.
57822         * tests/unictype/test-pr_punctuation.c: Likewise.
57823         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57824         * tests/unictype/test-pr_radical.c: Likewise.
57825         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57826         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57827         * tests/unictype/test-pr_space.c: Likewise.
57828         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57829         * tests/unictype/test-pr_titlecase.c: Likewise.
57830         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57831         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57832         * tests/unictype/test-pr_uppercase.c: Likewise.
57833         * tests/unictype/test-pr_variation_selector.c: Likewise.
57834         * tests/unictype/test-pr_white_space.c: Likewise.
57835         * tests/unictype/test-pr_xid_continue.c: Likewise.
57836         * tests/unictype/test-pr_xid_start.c: Likewise.
57837         * tests/unictype/test-pr_zero_width.c: Likewise.
57838         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57839         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57840
57841 2007-11-12  Bruno Haible  <bruno@clisp.org>
57842
57843         Unicode character classification functions.
57844         * lib/unictype.h: New file.
57845         * modules/unictype/base: New file.
57846         * modules/unictype/category-L: New file.
57847         * modules/unictype/category-Lu: New file.
57848         * modules/unictype/category-Ll: New file.
57849         * modules/unictype/category-Lt: New file.
57850         * modules/unictype/category-Lm: New file.
57851         * modules/unictype/category-Lo: New file.
57852         * modules/unictype/category-M: New file.
57853         * modules/unictype/category-Mn: New file.
57854         * modules/unictype/category-Mc: New file.
57855         * modules/unictype/category-Me: New file.
57856         * modules/unictype/category-N: New file.
57857         * modules/unictype/category-Nd: New file.
57858         * modules/unictype/category-Nl: New file.
57859         * modules/unictype/category-No: New file.
57860         * modules/unictype/category-P: New file.
57861         * modules/unictype/category-Pc: New file.
57862         * modules/unictype/category-Pd: New file.
57863         * modules/unictype/category-Ps: New file.
57864         * modules/unictype/category-Pe: New file.
57865         * modules/unictype/category-Pi: New file.
57866         * modules/unictype/category-Pf: New file.
57867         * modules/unictype/category-Po: New file.
57868         * modules/unictype/category-S: New file.
57869         * modules/unictype/category-Sm: New file.
57870         * modules/unictype/category-Sc: New file.
57871         * modules/unictype/category-Sk: New file.
57872         * modules/unictype/category-So: New file.
57873         * modules/unictype/category-Z: New file.
57874         * modules/unictype/category-Zs: New file.
57875         * modules/unictype/category-Zl: New file.
57876         * modules/unictype/category-Zp: New file.
57877         * modules/unictype/category-C: New file.
57878         * modules/unictype/category-Cc: New file.
57879         * modules/unictype/category-Cf: New file.
57880         * modules/unictype/category-Cs: New file.
57881         * modules/unictype/category-Co: New file.
57882         * modules/unictype/category-Cn: New file.
57883         * modules/unictype/category-or: New file.
57884         * modules/unictype/category-of: New file.
57885         * modules/unictype/category-test: New file.
57886         * modules/unictype/category-test-withtable: New file.
57887         * modules/unictype/category-byname: New file.
57888         * modules/unictype/category-none: New file.
57889         * modules/unictype/category-and: New file.
57890         * modules/unictype/category-and-not: New file.
57891         * modules/unictype/category-name: New file.
57892         * modules/unictype/combining-class: New file.
57893         * modules/unictype/category-all: New file.
57894         * modules/unictype/bidicategory-all: New file.
57895         * modules/unictype/bidicategory-byname: New file.
57896         * modules/unictype/bidicategory-name: New file.
57897         * modules/unictype/bidicategory-of: New file.
57898         * modules/unictype/bidicategory-test: New file.
57899         * modules/unictype/decimal-digit: New file.
57900         * modules/unictype/digit: New file.
57901         * modules/unictype/numeric: New file.
57902         * modules/unictype/mirror: New file.
57903         * modules/unictype/property-white-space: New file.
57904         * modules/unictype/property-alphabetic: New file.
57905         * modules/unictype/property-other-alphabetic: New file.
57906         * modules/unictype/property-not-a-character: New file.
57907         * modules/unictype/property-default-ignorable-code-point: New file.
57908         * modules/unictype/property-other-default-ignorable-code-point: New
57909         file.
57910         * modules/unictype/property-deprecated: New file.
57911         * modules/unictype/property-logical-order-exception: New file.
57912         * modules/unictype/property-variation-selector: New file.
57913         * modules/unictype/property-private-use: New file.
57914         * modules/unictype/property-unassigned-code-value: New file.
57915         * modules/unictype/property-uppercase: New file.
57916         * modules/unictype/property-other-uppercase: New file.
57917         * modules/unictype/property-lowercase: New file.
57918         * modules/unictype/property-other-lowercase: New file.
57919         * modules/unictype/property-titlecase: New file.
57920         * modules/unictype/property-soft-dotted: New file.
57921         * modules/unictype/property-id-start: New file.
57922         * modules/unictype/property-other-id-start: New file.
57923         * modules/unictype/property-id-continue: New file.
57924         * modules/unictype/property-other-id-continue: New file.
57925         * modules/unictype/property-xid-start: New file.
57926         * modules/unictype/property-xid-continue: New file.
57927         * modules/unictype/property-pattern-white-space: New file.
57928         * modules/unictype/property-pattern-syntax: New file.
57929         * modules/unictype/property-join-control: New file.
57930         * modules/unictype/property-grapheme-base: New file.
57931         * modules/unictype/property-grapheme-extend: New file.
57932         * modules/unictype/property-other-grapheme-extend: New file.
57933         * modules/unictype/property-grapheme-link: New file.
57934         * modules/unictype/property-bidi-control: New file.
57935         * modules/unictype/property-bidi-left-to-right: New file.
57936         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
57937         * modules/unictype/property-bidi-arabic-right-to-left: New file.
57938         * modules/unictype/property-bidi-european-digit: New file.
57939         * modules/unictype/property-bidi-eur-num-separator: New file.
57940         * modules/unictype/property-bidi-eur-num-terminator: New file.
57941         * modules/unictype/property-bidi-arabic-digit: New file.
57942         * modules/unictype/property-bidi-common-separator: New file.
57943         * modules/unictype/property-bidi-block-separator: New file.
57944         * modules/unictype/property-bidi-segment-separator: New file.
57945         * modules/unictype/property-bidi-whitespace: New file.
57946         * modules/unictype/property-bidi-non-spacing-mark: New file.
57947         * modules/unictype/property-bidi-boundary-neutral: New file.
57948         * modules/unictype/property-bidi-pdf: New file.
57949         * modules/unictype/property-bidi-embedding-or-override: New file.
57950         * modules/unictype/property-bidi-other-neutral: New file.
57951         * modules/unictype/property-hex-digit: New file.
57952         * modules/unictype/property-ascii-hex-digit: New file.
57953         * modules/unictype/property-ideographic: New file.
57954         * modules/unictype/property-unified-ideograph: New file.
57955         * modules/unictype/property-radical: New file.
57956         * modules/unictype/property-ids-binary-operator: New file.
57957         * modules/unictype/property-ids-trinary-operator: New file.
57958         * modules/unictype/property-zero-width: New file.
57959         * modules/unictype/property-space: New file.
57960         * modules/unictype/property-non-break: New file.
57961         * modules/unictype/property-iso-control: New file.
57962         * modules/unictype/property-format-control: New file.
57963         * modules/unictype/property-dash: New file.
57964         * modules/unictype/property-hyphen: New file.
57965         * modules/unictype/property-punctuation: New file.
57966         * modules/unictype/property-line-separator: New file.
57967         * modules/unictype/property-paragraph-separator: New file.
57968         * modules/unictype/property-quotation-mark: New file.
57969         * modules/unictype/property-sentence-terminal: New file.
57970         * modules/unictype/property-terminal-punctuation: New file.
57971         * modules/unictype/property-currency-symbol: New file.
57972         * modules/unictype/property-math: New file.
57973         * modules/unictype/property-other-math: New file.
57974         * modules/unictype/property-paired-punctuation: New file.
57975         * modules/unictype/property-left-of-pair: New file.
57976         * modules/unictype/property-combining: New file.
57977         * modules/unictype/property-composite: New file.
57978         * modules/unictype/property-decimal-digit: New file.
57979         * modules/unictype/property-numeric: New file.
57980         * modules/unictype/property-diacritic: New file.
57981         * modules/unictype/property-extender: New file.
57982         * modules/unictype/property-ignorable-control: New file.
57983         * modules/unictype/property-test: New file.
57984         * modules/unictype/property-byname: New file.
57985         * modules/unictype/property-all: New file.
57986         * modules/unictype/scripts: New file.
57987         * modules/unictype/scripts-all: New file.
57988         * modules/unictype/block-of: New file.
57989         * modules/unictype/block-test: New file.
57990         * modules/unictype/block-list: New file.
57991         * modules/unictype/block-all: New file.
57992         * modules/unictype/syntax-c-whitespace: New file.
57993         * modules/unictype/syntax-java-whitespace: New file.
57994         * modules/unictype/syntax-c-ident: New file.
57995         * modules/unictype/syntax-java-ident: New file.
57996         * modules/unictype/ctype-alnum: New file.
57997         * modules/unictype/ctype-alpha: New file.
57998         * modules/unictype/ctype-cntrl: New file.
57999         * modules/unictype/ctype-digit: New file.
58000         * modules/unictype/ctype-graph: New file.
58001         * modules/unictype/ctype-lower: New file.
58002         * modules/unictype/ctype-print: New file.
58003         * modules/unictype/ctype-punct: New file.
58004         * modules/unictype/ctype-space: New file.
58005         * modules/unictype/ctype-upper: New file.
58006         * modules/unictype/ctype-xdigit: New file.
58007         * modules/unictype/ctype-blank: New file.
58008         * lib/unictype/bidi_byname.c: New file.
58009         * lib/unictype/bidi_name.c: New file.
58010         * lib/unictype/bidi_of.c: New file.
58011         * lib/unictype/bidi_test.c: New file.
58012         * lib/unictype/bitmap.h: New file.
58013         * lib/unictype/block_test.c: New file.
58014         * lib/unictype/blocks.c: New file.
58015         * lib/unictype/categ_C.c: New file.
58016         * lib/unictype/categ_Cc.c: New file.
58017         * lib/unictype/categ_Cf.c: New file.
58018         * lib/unictype/categ_Cn.c: New file.
58019         * lib/unictype/categ_Co.c: New file.
58020         * lib/unictype/categ_Cs.c: New file.
58021         * lib/unictype/categ_L.c: New file.
58022         * lib/unictype/categ_Ll.c: New file.
58023         * lib/unictype/categ_Lm.c: New file.
58024         * lib/unictype/categ_Lo.c: New file.
58025         * lib/unictype/categ_Lt.c: New file.
58026         * lib/unictype/categ_Lu.c: New file.
58027         * lib/unictype/categ_M.c: New file.
58028         * lib/unictype/categ_Mc.c: New file.
58029         * lib/unictype/categ_Me.c: New file.
58030         * lib/unictype/categ_Mn.c: New file.
58031         * lib/unictype/categ_N.c: New file.
58032         * lib/unictype/categ_Nd.c: New file.
58033         * lib/unictype/categ_Nl.c: New file.
58034         * lib/unictype/categ_No.c: New file.
58035         * lib/unictype/categ_P.c: New file.
58036         * lib/unictype/categ_Pc.c: New file.
58037         * lib/unictype/categ_Pd.c: New file.
58038         * lib/unictype/categ_Pe.c: New file.
58039         * lib/unictype/categ_Pf.c: New file.
58040         * lib/unictype/categ_Pi.c: New file.
58041         * lib/unictype/categ_Po.c: New file.
58042         * lib/unictype/categ_Ps.c: New file.
58043         * lib/unictype/categ_S.c: New file.
58044         * lib/unictype/categ_Sc.c: New file.
58045         * lib/unictype/categ_Sk.c: New file.
58046         * lib/unictype/categ_Sm.c: New file.
58047         * lib/unictype/categ_So.c: New file.
58048         * lib/unictype/categ_Z.c: New file.
58049         * lib/unictype/categ_Zl.c: New file.
58050         * lib/unictype/categ_Zp.c: New file.
58051         * lib/unictype/categ_Zs.c: New file.
58052         * lib/unictype/categ_and.c: New file.
58053         * lib/unictype/categ_and_not.c: New file.
58054         * lib/unictype/categ_byname.c: New file.
58055         * lib/unictype/categ_name.c: New file.
58056         * lib/unictype/categ_none.c: New file.
58057         * lib/unictype/categ_of.c: New file.
58058         * lib/unictype/categ_or.c: New file.
58059         * lib/unictype/categ_test.c: New file.
58060         * lib/unictype/combining.c: New file.
58061         * lib/unictype/ctype_alnum.c: New file.
58062         * lib/unictype/ctype_alpha.c: New file.
58063         * lib/unictype/ctype_blank.c: New file.
58064         * lib/unictype/ctype_cntrl.c: New file.
58065         * lib/unictype/ctype_digit.c: New file.
58066         * lib/unictype/ctype_graph.c: New file.
58067         * lib/unictype/ctype_lower.c: New file.
58068         * lib/unictype/ctype_print.c: New file.
58069         * lib/unictype/ctype_punct.c: New file.
58070         * lib/unictype/ctype_space.c: New file.
58071         * lib/unictype/ctype_upper.c: New file.
58072         * lib/unictype/ctype_xdigit.c: New file.
58073         * lib/unictype/decdigit.c: New file.
58074         * lib/unictype/digit.c: New file.
58075         * lib/unictype/identsyntaxmap.h: New file.
58076         * lib/unictype/mirror.c: New file.
58077         * lib/unictype/numeric.c: New file.
58078         * lib/unictype/pr_alphabetic.c: New file.
58079         * lib/unictype/pr_ascii_hex_digit.c: New file.
58080         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58081         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58082         * lib/unictype/pr_bidi_block_separator.c: New file.
58083         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58084         * lib/unictype/pr_bidi_common_separator.c: New file.
58085         * lib/unictype/pr_bidi_control.c: New file.
58086         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58087         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58088         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58089         * lib/unictype/pr_bidi_european_digit.c: New file.
58090         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58091         * lib/unictype/pr_bidi_left_to_right.c: New file.
58092         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58093         * lib/unictype/pr_bidi_other_neutral.c: New file.
58094         * lib/unictype/pr_bidi_pdf.c: New file.
58095         * lib/unictype/pr_bidi_segment_separator.c: New file.
58096         * lib/unictype/pr_bidi_whitespace.c: New file.
58097         * lib/unictype/pr_byname.c: New file.
58098         * lib/unictype/pr_byname.gperf: New file.
58099         * lib/unictype/pr_combining.c: New file.
58100         * lib/unictype/pr_composite.c: New file.
58101         * lib/unictype/pr_currency_symbol.c: New file.
58102         * lib/unictype/pr_dash.c: New file.
58103         * lib/unictype/pr_decimal_digit.c: New file.
58104         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58105         * lib/unictype/pr_deprecated.c: New file.
58106         * lib/unictype/pr_diacritic.c: New file.
58107         * lib/unictype/pr_extender.c: New file.
58108         * lib/unictype/pr_format_control.c: New file.
58109         * lib/unictype/pr_grapheme_base.c: New file.
58110         * lib/unictype/pr_grapheme_extend.c: New file.
58111         * lib/unictype/pr_grapheme_link.c: New file.
58112         * lib/unictype/pr_hex_digit.c: New file.
58113         * lib/unictype/pr_hyphen.c: New file.
58114         * lib/unictype/pr_id_continue.c: New file.
58115         * lib/unictype/pr_id_start.c: New file.
58116         * lib/unictype/pr_ideographic.c: New file.
58117         * lib/unictype/pr_ids_binary_operator.c: New file.
58118         * lib/unictype/pr_ids_trinary_operator.c: New file.
58119         * lib/unictype/pr_ignorable_control.c: New file.
58120         * lib/unictype/pr_iso_control.c: New file.
58121         * lib/unictype/pr_join_control.c: New file.
58122         * lib/unictype/pr_left_of_pair.c: New file.
58123         * lib/unictype/pr_line_separator.c: New file.
58124         * lib/unictype/pr_logical_order_exception.c: New file.
58125         * lib/unictype/pr_lowercase.c: New file.
58126         * lib/unictype/pr_math.c: New file.
58127         * lib/unictype/pr_non_break.c: New file.
58128         * lib/unictype/pr_not_a_character.c: New file.
58129         * lib/unictype/pr_numeric.c: New file.
58130         * lib/unictype/pr_other_alphabetic.c: New file.
58131         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58132         * lib/unictype/pr_other_grapheme_extend.c: New file.
58133         * lib/unictype/pr_other_id_continue.c: New file.
58134         * lib/unictype/pr_other_id_start.c: New file.
58135         * lib/unictype/pr_other_lowercase.c: New file.
58136         * lib/unictype/pr_other_math.c: New file.
58137         * lib/unictype/pr_other_uppercase.c: New file.
58138         * lib/unictype/pr_paired_punctuation.c: New file.
58139         * lib/unictype/pr_paragraph_separator.c: New file.
58140         * lib/unictype/pr_pattern_syntax.c: New file.
58141         * lib/unictype/pr_pattern_white_space.c: New file.
58142         * lib/unictype/pr_private_use.c: New file.
58143         * lib/unictype/pr_punctuation.c: New file.
58144         * lib/unictype/pr_quotation_mark.c: New file.
58145         * lib/unictype/pr_radical.c: New file.
58146         * lib/unictype/pr_sentence_terminal.c: New file.
58147         * lib/unictype/pr_soft_dotted.c: New file.
58148         * lib/unictype/pr_space.c: New file.
58149         * lib/unictype/pr_terminal_punctuation.c: New file.
58150         * lib/unictype/pr_test.c: New file.
58151         * lib/unictype/pr_titlecase.c: New file.
58152         * lib/unictype/pr_unassigned_code_value.c: New file.
58153         * lib/unictype/pr_unified_ideograph.c: New file.
58154         * lib/unictype/pr_uppercase.c: New file.
58155         * lib/unictype/pr_variation_selector.c: New file.
58156         * lib/unictype/pr_white_space.c: New file.
58157         * lib/unictype/pr_xid_continue.c: New file.
58158         * lib/unictype/pr_xid_start.c: New file.
58159         * lib/unictype/pr_zero_width.c: New file.
58160         * lib/unictype/scripts.c: New file.
58161         * lib/unictype/sy_c_ident.c: New file.
58162         * lib/unictype/sy_c_whitespace.c: New file.
58163         * lib/unictype/sy_java_ident.c: New file.
58164         * lib/unictype/sy_java_whitespace.c: New file.
58165
58166         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58167         Unicode 5.0.0.
58168         * lib/unictype/blocks.h: Likewise.
58169         * lib/unictype/categ_C.h: Likewise.
58170         * lib/unictype/categ_Cc.h: Likewise.
58171         * lib/unictype/categ_Cf.h: Likewise.
58172         * lib/unictype/categ_Cn.h: Likewise.
58173         * lib/unictype/categ_Co.h: Likewise.
58174         * lib/unictype/categ_Cs.h: Likewise.
58175         * lib/unictype/categ_L.h: Likewise.
58176         * lib/unictype/categ_Ll.h: Likewise.
58177         * lib/unictype/categ_Lm.h: Likewise.
58178         * lib/unictype/categ_Lo.h: Likewise.
58179         * lib/unictype/categ_Lt.h: Likewise.
58180         * lib/unictype/categ_Lu.h: Likewise.
58181         * lib/unictype/categ_M.h: Likewise.
58182         * lib/unictype/categ_Mc.h: Likewise.
58183         * lib/unictype/categ_Me.h: Likewise.
58184         * lib/unictype/categ_Mn.h: Likewise.
58185         * lib/unictype/categ_N.h: Likewise.
58186         * lib/unictype/categ_Nd.h: Likewise.
58187         * lib/unictype/categ_Nl.h: Likewise.
58188         * lib/unictype/categ_No.h: Likewise.
58189         * lib/unictype/categ_P.h: Likewise.
58190         * lib/unictype/categ_Pc.h: Likewise.
58191         * lib/unictype/categ_Pd.h: Likewise.
58192         * lib/unictype/categ_Pe.h: Likewise.
58193         * lib/unictype/categ_Pf.h: Likewise.
58194         * lib/unictype/categ_Pi.h: Likewise.
58195         * lib/unictype/categ_Po.h: Likewise.
58196         * lib/unictype/categ_Ps.h: Likewise.
58197         * lib/unictype/categ_S.h: Likewise.
58198         * lib/unictype/categ_Sc.h: Likewise.
58199         * lib/unictype/categ_Sk.h: Likewise.
58200         * lib/unictype/categ_Sm.h: Likewise.
58201         * lib/unictype/categ_So.h: Likewise.
58202         * lib/unictype/categ_Z.h: Likewise.
58203         * lib/unictype/categ_Zl.h: Likewise.
58204         * lib/unictype/categ_Zp.h: Likewise.
58205         * lib/unictype/categ_Zs.h: Likewise.
58206         * lib/unictype/categ_of.h: Likewise.
58207         * lib/unictype/combining.h: Likewise.
58208         * lib/unictype/ctype_alnum.h: Likewise.
58209         * lib/unictype/ctype_alpha.h: Likewise.
58210         * lib/unictype/ctype_blank.h: Likewise.
58211         * lib/unictype/ctype_cntrl.h: Likewise.
58212         * lib/unictype/ctype_digit.h: Likewise.
58213         * lib/unictype/ctype_graph.h: Likewise.
58214         * lib/unictype/ctype_lower.h: Likewise.
58215         * lib/unictype/ctype_print.h: Likewise.
58216         * lib/unictype/ctype_punct.h: Likewise.
58217         * lib/unictype/ctype_space.h: Likewise.
58218         * lib/unictype/ctype_upper.h: Likewise.
58219         * lib/unictype/ctype_xdigit.h: Likewise.
58220         * lib/unictype/decdigit.h: Likewise.
58221         * lib/unictype/digit.h: Likewise.
58222         * lib/unictype/mirror.h: Likewise.
58223         * lib/unictype/numeric.h: Likewise.
58224         * lib/unictype/pr_alphabetic.h: Likewise.
58225         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58226         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58227         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58228         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58229         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58230         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58231         * lib/unictype/pr_bidi_control.h: Likewise.
58232         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58233         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58234         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58235         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58236         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58237         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58238         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58239         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58240         * lib/unictype/pr_bidi_pdf.h: Likewise.
58241         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58242         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58243         * lib/unictype/pr_combining.h: Likewise.
58244         * lib/unictype/pr_composite.h: Likewise.
58245         * lib/unictype/pr_currency_symbol.h: Likewise.
58246         * lib/unictype/pr_dash.h: Likewise.
58247         * lib/unictype/pr_decimal_digit.h: Likewise.
58248         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58249         * lib/unictype/pr_deprecated.h: Likewise.
58250         * lib/unictype/pr_diacritic.h: Likewise.
58251         * lib/unictype/pr_extender.h: Likewise.
58252         * lib/unictype/pr_format_control.h: Likewise.
58253         * lib/unictype/pr_grapheme_base.h: Likewise.
58254         * lib/unictype/pr_grapheme_extend.h: Likewise.
58255         * lib/unictype/pr_grapheme_link.h: Likewise.
58256         * lib/unictype/pr_hex_digit.h: Likewise.
58257         * lib/unictype/pr_hyphen.h: Likewise.
58258         * lib/unictype/pr_id_continue.h: Likewise.
58259         * lib/unictype/pr_id_start.h: Likewise.
58260         * lib/unictype/pr_ideographic.h: Likewise.
58261         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58262         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58263         * lib/unictype/pr_ignorable_control.h: Likewise.
58264         * lib/unictype/pr_iso_control.h: Likewise.
58265         * lib/unictype/pr_join_control.h: Likewise.
58266         * lib/unictype/pr_left_of_pair.h: Likewise.
58267         * lib/unictype/pr_line_separator.h: Likewise.
58268         * lib/unictype/pr_logical_order_exception.h: Likewise.
58269         * lib/unictype/pr_lowercase.h: Likewise.
58270         * lib/unictype/pr_math.h: Likewise.
58271         * lib/unictype/pr_non_break.h: Likewise.
58272         * lib/unictype/pr_not_a_character.h: Likewise.
58273         * lib/unictype/pr_numeric.h: Likewise.
58274         * lib/unictype/pr_other_alphabetic.h: Likewise.
58275         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58276         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58277         * lib/unictype/pr_other_id_continue.h: Likewise.
58278         * lib/unictype/pr_other_id_start.h: Likewise.
58279         * lib/unictype/pr_other_lowercase.h: Likewise.
58280         * lib/unictype/pr_other_math.h: Likewise.
58281         * lib/unictype/pr_other_uppercase.h: Likewise.
58282         * lib/unictype/pr_paired_punctuation.h: Likewise.
58283         * lib/unictype/pr_paragraph_separator.h: Likewise.
58284         * lib/unictype/pr_pattern_syntax.h: Likewise.
58285         * lib/unictype/pr_pattern_white_space.h: Likewise.
58286         * lib/unictype/pr_private_use.h: Likewise.
58287         * lib/unictype/pr_punctuation.h: Likewise.
58288         * lib/unictype/pr_quotation_mark.h: Likewise.
58289         * lib/unictype/pr_radical.h: Likewise.
58290         * lib/unictype/pr_sentence_terminal.h: Likewise.
58291         * lib/unictype/pr_soft_dotted.h: Likewise.
58292         * lib/unictype/pr_space.h: Likewise.
58293         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58294         * lib/unictype/pr_titlecase.h: Likewise.
58295         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58296         * lib/unictype/pr_unified_ideograph.h: Likewise.
58297         * lib/unictype/pr_uppercase.h: Likewise.
58298         * lib/unictype/pr_variation_selector.h: Likewise.
58299         * lib/unictype/pr_white_space.h: Likewise.
58300         * lib/unictype/pr_xid_continue.h: Likewise.
58301         * lib/unictype/pr_xid_start.h: Likewise.
58302         * lib/unictype/pr_zero_width.h: Likewise.
58303         * lib/unictype/scripts.h: Likewise.
58304         * lib/unictype/scripts_byname.gperf: Likewise.
58305         * lib/unictype/sy_c_ident.h: Likewise.
58306         * lib/unictype/sy_c_whitespace.h: Likewise.
58307         * lib/unictype/sy_java_ident.h: Likewise.
58308         * lib/unictype/sy_java_whitespace.h: Likewise.
58309
58310         * lib/unictype/Makefile: New file.
58311         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58312         glibc.
58313         * lib/unictype/3level.h: New file, copied from glibc.
58314         * lib/unictype/3levelbit.h: New file.
58315
58316 2007-11-11  Bruno Haible  <bruno@clisp.org>
58317
58318         * modules/gperf: New file.
58319         * modules/iconv_open (Depends-on): Add it.
58320         (Makefile.am): Remove the GPERF definition.
58321
58322 2007-11-11  Bruno Haible  <bruno@clisp.org>
58323
58324         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58325         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58326
58327 2007-11-11  Bruno Haible  <bruno@clisp.org>
58328
58329         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58330         (usage): Remove function.
58331
58332 2007-11-11  Bruno Haible  <bruno@clisp.org>
58333
58334         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58335         gl_FUNC_CEILF_LIBS.
58336         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58337         gl_FUNC_CEIL_LIBS.
58338         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58339         gl_FUNC_CEILL_LIBS.
58340         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58341         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58342         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58343
58344 2007-11-11  Bruno Haible  <bruno@clisp.org>
58345
58346         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58347         roundf were declared but do not exist on functions.
58348         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58349         roundl were declared but do not exist on functions.
58350         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58351         HAVE_FLOORL_AND_CEILL, respectively.
58352         Needed for Sun C on Solaris 10.
58353
58354 2007-11-11  Bruno Haible  <bruno@clisp.org>
58355
58356         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58357         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58358         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58359         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58360         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58361         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58362         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58363         HAVE_DECL_ROUNDF.
58364         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58365         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58366         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58367         of HAVE_DECL_ROUND*.
58368         * modules/math (Makefile.am): Update.
58369
58370 2007-11-10  Bruno Haible  <bruno@clisp.org>
58371
58372         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58373         ptrdiff_t as m4/intl.m4.
58374
58375 2007-11-10  Jim Meyering  <meyering@redhat.com>
58376
58377         Avoid link failure for the argmatch test.
58378         * tests/test-argmatch.c (usage): Define function to avoid a link
58379         failure: argmatch_die requires a usage function.
58380
58381 2007-11-09  Bruno Haible  <bruno@clisp.org>
58382
58383         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58384         * doc/functions/vsnprintf.texi: Likewise.
58385         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58386         with a size argument < 2.
58387
58388 2007-11-09  Bruno Haible  <bruno@clisp.org>
58389
58390         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58391         buffer. Fixes an inefficiency introduced on 2007-11-03.
58392
58393 2007-11-09  Bruno Haible  <bruno@clisp.org>
58394
58395         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58396         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58397
58398 2007-11-08  Jim Meyering  <meyering@redhat.com>
58399
58400         Change cache variable name prefix "jm_" to "gl_" everywhere.
58401         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58402         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58403         * m4/uptime.m4: s/gl_/jm_/
58404
58405 2007-11-07  Bruno Haible  <bruno@clisp.org>
58406
58407         Update to GNU gettext 0.17.
58408         * m4/intl.m4: Update to GNU gettext 0.17.
58409         * m4/po.m4: Likewise.
58410         * modules/gettext (Files): Remove m4/ulonglong.m4.
58411         (configure.ac): Require gettext infrastructure from version 0.17.
58412
58413 2007-11-06  Bruno Haible  <bruno@clisp.org>
58414
58415         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58416         symbolic values are not defined in a public header.
58417         * lib/freadable.c (freadable) [QNX]: Likewise.
58418         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58419         * lib/freading.c (freading) [QNX]: Likewise.
58420         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58421         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58422         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58423         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58424         Reported by Alain Magloire.
58425
58426         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58427
58428 2007-11-05  Bruno Haible  <bruno@clisp.org>
58429
58430         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58431         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58432         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58433         Reported by Eric Blake.
58434
58435 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58436             Bruno Haible  <bruno@clisp.org>
58437
58438         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58439         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58440         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58441         (malloc): Undefine also before including <stdlib.h>.
58442         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58443         Needed on OSF/1 4.0.
58444
58445 2007-11-05  Jim Meyering  <meyering@redhat.com>
58446
58447         git-version-gen: sync from coreutils.
58448         * build-aux/git-version-gen: Add comments.
58449         Change the first '-' to '.' in the snapshot version string,
58450         e.g., 6.9-377-08144 -> 6.9.377-08144
58451         Remove first parameter.
58452         Don't declare a version "-dirty" merely because a time
58453         stamp has changed.
58454
58455 2007-11-04  Bruno Haible  <bruno@clisp.org>
58456
58457         * lib/lock.h: Protect all macro definitions containing an 'if'
58458         statement through a "do { ... } while (0)".
58459         * lib/tls.h: Likewise.
58460
58461 2007-11-04  Bruno Haible  <bruno@clisp.org>
58462
58463         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58464
58465 2007-11-04  Bruno Haible  <bruno@clisp.org>
58466
58467         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58468         * modules/fprintf-posix (Depends-on): Add nocrash.
58469         * modules/snprintf-posix (Depends-on): Likewise.
58470         * modules/sprintf-posix (Depends-on): Likewise.
58471         * modules/vasnprintf-posix (Depends-on): Likewise.
58472         * modules/vasprintf-posix (Depends-on): Likewise.
58473         * modules/vfprintf-posix (Depends-on): Likewise.
58474         * modules/vsnprintf-posix (Depends-on): Likewise.
58475         * modules/vsprintf-posix (Depends-on): Likewise.
58476         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58477         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58478         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58479         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58480         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58481         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58482         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58483
58484 2007-11-04  Bruno Haible  <bruno@clisp.org>
58485
58486         * modules/nocrash: New file.
58487         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58488         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58489
58490 2007-11-04  Bruno Haible  <bruno@clisp.org>
58491
58492         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58493         precision handling.
58494         * tests/test-vasprintf-posix.c (test_function): Likewise.
58495         * tests/test-snprintf-posix.h (test_function): Likewise.
58496         * tests/test-sprintf-posix.h (test_function): Likewise.
58497
58498         Fix *printf behaviour for large precisions on mingw and BeOS.
58499         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58500         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58502         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58503         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58504         gl_PRINTF_PRECISION and test its result. Invoke
58505         gl_PREREQ_VASNPRINTF_PRECISION.
58506         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58507         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58508         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58509         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58510         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58511         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58512         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58513         * doc/functions/fprintf.texi: Update.
58514         * doc/functions/printf.texi: Update.
58515         * doc/functions/snprintf.texi: Update.
58516         * doc/functions/sprintf.texi: Update.
58517         * doc/functions/vfprintf.texi: Update.
58518         * doc/functions/vprintf.texi: Update.
58519         * doc/functions/vsnprintf.texi: Update.
58520         * doc/functions/vsprintf.texi: Update.
58521
58522 2007-11-04  Bruno Haible  <bruno@clisp.org>
58523
58524         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58525
58526 2007-11-04  Bruno Haible  <bruno@clisp.org>
58527
58528         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58529         Reported by Sylvain Beucler <beuc@gnu.org>.
58530
58531 2007-11-03  Bruno Haible  <bruno@clisp.org>
58532
58533         * tests/test-fprintf-posix2.sh: New file.
58534         * tests/test-fprintf-posix2.c: New file.
58535         * modules/fprintf-posix-tests (Files): Add them.
58536         (TESTS): Add test-fprintf-posix2.sh.
58537         (configure.ac): Check for getrlimit and setrlimit.
58538         (check_PROGRAMS): Add test-fprintf-posix2.
58539
58540         * tests/test-printf-posix2.sh: New file.
58541         * tests/test-printf-posix2.c: New file.
58542         * modules/printf-posix-tests (Files): Add them.
58543         (TESTS): Add test-printf-posix2.sh.
58544         (configure.ac): Check for getrlimit and setrlimit.
58545         (check_PROGRAMS): Add test-printf-posix2.
58546
58547         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58548         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58549         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58550         (decode_double): New function, copied from decode_long_double.
58551         (scale10_round_decimal_decoded): New function, extracted from
58552         scale10_round_decimal_long_double.
58553         (scale10_round_decimal_long_double): Use it.
58554         (scale10_round_decimal_double): New function.
58555         (floorlog10): New function.
58556         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58557         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58558         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58559         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58560         gl_PRINTF_ENOMEM and test its result. Invoke
58561         gl_PREREQ_VASNPRINTF_ENOMEM.
58562         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58563         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58564         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58565         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58566         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58567         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58568         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58569         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58570         * modules/snprintf-posix (Depends-on): Likewise.
58571         * modules/sprintf-posix (Depends-on): Likewise.
58572         * modules/vasnprintf-posix (Depends-on): Likewise.
58573         * modules/vasprintf-posix (Depends-on): Likewise.
58574         * modules/vfprintf-posix (Depends-on): Likewise.
58575         * modules/vsnprintf-posix (Depends-on): Likewise.
58576         * modules/vsprintf-posix (Depends-on): Likewise.
58577         * doc/functions/fprintf.texi: Update.
58578         * doc/functions/printf.texi: Update.
58579         * doc/functions/snprintf.texi: Update.
58580         * doc/functions/sprintf.texi: Update.
58581         * doc/functions/vfprintf.texi: Update.
58582         * doc/functions/vprintf.texi: Update.
58583         * doc/functions/vsnprintf.texi: Update.
58584         * doc/functions/vsprintf.texi: Update.
58585
58586 2007-11-03  Bruno Haible  <bruno@clisp.org>
58587
58588         * modules/frexp-nolibm-tests: New file.
58589
58590         * modules/frexp-nolibm: New file.
58591         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58592
58593 2007-11-03  Bruno Haible  <bruno@clisp.org>
58594
58595         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58596         value is C99 compliant.
58597         Needed for OSF/1 5.1.
58598
58599 2007-11-03  Bruno Haible  <bruno@clisp.org>
58600
58601         Fix out-of-memory handling of vasnprintf.
58602         * lib/printf-parse.c: Include <errno.h>.
58603         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58604         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58605         is already set.
58606
58607 2007-11-02  Eric Blake  <ebb9@byu.net>
58608
58609         Fix tests on cygwin.
58610         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58611
58612 2007-11-01  Bruno Haible  <bruno@clisp.org>
58613
58614         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58615         warning.
58616         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58617         needed for POSIX compatibility.
58618
58619 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58620
58621         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58622         for compatibility with GNU.
58623
58624 2007-11-01  Bruno Haible  <bruno@clisp.org>
58625
58626         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58627         (putenv): Renamed from rpl_putenv. Change argument type from
58628         'const char *' to 'char *'.
58629         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58630         of defining putenv in config.h, just set REPLACE_PUTENV.
58631         * modules/putenv (Depends-on): Add stdlib.
58632         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58633         (Include): Use <stdlib.h>.
58634         * lib/stdlib.in.h (putenv): New declaration.
58635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58636         REPLACE_PUTENV.
58637         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58638         REPLACE_PUTENV.
58639         Needed for MacOS X 10.5.0.
58640         Reported by Peter O'Gorman <peter@pogma.com>.
58641
58642 2007-11-01  Jim Meyering  <meyering@redhat.com>
58643
58644         Treat an empty date string exactly like "0".
58645         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58646         if the remaining date string (to be parsed) is empty, use "0".
58647         Reported by Mischa Molhoek and discussed in this thread:
58648         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58649
58650 2007-10-31  Bruno Haible  <bruno@clisp.org>
58651
58652         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58653         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58654         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58655         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58656         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58657         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58658
58659 2007-10-31  Bruno Haible  <bruno@clisp.org>
58660
58661         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58662         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58663         (AC_TYPE_LONG_LONG_INT): Use it.
58664         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58665         it as well.
58666         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58667         to m4/longlong.m4.
58668         * modules/stdint (Files): Remove m4/ulonglong.m4.
58669         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58670         m4/ulonglong.m4.
58671         * modules/strtoumax (Files): Likewise.
58672
58673 2007-10-30  Bruno Haible  <bruno@clisp.org>
58674
58675         * modules/xvasprintf-posix: New file.
58676         Suggested by Eric Blake.
58677
58678 2007-10-30  Bruno Haible  <bruno@clisp.org>
58679
58680         * modules/xprintf-posix-tests: New file.
58681         * tests/test-xprintf-posix.sh: New file.
58682         * tests/test-xprintf-posix.c: New file.
58683         * tests/test-xfprintf-posix.c: New file.
58684
58685         * modules/xprintf-posix: New file.
58686
58687 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58688
58689         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58690         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58691         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58692
58693 2007-10-29  Bruno Haible  <bruno@clisp.org>
58694
58695         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58696         contain the special marker '_cv_'.
58697         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58698         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58699         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58700         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58701         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58702         Reported by Ralf Wildenhues.
58703
58704 2007-10-29  Bruno Haible  <bruno@clisp.org>
58705
58706         * gnulib-tool (func_import): When --lgpl is not specified, set
58707         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58708         GPLv3.
58709         Reported by Simon Josefsson.
58710
58711 2007-10-28  Bruno Haible  <bruno@clisp.org>
58712
58713         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58714         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58715         HAVE_DECL_ISFINITE.
58716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58717         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58718         HAVE_DECL_ISFINITE.
58719
58720 2007-10-28  Bruno Haible  <bruno@clisp.org>
58721
58722         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58723         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58724
58725 2007-10-28  Bruno Haible  <bruno@clisp.org>
58726
58727         Fix link errors with Sun C 5.0 on Solaris 10.
58728         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58729         function is declared but not present in the compiler's libm.
58730         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58731         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58732         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58733         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58734         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58735         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58736         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58737         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58738         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58739         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58740         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58741         HAVE_DECL_FLOORL.
58742
58743 2007-10-28  Bruno Haible  <bruno@clisp.org>
58744
58745         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58746         gl_FUNC_FLOORL. Cache the result.
58747         (gl_FUNC_FLOORL): Use it.
58748         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58749         gl_FUNC_CEILL. Cache the result.
58750         (gl_FUNC_CEILL): Use it.
58751
58752         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58753         gl_FUNC_FLOOR. Cache the result.
58754         (gl_FUNC_FLOOR): Use it.
58755         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58756         gl_FUNC_CEIL. Cache the result.
58757         (gl_FUNC_CEIL): Use it.
58758
58759         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58760         gl_FUNC_FLOORF. Cache the result.
58761         (gl_FUNC_FLOORF): Use it.
58762         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58763         gl_FUNC_CEILF. Cache the result.
58764         (gl_FUNC_CEILF): Use it.
58765
58766 2007-10-28  Bruno Haible  <bruno@clisp.org>
58767
58768         * gnulib-tool: Allow specifying the LGPL version number through
58769         --lgpl=2 or --lgpl=3.
58770         (func_usage): Document --lgpl with argument.
58771         Handle --lgpl=... arguments.
58772         (func_import): Recognize also gl_LGPL calls with an argument. When
58773         --lgpl=2 is used and the module's license is just LGPL, report an
58774         error. Set sed_transform_lib_file according to the lgpl variable. In
58775         the generated files, use --lgpl or gl_LGPL invocations with argument,
58776         if necessary.
58777         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58778         an LGPv2+ license.
58779         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58780         gl_LGPL macro.
58781
58782 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58783             Bruno Haible  <bruno@clisp.org>
58784
58785         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58786         (u16_uctomb_aux): Likewise.
58787         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58788         !HAVE_INLINE.
58789         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58790
58791 2007-10-28  Bruno Haible  <bruno@clisp.org>
58792
58793         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58794         Invoke AM_GETTEXT_OPTION if it exists.
58795         * modules/vasprintf: Likewise.
58796         * modules/verror: Likewise.
58797         * modules/xprintf: Likewise.
58798         * modules/xvasprintf: Likewise.
58799
58800 2007-10-27  Ben Pfaff  <blp@gnu.org>
58801
58802         * lib/math.in.h: Define isfinite macro and prototypes for
58803         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
58804         implementations.
58805         * m4/math_h.m4: New substitutions for isfinite module.
58806         * lib/isfinite.c: New file.
58807         * m4/isfinite.m4: New file.
58808         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
58809         * modules/isfinite: New file.
58810         * modules/isfinite-tests: New file.
58811         * tests/tests-isfinite.c: New file.
58812         * doc/functions/isfinite.texi: Mention isfinite module.
58813         * MODULES.html.sh: Mention new module.
58814
58815 2007-10-27  Ben Pfaff  <blp@gnu.org>
58816
58817         Ralf Wildenhues reported that Tru64 4.0D declares the round
58818         functions but does not have definitions.
58819         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58820         cannot be found in any library, set the output variable to
58821         "missing" instead of "".
58822         * m4/round.m4: Also use our substitute if we cannot find round in
58823         any library, even if it is declared.
58824         * m4/roundf.m4: Likewise for roundf.
58825         * m4/roundl.m4: Likewise for roundl.
58826         * lib/math.in.h: Undefine roundf, round, roundl before defining
58827         their replacements, to allow for hypothetical systems where these
58828         may be defined as macros but not available in libraries.
58829
58830 2007-10-27  Bruno Haible  <bruno@clisp.org>
58831
58832         * doc/gnulib.texi: Invoke @firstparagraphindent.
58833         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58834         changes in gnulib.
58835         (Source changes): New section.
58836
58837 2007-10-26  Bruno Haible  <bruno@clisp.org>
58838
58839         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58840         borrowed from autoconf.
58841
58842 2007-10-26  Bruno Haible  <bruno@clisp.org>
58843
58844         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58845         strerror returned the empty string. Needed on HP-UX 11.00.
58846
58847 2007-10-24  Micah Cowan  <micah@cowan.name>
58848
58849         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58850         * build-aux/bootstrap: Remove support for now-unnecessary option,
58851         --cvs-user, and envvars CVS_USER, CVS_RSH.
58852
58853 2007-10-24  Jim Meyering  <meyering@redhat.com>
58854
58855         Avoid diagnostics from sha1sum when there is no cached checksum.
58856         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58857         if the po.s1 file hasn't been created yet.
58858
58859         * build-aux/bootstrap: Sync from coreutils:
58860         2007-10-24  Jim Meyering  <meyering@redhat.com>
58861         Get gnulib from the git repository, not from an obsolete cvs one.
58862         * build-aux/bootstrap: Suggestion from Micah Cowan.
58863         2007-10-04  Jim Meyering  <jim@meyering.net>
58864         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58865         (update_po_files): Work also when there are no .po files in po/.
58866
58867 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58868
58869         * README: Append ".git" to git and cg examples.
58870         Problem reported by Benoit Sigoure.
58871
58872 2007-10-23  Micah Cowan  <micah@cowan.name>
58873
58874         * users.txt: Add wget.
58875
58876 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58877
58878         Fix linking of some unistdio tests on FreeBSD.
58879         * modules/unistdio/u16-vsnprintf-tests
58880         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58881         * modules/unistdio/u16-vsprintf-tests
58882         (test_u16_vsnprintf1_LDADD): Likewise.
58883         * modules/unistdio/u32-vsnprintf-tests
58884         (test_u32_vsnprintf1_LDADD): Likewise.
58885         * modules/unistdio/u32-vsprintf-tests
58886         (test_u32_vsprintf1_LDADD): Likewise.
58887         * modules/unistdio/u8-vsnprintf-tests
58888         (test_u8_vsnprintf1_LDADD): Likewise.
58889         * modules/unistdio/u8-vsprintf-tests
58890         (test_u8_vsprintf1_LDADD): Likewise.
58891         * modules/unistdio/ulc-vsnprintf-tests
58892         (test_ulc_vsnprintf1_LDADD): Likewise.
58893         * modules/unistdio/ulc-vsprintf-tests
58894         (test_ulc_vsprintf1_LDADD): Likewise.
58895
58896         Fix linking of some uniconv tests on FreeBSD.
58897         * modules/uniconv/u16-conv-from-enc-tests
58898         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58899         * modules/uniconv/u16-conv-to-enc-tests
58900         (test_u16_conv_to_enc_LDADD): Likewise.
58901         * modules/uniconv/u16-strconv-from-enc-tests
58902         (test_u16_strconv_from_enc_LDADD): Likewise.
58903         * modules/uniconv/u16-strconv-to-enc-tests
58904         (test_u16_strconv_to_enc_LDADD): Likewise.
58905         * modules/uniconv/u32-conv-from-enc-tests
58906         (test_u32_conv_from_enc_LDADD): Likewise.
58907         * modules/uniconv/u32-conv-to-enc-tests
58908         (test_u32_conv_to_enc_LDADD): Likewise.
58909         * modules/uniconv/u32-strconv-from-enc-tests
58910         (test_u32_strconv_from_enc_LDADD): Likewise.
58911         * modules/uniconv/u32-strconv-to-enc-tests
58912         (test_u32_strconv_to_enc_LDADD): Likewise.
58913         * modules/uniconv/u8-conv-from-enc-tests
58914         (test_u8_conv_from_enc_LDADD): Likewise.
58915         * modules/uniconv/u8-conv-to-enc-tests
58916         (test_u8_conv_to_enc_LDADD): Likewise.
58917         * modules/uniconv/u8-strconv-from-enc-tests
58918         (test_u8_strconv_from_enc_LDADD): Likewise.
58919         * modules/uniconv/u8-strconv-to-enc-tests
58920         (test_u8_strconv_to_enc_LDADD): Likewise.
58921
58922 2007-10-22  Bruno Haible  <bruno@clisp.org>
58923
58924         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
58925         size.
58926
58927 2007-10-22  Eric Blake  <ebb9@byu.net>
58928
58929         Tweak x*printf documentation.
58930         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
58931         variable name and comments.
58932         Suggested by Bruno Haible.
58933
58934 2007-10-22  Bruno Haible  <bruno@clisp.org>
58935
58936         * lib/acl.c (copy_acl): Fix file name in comment.
58937
58938 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58939
58940         Fix Tru64 problem with stdbool.h.
58941         * lib/stdbool.in.h (false, true):
58942         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
58943         Don't declare as an enum in this situation; it runs afoul of Tru64.
58944         Problem reported by Steven M. Schweda in
58945         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
58946
58947 2007-10-22  Eric Blake  <ebb9@byu.net>
58948
58949         Also wrap vf?printf.
58950         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
58951         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
58952         (xvprintf, xvfprintf): New functions.
58953
58954 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58955
58956         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
58957         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
58958
58959         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
58960         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
58961
58962 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58963
58964         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
58965         by Bruno Haible.
58966
58967 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58968
58969         * lib/getloadavg.c
58970         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
58971         Undef `sys' after including sys/table.h, for Tru64 4.0D.
58972
58973         * tests/test-i-ring.c: Work for C89.
58974
58975 2007-10-22  Bruno Haible  <bruno@clisp.org>
58976
58977         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
58978         -1u, in preprocessor expression, so that we don't test for the bug
58979         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
58980         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
58981
58982 2007-10-22  Eric Blake  <ebb9@byu.net>
58983
58984         * tests/test-yesno.sh: Silence stderr during test.
58985
58986 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58987
58988         * modules/crypto/gc-camellia: New file.
58989
58990         * m4/gc-camellia.m4: New file.
58991
58992         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
58993
58994         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
58995
58996 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58997
58998         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
58999         --help to stdout.  Reported by sms@antinode.org (Steven
59000         M. Schweda).
59001
59002 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59003
59004         * users.txt: Fix link to libksba.
59005
59006 2007-10-21  Ben Pfaff  <blp@gnu.org>
59007
59008         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59009         round.c roundf implementation that depends on floorf and ceilf to
59010         be tested unconditionally.
59011
59012 2007-10-21  Ben Pfaff  <blp@gnu.org>
59013
59014         * m4/check-libm-func.m4: Removed.
59015         * m4/check-math-lib.m4: New file.
59016         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59017         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59018         definition and lack of AC_LIBOBJ([roundf]).
59019         * m4/roundl.m4: Ditto, and similarly for roundl.
59020         * modules/round: Reference new m4 file.
59021         * modules/roundf: Ditto.
59022         * modules/roundl: Ditto.
59023         * tests/test-round2.c (main): Use ROUND instead of round.
59024         Bug report from Bruno Haible.
59025
59026 2007-10-21  Bruno Haible  <bruno@clisp.org>
59027
59028         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59029         context.
59030
59031 2007-10-21  Bruno Haible  <bruno@clisp.org>
59032
59033         * tests/test-wcwidth.c (main): Allow negative result for some control
59034         characters.
59035
59036         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59037         Needed on OSF/1 5.1.
59038
59039 2007-10-21  Bruno Haible  <bruno@clisp.org>
59040
59041         * tests/test-floorf1.c: Include isnanf.h.
59042         (main): Use isnanf() instead of isnan().
59043         * tests/test-ceilf1.c: Include isnanf.h.
59044         (main): Use isnanf() instead of isnan().
59045         * tests/test-truncf1.c: Include isnanf.h.
59046         (main): Use isnanf() instead of isnan().
59047         * tests/test-roundf1.c: Include isnanf.h.
59048         (main): Use isnanf() instead of isnan().
59049
59050 2007-10-21  Eric Blake  <ebb9@byu.net>
59051
59052         * users.txt: Update URL for m4.
59053
59054 2007-10-21  Bruno Haible  <bruno@clisp.org>
59055
59056         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59057
59058 2007-10-21  Bruno Haible  <bruno@clisp.org>
59059
59060         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59061         Git's management files if the CVS files are not present.
59062
59063 2007-10-20  Bruno Haible  <bruno@clisp.org>
59064
59065         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59066         gcc-3.4.x.
59067
59068 2007-10-20  Ben Pfaff  <blp@gnu.org>
59069
59070         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59071         implementations.
59072         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59073         * lib/round.c: New file.
59074         * lib/roundf.c: New file.
59075         * lib/roundl.c: New file.
59076         * m4/round.m4: New file.
59077         * m4/roundf.m4: New file.
59078         * m4/roundl.m4: New file.
59079         * m4/check-libm-func-m4: New file.
59080         * modules/math: Replace round, roundf, roundl related @VARS@ in
59081         math.in.h.
59082         * modules/round: New file.
59083         * modules/round-tests: New file.
59084         * modules/roundf: New file.
59085         * modules/roundf-tests: New file.
59086         * modules/roundl: New file.
59087         * modules/roundl-tests: New file.
59088         * tests/test-round1.c: New file.
59089         * tests/test-round2.c: New file.
59090         * tests/test-roundf1.c: New file.
59091         * tests/test-roundf2.c: New file.
59092         * tests/test-roundl.c: New file.
59093         * doc/functions/round.texi: Mention round module.
59094         * doc/functions/roundf.texi: Mention roundf module.
59095         * doc/functions/roundl.texi: Mention roundl module.
59096         * MODULES.html.sh: Mention new modules.
59097         Thanks to Bruno Haible for suggestions.
59098
59099 2007-10-20  Jim Meyering  <meyering@redhat.com>
59100
59101         * lib/xprintf.c: Include <config.h> unconditionally.
59102
59103         Change xprintf's license to GPL.
59104         * modules/xprintf (License): s/LGPL/GPL/, since this module
59105         depends on modules (exit and exitfail) which are GPL.
59106         Suggestion from Bruno Haible.
59107
59108         xprintf fixes.
59109         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59110         Use a clearer diagnostic.
59111         Patch from Bruno Haible.
59112
59113 2007-10-20  Bruno Haible  <bruno@clisp.org>
59114
59115         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59116         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59117         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59118
59119 2007-10-20  Bruno Haible  <bruno@clisp.org>
59120
59121         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59122         precision in the comparison result > x - 1 or similar.
59123         * tests/test-ceilf2.c (correct_result_p): Likewise.
59124         * tests/test-truncf2.c (correct_result_p): Likewise.
59125         * tests/test-trunc2.c (correct_result_p): Likewise.
59126         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59127
59128 2007-10-20  Bruno Haible  <bruno@clisp.org>
59129
59130         * modules/ceil: New file.
59131         * m4/ceil.m4: New file.
59132         * doc/functions/ceil.texi: Mention the 'ceil' module.
59133
59134 2007-10-20  Bruno Haible  <bruno@clisp.org>
59135
59136         * modules/floor: New file.
59137         * m4/floor.m4: New file.
59138         * doc/functions/floor.texi: Mention the 'floor' module.
59139
59140 2007-10-20  Bruno Haible  <bruno@clisp.org>
59141
59142         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59143         of %a.
59144         * modules/floorf-tests (Depends-on): Likewise.
59145         * modules/truncf-tests (Depends-on): Likewise.
59146         * modules/trunc-tests (Depends-on): Likewise.
59147         Reported by Ben Pfaff.
59148
59149 2007-10-19  Jim Meyering  <meyering@redhat.com>
59150
59151         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59152         Don't bother testing specific errno values.  Just test ferror.
59153
59154         New module: xprintf
59155         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59156
59157 2007-10-19  Bruno Haible  <bruno@clisp.org>
59158
59159         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59160         syntax.
59161         * modules/javaexec (Makefile.am): Likewise.
59162         * modules/relocatable-prog (Makefile.am): Likewise.
59163         Suggested by Jim Meyering.
59164
59165 2007-10-18  Bruno Haible  <bruno@clisp.org>
59166
59167         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59168         Reported by Jim Meyering.
59169
59170 2007-10-18  Eric Blake  <ebb9@byu.net>
59171
59172         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59173
59174 2007-10-18  Bruno Haible  <bruno@clisp.org>
59175
59176         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59177         the format string into writable memory. Needed in Fortify conditions.
59178
59179 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59180             Bruno Haible  <bruno@clisp.org>
59181
59182         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59183         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59184         * modules/trim (Depends-on): Add mbchar.
59185         (configure.ac): Add gl_FUNC_MBRTOWC.
59186         (Makefile.am): Augment lib_SOURCES.
59187
59188 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59189
59190         Modify glob.c to use fstatat and dirfd, to simplify it.
59191         Suggested by Eric Blake.
59192         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59193         Don't include <stdbool.h>; not used.
59194         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59195         (link_exists_p): Simplify implementation, since we can now assume
59196         dirfd and fstatat.
59197         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59198
59199 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59200
59201         * gnulib-tool (func_get_dependencies): Fix sed script to
59202         match only tests.
59203
59204 2007-10-17  Bruno Haible  <bruno@clisp.org>
59205
59206         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59207         allow locale names without encoding suffix.
59208         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59209         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59210
59211 2007-10-16  Bruno Haible  <bruno@clisp.org>
59212
59213         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59214         * lib/getgroups.c (getgroups): Likewise.
59215         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59216
59217 2007-10-16  Bruno Haible  <bruno@clisp.org>
59218
59219         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59220         * modules/malloc-posix (License): Likewise.
59221         * modules/realloc-posix (License): Likewise.
59222         * modules/calloc-posix (License): Likewise.
59223         * modules/intprops (License): Change from GPL to LGPL, with
59224         Paul Eggert's approval.
59225
59226 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59227
59228         Merge glibc changes into lib/glob.c.
59229
59230         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59231         2007-10-15 04:59:03 UTC.  Here are the changes:
59232
59233         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59234
59235         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59236
59237         * lib/glob.c: Add some branch prediction throughout.
59238
59239         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59240
59241         [BZ #5103]
59242         * lib/glob.c (glob): Recognize patterns starting \/.
59243
59244         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59245
59246         [BZ #3996]
59247         * lib/glob.c (attribute_hidden): Define if not defined.
59248         (glob): Unescape dirname, filename or username when needed and not
59249         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59250         is NULL.  Handle unescaped [ in pattern without closing ].
59251         Don't pass GLOB_CHECK down to recursive glob for directories.
59252         (__glob_pattern_type): New function.
59253         (__glob_pattern_p): Implement using __glob_pattern_type.
59254         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59255         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59256         Remove unreachable code.
59257
59258         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59259
59260         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59261         explain why there are no leaks.
59262
59263         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59264
59265         [BZ #3253]
59266         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59267         time, rather allocate increasingly bigger arrays of pointers, if
59268         possible with alloca, if too large with malloc.
59269
59270 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59271
59272         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59273         Problem reported by H.Merijn Brand in
59274         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59275         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59276         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59277
59278 2007-10-15  Bruno Haible  <bruno@clisp.org>
59279
59280         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59281         with explicit rpl_ prefix.
59282         * lib/fopen.c (fopen): Likewise.
59283         * lib/freopen.c (freopen): Likewise.
59284         * lib/iconv.c (iconv): Likewise.
59285         * lib/iconv_close.c (iconv_close): Likewise.
59286
59287 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59288
59289         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59290
59291 2007-10-15  Bruno Haible  <bruno@clisp.org>
59292
59293         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59294         <stddef.h> instead of <stdlib.h> since we only need NULL.
59295         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59296
59297 2007-10-15  Bruno Haible  <bruno@clisp.org>
59298
59299         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59300         Replace paragraph talking about LIBOBJS.
59301         Reported by Colin Watson <cjwatson@debian.org>.
59302
59303 2007-10-15  Bruno Haible  <bruno@clisp.org>
59304
59305         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59306         <stdlib.h> before using NULL.
59307
59308 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59309
59310         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59311         Reported by Albert Chin <china@thewrittenword.com>.
59312
59313 2007-10-14  Bruno Haible  <bruno@clisp.org>
59314
59315         * modules/iconv_open-utf-tests: New file.
59316         * tests/test-iconv-utf.c: New file.
59317
59318         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59319         * modules/iconv_open-utf: New file.
59320         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59321         (iconv, iconv_close): New declarations.
59322         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59323         be defined.
59324         (iconv_open): Add special handling of conversion between UTF-8 and
59325         UTF-{16,32}{BE,LE}.
59326         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59327         * lib/iconv_close.c: New file.
59328         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59329         gl_FUNC_ICONV_OPEN.
59330         (gl_FUNC_ICONV_OPEN): Use it.
59331         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59332         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59333         and REPLACE_ICONV_UTF.
59334         * modules/iconv_open (Depends-on): Add c-strcase.
59335         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59336         ICONV_CONST.
59337         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59338
59339 2007-10-13  Albert Chin  <china@thewrittenword.com>
59340             Bruno Haible  <bruno@clisp.org>
59341
59342         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59343         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59344
59345 2007-10-13  Bruno Haible  <bruno@clisp.org>
59346
59347         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59348         defined, use the ISO C99 inline semantics.
59349         * lib/argp.h (ARGP_EI): Likewise.
59350
59351 2007-10-13  Bruno Haible  <bruno@clisp.org>
59352
59353         Handle 'inline' change in gcc 4.3.0.
59354         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59355         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59356         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59357         argp_fmtstream_point): Disable 'extern' declaration if the function
59358         definition is going to be provided inline.
59359         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59360         semantics, not the ISO C99 inline semantics.
59361         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59362         'extern' declaration if the function definition is going to be provided
59363         inline.
59364         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59365         the GNU C inline semantics, not the ISO C99 inline semantics. With
59366         GCC 4.2, avoid a warning.
59367
59368 2007-10-13  Bruno Haible  <bruno@clisp.org>
59369
59370         * lib/freading.h (freading): Enable the use of __freading for
59371         glibc >= 2.7.
59372         * lib/freading.c (freading): Likewise.
59373
59374 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59375
59376         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59377         "warning: C99 inline functions are not supported; using GNU89".
59378
59379 2007-10-12  Bruno Haible  <bruno@clisp.org>
59380
59381         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59382         of 2.
59383         * tests/test-ceilf2.c: New file.
59384         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59385
59386         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59387         * modules/ceilf-tests: Update.
59388
59389 2007-10-12  Bruno Haible  <bruno@clisp.org>
59390
59391         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59392         of 2.
59393         * tests/test-floorf2.c: New file.
59394         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59395
59396         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59397         * modules/floorf-tests: Update.
59398
59399 2007-10-12  Bruno Haible  <bruno@clisp.org>
59400
59401         * tests/test-trunc2.c: New file.
59402         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59403
59404         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59405         * modules/trunc-tests: Update.
59406
59407 2007-10-12  Bruno Haible  <bruno@clisp.org>
59408
59409         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59410         of 2.
59411         * tests/test-truncf2.c: New file.
59412         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59413
59414         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59415         * modules/truncf-tests: Update.
59416
59417 2007-10-11  Eric Blake  <ebb9@byu.net>
59418
59419         Don't claim strerror is broken on Interix.
59420         * doc/functions/strerror.texi (strerror): Known broken systems are
59421         now Solaris 8, and not Interix.
59422         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59423         Interix on cross-compile.
59424         Reported by Martin Koeppe in
59425         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59426
59427 2007-10-11  Bruno Haible  <bruno@clisp.org>
59428
59429         * modules/i-ring-tests: New file.
59430         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59431         instead of assert.
59432
59433 2007-10-11  Bruno Haible  <bruno@clisp.org>
59434
59435         * modules/filenamecat-tests: New file.
59436         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59437         * lib/filenamecat.c: Remove test code.
59438
59439 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59440
59441         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59442
59443         * lib/strerror.c: Include <string.h> always, to test interface,
59444         and to remove the need for the dummy.
59445         Include intprops.h to compute width instead of doing it ourselves
59446         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59447         (strerror): Define it to return NULL if there's no system strerror.
59448         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59449         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59450         ancient pre-strerror Unix systems well any more.  Saying "unknown
59451         system error" is enough.
59452         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59453         simpler strerror.c implementation.
59454         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59455         Simplify the tests to reflect the simpler strerror implementation.
59456         * modules/strerror (Depends-on): Add intprops.
59457
59458 2007-10-09  Eric Blake  <ebb9@byu.net>
59459
59460         Silence test-fpending.
59461         * modules/fpending-tests (Files): Add wrapper script.
59462         * tests/test-fpending.sh: New file.
59463
59464 2007-10-09  Bruno Haible  <bruno@clisp.org>
59465
59466         * MODULES.html.sh (func_module): Don't create a hyperlink for
59467         function names like 'printf_frexp'.
59468         (Misc): Add crc, memxor.
59469         (Characteristics of floating types): New section.
59470         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59471         isnanf-nolibm, signbit, trunc, truncf, truncl.
59472         (Enhancements for ISO C 99 functions): New subsection Input/output.
59473         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59474         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59475         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59476         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59477         (Enhancements for POSIX:2001 functions): Add chdir-long.
59478         (File system functions): Add areadlink, chdir-safer, read-file.
59479         Remove cycle-check.
59480         (File system as inode set): New section.
59481         (Date and time): Add gethrxtime.
59482         (Multithreading): Add openmp.
59483         (Internationalization functions): Add localename.
59484         (Unicode string functions): Add unistr/u*-mbsnlen.
59485         (Support for maintaining and releasing projects): Add git-version-gen.
59486         (Lone files): Remove directories.
59487
59488 2007-10-08  Ben Pfaff  <blp@gnu.org>
59489
59490         * lib/xmalloca.h: Fix typo in comment.
59491
59492 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59493
59494         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59495         when avoiding problems with integer overflow.  Use a portable test
59496         instead.
59497
59498 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59499
59500         * modules/dummy (License): Change to LGPLv2+.
59501         * modules/float (License): Likewise
59502         * modules/realloc (License): Likewise
59503         * modules/stdlib (License): Likewise
59504
59505 2007-10-07  Bruno Haible  <bruno@clisp.org>
59506
59507         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59508         * floor.c (TWO_MANT_DIG): Likewise.
59509         * ceil.c (TWO_MANT_DIG): Likewise.
59510         Reported by Ben Pfaff.
59511
59512 2007-10-07  Bruno Haible  <bruno@clisp.org>
59513
59514         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59515         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59516         * lib/frexp.c (FUNC): Likewise.
59517         * lib/printf-frexp.h (printf_frexp): Likewise.
59518         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59519         * lib/printf-frexp.c (FUNC): Likewise.
59520         Suggested by Jim Meyering.
59521
59522 2007-10-07  Jim Meyering  <meyering@redhat.com>
59523
59524         Make xnanosleep's integer overflow test more robust.
59525         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59526         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59527
59528 2007-10-07  Bruno Haible  <bruno@clisp.org>
59529
59530         * NEWS: Mention the license change.
59531
59532         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59533         abbreviations in the modules files.
59534
59535         Change copyright notice from GPLv2+ to GPLv3+.
59536         * README: Change copyright notice.
59537         * MODULES.html.sh: Likewise.
59538         * build-aux/bootstrap.conf: Likewise.
59539         * build-aux/config.libpath: Likewise.
59540         * build-aux/csharpcomp.sh.in: Likewise.
59541         * build-aux/csharpexec.sh.in: Likewise.
59542         * build-aux/install-reloc: Likewise.
59543         * build-aux/javacomp.sh.in: Likewise.
59544         * build-aux/javaexec.sh.in: Likewise.
59545         * build-aux/ldd.sh.in: Likewise.
59546         * build-aux/reloc-ldflags: Likewise.
59547         * build-aux/relocatable.sh.in: Likewise.
59548         * build-aux/x-to-1.in: Likewise.
59549         * check-module: Likewise.
59550         * config/srclistvars.sh: Likewise.
59551         * gnulib-tool: Likewise.
59552         * lib/acl-internal.h: Likewise.
59553         * lib/acl.c: Likewise.
59554         * lib/acl.h: Likewise.
59555         * lib/acl_entries.c: Likewise.
59556         * lib/areadlink-with-size.c: Likewise.
59557         * lib/areadlink.c: Likewise.
59558         * lib/areadlink.h: Likewise.
59559         * lib/argmatch.c: Likewise.
59560         * lib/argmatch.h: Likewise.
59561         * lib/argp-ba.c: Likewise.
59562         * lib/argp-eexst.c: Likewise.
59563         * lib/argp-fmtstream.c: Likewise.
59564         * lib/argp-fmtstream.h: Likewise.
59565         * lib/argp-fs-xinl.c: Likewise.
59566         * lib/argp-help.c: Likewise.
59567         * lib/argp-namefrob.h: Likewise.
59568         * lib/argp-parse.c: Likewise.
59569         * lib/argp-pin.c: Likewise.
59570         * lib/argp-pv.c: Likewise.
59571         * lib/argp-pvh.c: Likewise.
59572         * lib/argp-xinl.c: Likewise.
59573         * lib/argp.h: Likewise.
59574         * lib/at-func.c: Likewise.
59575         * lib/atanl.c: Likewise.
59576         * lib/backupfile.c: Likewise.
59577         * lib/backupfile.h: Likewise.
59578         * lib/basename.c: Likewise.
59579         * lib/binary-io.h: Likewise.
59580         * lib/byteswap.in.h: Likewise.
59581         * lib/c-stack.c: Likewise.
59582         * lib/c-stack.h: Likewise.
59583         * lib/c-strcasestr.c: Likewise.
59584         * lib/c-strcasestr.h: Likewise.
59585         * lib/c-strstr.c: Likewise.
59586         * lib/c-strstr.h: Likewise.
59587         * lib/c-strtod.c: Likewise.
59588         * lib/calloc.c: Likewise.
59589         * lib/canon-host.c: Likewise.
59590         * lib/canon-host.h: Likewise.
59591         * lib/canonicalize-lgpl.c: Likewise.
59592         * lib/canonicalize.c: Likewise.
59593         * lib/canonicalize.h: Likewise.
59594         * lib/ceil.c: Likewise.
59595         * lib/ceilf.c: Likewise.
59596         * lib/ceill.c: Likewise.
59597         * lib/chdir-long.c: Likewise.
59598         * lib/chdir-long.h: Likewise.
59599         * lib/chdir-safer.c: Likewise.
59600         * lib/chdir-safer.h: Likewise.
59601         * lib/chown.c: Likewise.
59602         * lib/classpath.c: Likewise.
59603         * lib/classpath.h: Likewise.
59604         * lib/clean-temp.c: Likewise.
59605         * lib/clean-temp.h: Likewise.
59606         * lib/cloexec.c: Likewise.
59607         * lib/close-stream.c: Likewise.
59608         * lib/closein.c: Likewise.
59609         * lib/closein.h: Likewise.
59610         * lib/closeout.c: Likewise.
59611         * lib/closeout.h: Likewise.
59612         * lib/concat-filename.c: Likewise.
59613         * lib/copy-file.c: Likewise.
59614         * lib/copy-file.h: Likewise.
59615         * lib/count-one-bits.h: Likewise.
59616         * lib/crc.c: Likewise.
59617         * lib/crc.h: Likewise.
59618         * lib/creat-safer.c: Likewise.
59619         * lib/csharpcomp.c: Likewise.
59620         * lib/csharpcomp.h: Likewise.
59621         * lib/csharpexec.c: Likewise.
59622         * lib/csharpexec.h: Likewise.
59623         * lib/cycle-check.c: Likewise.
59624         * lib/cycle-check.h: Likewise.
59625         * lib/diacrit.c: Likewise.
59626         * lib/diacrit.h: Likewise.
59627         * lib/diffseq.h: Likewise.
59628         * lib/dirchownmod.c: Likewise.
59629         * lib/dirent.in.h: Likewise.
59630         * lib/dirfd.c: Likewise.
59631         * lib/dirfd.h: Likewise.
59632         * lib/dirname.c: Likewise.
59633         * lib/dirname.h: Likewise.
59634         * lib/dummy.c: Likewise.
59635         * lib/dup-safer.c: Likewise.
59636         * lib/dup2.c: Likewise.
59637         * lib/eealloc.h: Likewise.
59638         * lib/error.c: Likewise.
59639         * lib/error.h: Likewise.
59640         * lib/euidaccess.c: Likewise.
59641         * lib/exclude.c: Likewise.
59642         * lib/exclude.h: Likewise.
59643         * lib/execute.c: Likewise.
59644         * lib/execute.h: Likewise.
59645         * lib/exitfail.c: Likewise.
59646         * lib/exitfail.h: Likewise.
59647         * lib/expl.c: Likewise.
59648         * lib/fatal-signal.c: Likewise.
59649         * lib/fatal-signal.h: Likewise.
59650         * lib/fbufmode.c: Likewise.
59651         * lib/fbufmode.h: Likewise.
59652         * lib/fchdir.c: Likewise.
59653         * lib/fchmodat.c: Likewise.
59654         * lib/fchownat.c: Likewise.
59655         * lib/fcntl--.h: Likewise.
59656         * lib/fcntl-safer.h: Likewise.
59657         * lib/fcntl.in.h: Likewise.
59658         * lib/fd-safer.c: Likewise.
59659         * lib/fflush.c: Likewise.
59660         * lib/file-has-acl.c: Likewise.
59661         * lib/file-set.c: Likewise.
59662         * lib/file-type.c: Likewise.
59663         * lib/file-type.h: Likewise.
59664         * lib/fileblocks.c: Likewise.
59665         * lib/filemode.c: Likewise.
59666         * lib/filemode.h: Likewise.
59667         * lib/filename.h: Likewise.
59668         * lib/filenamecat.c: Likewise.
59669         * lib/filenamecat.h: Likewise.
59670         * lib/findprog.c: Likewise.
59671         * lib/findprog.h: Likewise.
59672         * lib/float.in.h: Likewise.
59673         * lib/floor.c: Likewise.
59674         * lib/floorf.c: Likewise.
59675         * lib/floorl.c: Likewise.
59676         * lib/fopen-safer.c: Likewise.
59677         * lib/fopen.c: Likewise.
59678         * lib/fpending.c: Likewise.
59679         * lib/fpending.h: Likewise.
59680         * lib/fprintf.c: Likewise.
59681         * lib/fprintftime.h: Likewise.
59682         * lib/fpucw.h: Likewise.
59683         * lib/fpurge.c: Likewise.
59684         * lib/fpurge.h: Likewise.
59685         * lib/freadable.c: Likewise.
59686         * lib/freadable.h: Likewise.
59687         * lib/freadahead.c: Likewise.
59688         * lib/freadahead.h: Likewise.
59689         * lib/freading.c: Likewise.
59690         * lib/freading.h: Likewise.
59691         * lib/free.c: Likewise.
59692         * lib/freopen.c: Likewise.
59693         * lib/frexp.c: Likewise.
59694         * lib/frexpl.c: Likewise.
59695         * lib/fseek.c: Likewise.
59696         * lib/fseterr.c: Likewise.
59697         * lib/fseterr.h: Likewise.
59698         * lib/fstatat.c: Likewise.
59699         * lib/fstrcmp.c: Likewise.
59700         * lib/fstrcmp.h: Likewise.
59701         * lib/fsusage.c: Likewise.
59702         * lib/fsusage.h: Likewise.
59703         * lib/ftell.c: Likewise.
59704         * lib/ftello.c: Likewise.
59705         * lib/fts-cycle.c: Likewise.
59706         * lib/fts.c: Likewise.
59707         * lib/fts_.h: Likewise.
59708         * lib/full-read.c: Likewise.
59709         * lib/full-read.h: Likewise.
59710         * lib/full-write.c: Likewise.
59711         * lib/full-write.h: Likewise.
59712         * lib/fwritable.c: Likewise.
59713         * lib/fwritable.h: Likewise.
59714         * lib/fwriteerror.c: Likewise.
59715         * lib/fwriteerror.h: Likewise.
59716         * lib/fwriting.c: Likewise.
59717         * lib/fwriting.h: Likewise.
59718         * lib/gcd.c: Likewise.
59719         * lib/gcd.h: Likewise.
59720         * lib/getcwd.c: Likewise.
59721         * lib/getdate.h: Likewise.
59722         * lib/getdate.y: Likewise.
59723         * lib/getdomainname.c: Likewise.
59724         * lib/getdomainname.h: Likewise.
59725         * lib/getgroups.c: Likewise.
59726         * lib/gethostname.c: Likewise.
59727         * lib/gethrxtime.c: Likewise.
59728         * lib/gethrxtime.h: Likewise.
59729         * lib/getloadavg.c: Likewise.
59730         * lib/getndelim2.c: Likewise.
59731         * lib/getndelim2.h: Likewise.
59732         * lib/getnline.c: Likewise.
59733         * lib/getnline.h: Likewise.
59734         * lib/getopt.c: Likewise.
59735         * lib/getopt.in.h: Likewise.
59736         * lib/getopt1.c: Likewise.
59737         * lib/getopt_int.h: Likewise.
59738         * lib/getpagesize.h: Likewise.
59739         * lib/getsubopt.c: Likewise.
59740         * lib/gettime.c: Likewise.
59741         * lib/getugroups.c: Likewise.
59742         * lib/getugroups.h: Likewise.
59743         * lib/getusershell.c: Likewise.
59744         * lib/gl_anyavltree_list1.h: Likewise.
59745         * lib/gl_anyavltree_list2.h: Likewise.
59746         * lib/gl_anyhash_list1.h: Likewise.
59747         * lib/gl_anyhash_list2.h: Likewise.
59748         * lib/gl_anylinked_list1.h: Likewise.
59749         * lib/gl_anylinked_list2.h: Likewise.
59750         * lib/gl_anyrbtree_list1.h: Likewise.
59751         * lib/gl_anyrbtree_list2.h: Likewise.
59752         * lib/gl_anytree_list1.h: Likewise.
59753         * lib/gl_anytree_list2.h: Likewise.
59754         * lib/gl_anytree_oset.h: Likewise.
59755         * lib/gl_anytreehash_list1.h: Likewise.
59756         * lib/gl_anytreehash_list2.h: Likewise.
59757         * lib/gl_array_list.c: Likewise.
59758         * lib/gl_array_list.h: Likewise.
59759         * lib/gl_array_oset.c: Likewise.
59760         * lib/gl_array_oset.h: Likewise.
59761         * lib/gl_avltree_list.c: Likewise.
59762         * lib/gl_avltree_list.h: Likewise.
59763         * lib/gl_avltree_oset.c: Likewise.
59764         * lib/gl_avltree_oset.h: Likewise.
59765         * lib/gl_avltreehash_list.c: Likewise.
59766         * lib/gl_avltreehash_list.h: Likewise.
59767         * lib/gl_carray_list.c: Likewise.
59768         * lib/gl_carray_list.h: Likewise.
59769         * lib/gl_linked_list.c: Likewise.
59770         * lib/gl_linked_list.h: Likewise.
59771         * lib/gl_linkedhash_list.c: Likewise.
59772         * lib/gl_linkedhash_list.h: Likewise.
59773         * lib/gl_list.c: Likewise.
59774         * lib/gl_list.h: Likewise.
59775         * lib/gl_oset.c: Likewise.
59776         * lib/gl_oset.h: Likewise.
59777         * lib/gl_rbtree_list.c: Likewise.
59778         * lib/gl_rbtree_list.h: Likewise.
59779         * lib/gl_rbtree_oset.c: Likewise.
59780         * lib/gl_rbtree_oset.h: Likewise.
59781         * lib/gl_rbtreehash_list.c: Likewise.
59782         * lib/gl_rbtreehash_list.h: Likewise.
59783         * lib/gl_sublist.c: Likewise.
59784         * lib/gl_sublist.h: Likewise.
59785         * lib/group-member.c: Likewise.
59786         * lib/group-member.h: Likewise.
59787         * lib/hard-locale.c: Likewise.
59788         * lib/hard-locale.h: Likewise.
59789         * lib/hash-pjw.c: Likewise.
59790         * lib/hash-pjw.h: Likewise.
59791         * lib/hash-triple.c: Likewise.
59792         * lib/hash.c: Likewise.
59793         * lib/hash.h: Likewise.
59794         * lib/human.c: Likewise.
59795         * lib/human.h: Likewise.
59796         * lib/i-ring.c: Likewise.
59797         * lib/i-ring.h: Likewise.
59798         * lib/idcache.c: Likewise.
59799         * lib/imaxabs.c: Likewise.
59800         * lib/imaxdiv.c: Likewise.
59801         * lib/inet_pton.c: Likewise.
59802         * lib/inet_pton.h: Likewise.
59803         * lib/intprops.h: Likewise.
59804         * lib/inttostr.c: Likewise.
59805         * lib/inttostr.h: Likewise.
59806         * lib/inttypes.in.h: Likewise.
59807         * lib/isapipe.c: Likewise.
59808         * lib/isdir.c: Likewise.
59809         * lib/isnan.c: Likewise.
59810         * lib/isnan.h: Likewise.
59811         * lib/isnanf.c: Likewise.
59812         * lib/isnanf.h: Likewise.
59813         * lib/isnanl-nolibm.h: Likewise.
59814         * lib/isnanl.c: Likewise.
59815         * lib/isnanl.h: Likewise.
59816         * lib/javacomp.c: Likewise.
59817         * lib/javacomp.h: Likewise.
59818         * lib/javaexec.c: Likewise.
59819         * lib/javaexec.h: Likewise.
59820         * lib/javaversion.c: Likewise.
59821         * lib/javaversion.h: Likewise.
59822         * lib/javaversion.java: Likewise.
59823         * lib/lbrkprop.h: Likewise.
59824         * lib/lchmod.h: Likewise.
59825         * lib/lchown.c: Likewise.
59826         * lib/ldexpl.c: Likewise.
59827         * lib/linebreak.c: Likewise.
59828         * lib/linebreak.h: Likewise.
59829         * lib/linebuffer.c: Likewise.
59830         * lib/linebuffer.h: Likewise.
59831         * lib/locale.in.h: Likewise.
59832         * lib/logl.c: Likewise.
59833         * lib/long-options.c: Likewise.
59834         * lib/long-options.h: Likewise.
59835         * lib/lstat.c: Likewise.
59836         * lib/lstat.h: Likewise.
59837         * lib/math.in.h: Likewise.
59838         * lib/mbchar.c: Likewise.
59839         * lib/mbchar.h: Likewise.
59840         * lib/mbfile.h: Likewise.
59841         * lib/mbiter.h: Likewise.
59842         * lib/mbscasecmp.c: Likewise.
59843         * lib/mbscasestr.c: Likewise.
59844         * lib/mbschr.c: Likewise.
59845         * lib/mbscspn.c: Likewise.
59846         * lib/mbslen.c: Likewise.
59847         * lib/mbsncasecmp.c: Likewise.
59848         * lib/mbsnlen.c: Likewise.
59849         * lib/mbspbrk.c: Likewise.
59850         * lib/mbspcasecmp.c: Likewise.
59851         * lib/mbsrchr.c: Likewise.
59852         * lib/mbssep.c: Likewise.
59853         * lib/mbsspn.c: Likewise.
59854         * lib/mbsstr.c: Likewise.
59855         * lib/mbstok_r.c: Likewise.
59856         * lib/mbswidth.c: Likewise.
59857         * lib/mbswidth.h: Likewise.
59858         * lib/mbuiter.h: Likewise.
59859         * lib/memcasecmp.c: Likewise.
59860         * lib/memcasecmp.h: Likewise.
59861         * lib/memchr.c: Likewise.
59862         * lib/memcmp.c: Likewise.
59863         * lib/memcoll.c: Likewise.
59864         * lib/memcoll.h: Likewise.
59865         * lib/memcpy.c: Likewise.
59866         * lib/memrchr.c: Likewise.
59867         * lib/mkancesdirs.c: Likewise.
59868         * lib/mkdir-p.c: Likewise.
59869         * lib/mkdir-p.h: Likewise.
59870         * lib/mkdir.c: Likewise.
59871         * lib/mkdirat.c: Likewise.
59872         * lib/mkdtemp.c: Likewise.
59873         * lib/mkstemp-safer.c: Likewise.
59874         * lib/mkstemp.c: Likewise.
59875         * lib/modechange.c: Likewise.
59876         * lib/modechange.h: Likewise.
59877         * lib/mountlist.c: Likewise.
59878         * lib/mountlist.h: Likewise.
59879         * lib/mpsort.c: Likewise.
59880         * lib/nanosleep.c: Likewise.
59881         * lib/obstack.c: Likewise.
59882         * lib/obstack.h: Likewise.
59883         * lib/open-safer.c: Likewise.
59884         * lib/open.c: Likewise.
59885         * lib/openat-die.c: Likewise.
59886         * lib/openat-priv.h: Likewise.
59887         * lib/openat-proc.c: Likewise.
59888         * lib/openat.c: Likewise.
59889         * lib/openat.h: Likewise.
59890         * lib/pagealign_alloc.c: Likewise.
59891         * lib/pagealign_alloc.h: Likewise.
59892         * lib/physmem.c: Likewise.
59893         * lib/physmem.h: Likewise.
59894         * lib/pipe-safer.c: Likewise.
59895         * lib/pipe.c: Likewise.
59896         * lib/pipe.h: Likewise.
59897         * lib/posixtm.c: Likewise.
59898         * lib/posixtm.h: Likewise.
59899         * lib/posixver.c: Likewise.
59900         * lib/printf-frexp.c: Likewise.
59901         * lib/printf-frexp.h: Likewise.
59902         * lib/printf-frexpl.c: Likewise.
59903         * lib/printf-frexpl.h: Likewise.
59904         * lib/printf.c: Likewise.
59905         * lib/progname.c: Likewise.
59906         * lib/progname.h: Likewise.
59907         * lib/progreloc.c: Likewise.
59908         * lib/putenv.c: Likewise.
59909         * lib/quote.c: Likewise.
59910         * lib/quote.h: Likewise.
59911         * lib/quotearg.c: Likewise.
59912         * lib/quotearg.h: Likewise.
59913         * lib/raise.c: Likewise.
59914         * lib/readline.c: Likewise.
59915         * lib/readline.h: Likewise.
59916         * lib/readlink.c: Likewise.
59917         * lib/readtokens.c: Likewise.
59918         * lib/readtokens.h: Likewise.
59919         * lib/readtokens0.c: Likewise.
59920         * lib/readtokens0.h: Likewise.
59921         * lib/readutmp.c: Likewise.
59922         * lib/readutmp.h: Likewise.
59923         * lib/realloc.c: Likewise.
59924         * lib/relocwrapper.c: Likewise.
59925         * lib/rename-dest-slash.c: Likewise.
59926         * lib/rename.c: Likewise.
59927         * lib/rmdir.c: Likewise.
59928         * lib/rpmatch.c: Likewise.
59929         * lib/safe-read.c: Likewise.
59930         * lib/safe-read.h: Likewise.
59931         * lib/safe-write.c: Likewise.
59932         * lib/safe-write.h: Likewise.
59933         * lib/same-inode.h: Likewise.
59934         * lib/same.c: Likewise.
59935         * lib/same.h: Likewise.
59936         * lib/save-cwd.c: Likewise.
59937         * lib/save-cwd.h: Likewise.
59938         * lib/savedir.c: Likewise.
59939         * lib/savedir.h: Likewise.
59940         * lib/savewd.c: Likewise.
59941         * lib/savewd.h: Likewise.
59942         * lib/search.in.h: Likewise.
59943         * lib/setenv.c: Likewise.
59944         * lib/setenv.h: Likewise.
59945         * lib/settime.c: Likewise.
59946         * lib/sh-quote.c: Likewise.
59947         * lib/sh-quote.h: Likewise.
59948         * lib/sig2str.c: Likewise.
59949         * lib/sig2str.h: Likewise.
59950         * lib/signal.in.h: Likewise.
59951         * lib/signbitd.c: Likewise.
59952         * lib/signbitf.c: Likewise.
59953         * lib/signbitl.c: Likewise.
59954         * lib/sigprocmask.c: Likewise.
59955         * lib/sincosl.c: Likewise.
59956         * lib/sleep.c: Likewise.
59957         * lib/sprintf.c: Likewise.
59958         * lib/sqrtl.c: Likewise.
59959         * lib/stat-time.h: Likewise.
59960         * lib/stdio--.h: Likewise.
59961         * lib/stdio-safer.h: Likewise.
59962         * lib/stdlib--.h: Likewise.
59963         * lib/stdlib-safer.h: Likewise.
59964         * lib/stdlib.in.h: Likewise.
59965         * lib/stpcpy.c: Likewise.
59966         * lib/stpncpy.c: Likewise.
59967         * lib/strchrnul.c: Likewise.
59968         * lib/strcspn.c: Likewise.
59969         * lib/strerror.c: Likewise.
59970         * lib/strftime.c: Likewise.
59971         * lib/strftime.h: Likewise.
59972         * lib/striconveh.c: Likewise.
59973         * lib/striconveh.h: Likewise.
59974         * lib/striconveha.c: Likewise.
59975         * lib/striconveha.h: Likewise.
59976         * lib/stripslash.c: Likewise.
59977         * lib/strnlen1.c: Likewise.
59978         * lib/strnlen1.h: Likewise.
59979         * lib/strtod.c: Likewise.
59980         * lib/strtoimax.c: Likewise.
59981         * lib/strtok_r.c: Likewise.
59982         * lib/strtol.c: Likewise.
59983         * lib/strtoll.c: Likewise.
59984         * lib/strtoul.c: Likewise.
59985         * lib/strtoull.c: Likewise.
59986         * lib/sysexits.in.h: Likewise.
59987         * lib/tempname.c: Likewise.
59988         * lib/tempname.h: Likewise.
59989         * lib/timespec.h: Likewise.
59990         * lib/tls.c: Likewise.
59991         * lib/tls.h: Likewise.
59992         * lib/tmpdir.c: Likewise.
59993         * lib/tmpdir.h: Likewise.
59994         * lib/tmpfile-safer.c: Likewise.
59995         * lib/tmpfile.c: Likewise.
59996         * lib/trigl.c: Likewise.
59997         * lib/trigl.h: Likewise.
59998         * lib/trim.c: Likewise.
59999         * lib/trim.h: Likewise.
60000         * lib/trunc.c: Likewise.
60001         * lib/truncf.c: Likewise.
60002         * lib/truncl.c: Likewise.
60003         * lib/tsearch.c: Likewise.
60004         * lib/unicodeio.c: Likewise.
60005         * lib/unicodeio.h: Likewise.
60006         * lib/unistd--.h: Likewise.
60007         * lib/unistd-safer.h: Likewise.
60008         * lib/unistdio/ulc-fprintf.c: Likewise.
60009         * lib/unistdio/ulc-vfprintf.c: Likewise.
60010         * lib/unlinkdir.c: Likewise.
60011         * lib/unlinkdir.h: Likewise.
60012         * lib/unlocked-io.h: Likewise.
60013         * lib/unsetenv.c: Likewise.
60014         * lib/userspec.c: Likewise.
60015         * lib/utime.c: Likewise.
60016         * lib/utimecmp.c: Likewise.
60017         * lib/utimecmp.h: Likewise.
60018         * lib/utimens.c: Likewise.
60019         * lib/verify.h: Likewise.
60020         * lib/verror.c: Likewise.
60021         * lib/verror.h: Likewise.
60022         * lib/version-etc-fsf.c: Likewise.
60023         * lib/version-etc.c: Likewise.
60024         * lib/version-etc.h: Likewise.
60025         * lib/vfprintf.c: Likewise.
60026         * lib/vprintf.c: Likewise.
60027         * lib/vsprintf.c: Likewise.
60028         * lib/w32spawn.h: Likewise.
60029         * lib/wait-process.c: Likewise.
60030         * lib/wait-process.h: Likewise.
60031         * lib/wcwidth.c: Likewise.
60032         * lib/write-any-file.c: Likewise.
60033         * lib/xalloc-die.c: Likewise.
60034         * lib/xalloc.h: Likewise.
60035         * lib/xasprintf.c: Likewise.
60036         * lib/xgetcwd.c: Likewise.
60037         * lib/xgetcwd.h: Likewise.
60038         * lib/xgetdomainname.c: Likewise.
60039         * lib/xgetdomainname.h: Likewise.
60040         * lib/xgethostname.c: Likewise.
60041         * lib/xmalloc.c: Likewise.
60042         * lib/xmalloca.c: Likewise.
60043         * lib/xmalloca.h: Likewise.
60044         * lib/xmemcoll.c: Likewise.
60045         * lib/xnanosleep.c: Likewise.
60046         * lib/xreadlink.c: Likewise.
60047         * lib/xreadlink.h: Likewise.
60048         * lib/xsetenv.c: Likewise.
60049         * lib/xsetenv.h: Likewise.
60050         * lib/xstriconv.c: Likewise.
60051         * lib/xstriconv.h: Likewise.
60052         * lib/xstrndup.c: Likewise.
60053         * lib/xstrndup.h: Likewise.
60054         * lib/xstrtod.c: Likewise.
60055         * lib/xstrtod.h: Likewise.
60056         * lib/xstrtol-error.c: Likewise.
60057         * lib/xstrtol.c: Likewise.
60058         * lib/xstrtol.h: Likewise.
60059         * lib/xtime.h: Likewise.
60060         * lib/xvasprintf.c: Likewise.
60061         * lib/xvasprintf.h: Likewise.
60062         * lib/yesno.c: Likewise.
60063         * lib/yesno.h: Likewise.
60064         * posix-modules: Likewise.
60065         * tests/test-alloca-opt.c: Likewise.
60066         * tests/test-arcfour.c: Likewise.
60067         * tests/test-arctwo.c: Likewise.
60068         * tests/test-argmatch.c: Likewise.
60069         * tests/test-argp-2.sh: Likewise.
60070         * tests/test-argp.c: Likewise.
60071         * tests/test-arpa_inet.c: Likewise.
60072         * tests/test-array_list.c: Likewise.
60073         * tests/test-array_oset.c: Likewise.
60074         * tests/test-atexit.c: Likewise.
60075         * tests/test-avltree_list.c: Likewise.
60076         * tests/test-avltree_oset.c: Likewise.
60077         * tests/test-avltreehash_list.c: Likewise.
60078         * tests/test-base64.c: Likewise.
60079         * tests/test-binary-io.c: Likewise.
60080         * tests/test-byteswap.c: Likewise.
60081         * tests/test-c-ctype.c: Likewise.
60082         * tests/test-c-strcasecmp.c: Likewise.
60083         * tests/test-c-strcasestr.c: Likewise.
60084         * tests/test-c-strncasecmp.c: Likewise.
60085         * tests/test-c-strstr.c: Likewise.
60086         * tests/test-canonicalize-lgpl.c: Likewise.
60087         * tests/test-canonicalize.c: Likewise.
60088         * tests/test-carray_list.c: Likewise.
60089         * tests/test-ceilf.c: Likewise.
60090         * tests/test-ceill.c: Likewise.
60091         * tests/test-count-one-bits.c: Likewise.
60092         * tests/test-crc.c: Likewise.
60093         * tests/test-dirname.c: Likewise.
60094         * tests/test-fbufmode.c: Likewise.
60095         * tests/test-fcntl.c: Likewise.
60096         * tests/test-fflush.c: Likewise.
60097         * tests/test-floorf.c: Likewise.
60098         * tests/test-floorl.c: Likewise.
60099         * tests/test-fopen.c: Likewise.
60100         * tests/test-fprintf-posix.c: Likewise.
60101         * tests/test-fprintf-posix.h: Likewise.
60102         * tests/test-fpurge.c: Likewise.
60103         * tests/test-freadable.c: Likewise.
60104         * tests/test-freadahead.c: Likewise.
60105         * tests/test-freading.c: Likewise.
60106         * tests/test-freopen.c: Likewise.
60107         * tests/test-frexp.c: Likewise.
60108         * tests/test-frexpl.c: Likewise.
60109         * tests/test-fseek.c: Likewise.
60110         * tests/test-fseeko.c: Likewise.
60111         * tests/test-fseterr.c: Likewise.
60112         * tests/test-fstrcmp.c: Likewise.
60113         * tests/test-ftell.c: Likewise.
60114         * tests/test-ftello.c: Likewise.
60115         * tests/test-fwritable.c: Likewise.
60116         * tests/test-fwriting.c: Likewise.
60117         * tests/test-getaddrinfo.c: Likewise.
60118         * tests/test-getpass.c: Likewise.
60119         * tests/test-gettimeofday.c: Likewise.
60120         * tests/test-hmac-md5.c: Likewise.
60121         * tests/test-hmac-sha1.c: Likewise.
60122         * tests/test-iconv.c: Likewise.
60123         * tests/test-iconvme.c: Likewise.
60124         * tests/test-inttypes.c: Likewise.
60125         * tests/test-isnan.c: Likewise.
60126         * tests/test-isnanf.c: Likewise.
60127         * tests/test-isnanl-nolibm.c: Likewise.
60128         * tests/test-isnanl.c: Likewise.
60129         * tests/test-isnanl.h: Likewise.
60130         * tests/test-ldexpl.c: Likewise.
60131         * tests/test-linked_list.c: Likewise.
60132         * tests/test-linkedhash_list.c: Likewise.
60133         * tests/test-locale.c: Likewise.
60134         * tests/test-localename.c: Likewise.
60135         * tests/test-lock.c: Likewise.
60136         * tests/test-lseek.c: Likewise.
60137         * tests/test-malloca.c: Likewise.
60138         * tests/test-math.c: Likewise.
60139         * tests/test-mbscasecmp.c: Likewise.
60140         * tests/test-mbscasestr1.c: Likewise.
60141         * tests/test-mbscasestr2.c: Likewise.
60142         * tests/test-mbscasestr3.c: Likewise.
60143         * tests/test-mbscasestr4.c: Likewise.
60144         * tests/test-mbschr.c: Likewise.
60145         * tests/test-mbscspn.c: Likewise.
60146         * tests/test-mbsncasecmp.c: Likewise.
60147         * tests/test-mbspbrk.c: Likewise.
60148         * tests/test-mbspcasecmp.c: Likewise.
60149         * tests/test-mbsrchr.c: Likewise.
60150         * tests/test-mbsspn.c: Likewise.
60151         * tests/test-mbsstr1.c: Likewise.
60152         * tests/test-mbsstr2.c: Likewise.
60153         * tests/test-mbsstr3.c: Likewise.
60154         * tests/test-md5.c: Likewise.
60155         * tests/test-memmem.c: Likewise.
60156         * tests/test-netinet_in.c: Likewise.
60157         * tests/test-open.c: Likewise.
60158         * tests/test-printf-frexp.c: Likewise.
60159         * tests/test-printf-frexpl.c: Likewise.
60160         * tests/test-printf-posix.c: Likewise.
60161         * tests/test-printf-posix.h: Likewise.
60162         * tests/test-rbtree_list.c: Likewise.
60163         * tests/test-rbtree_oset.c: Likewise.
60164         * tests/test-rbtreehash_list.c: Likewise.
60165         * tests/test-read-file.c: Likewise.
60166         * tests/test-rijndael.c: Likewise.
60167         * tests/test-search.c: Likewise.
60168         * tests/test-signbit.c: Likewise.
60169         * tests/test-sleep.c: Likewise.
60170         * tests/test-snprintf-posix.c: Likewise.
60171         * tests/test-snprintf-posix.h: Likewise.
60172         * tests/test-snprintf.c: Likewise.
60173         * tests/test-sprintf-posix.c: Likewise.
60174         * tests/test-sprintf-posix.h: Likewise.
60175         * tests/test-stat-time.c: Likewise.
60176         * tests/test-stdbool.c: Likewise.
60177         * tests/test-stdint.c: Likewise.
60178         * tests/test-stdio.c: Likewise.
60179         * tests/test-stdlib.c: Likewise.
60180         * tests/test-stpncpy.c: Likewise.
60181         * tests/test-strcasestr.c: Likewise.
60182         * tests/test-striconv.c: Likewise.
60183         * tests/test-striconveh.c: Likewise.
60184         * tests/test-striconveha.c: Likewise.
60185         * tests/test-string.c: Likewise.
60186         * tests/test-sys_select.c: Likewise.
60187         * tests/test-sys_socket.c: Likewise.
60188         * tests/test-sys_stat.c: Likewise.
60189         * tests/test-sys_time.c: Likewise.
60190         * tests/test-sysexits.c: Likewise.
60191         * tests/test-time.c: Likewise.
60192         * tests/test-tls.c: Likewise.
60193         * tests/test-trunc.c: Likewise.
60194         * tests/test-truncf.c: Likewise.
60195         * tests/test-truncl.c: Likewise.
60196         * tests/test-unistd.c: Likewise.
60197         * tests/test-vasnprintf-posix.c: Likewise.
60198         * tests/test-vasnprintf-posix2.c: Likewise.
60199         * tests/test-vasnprintf.c: Likewise.
60200         * tests/test-vasprintf-posix.c: Likewise.
60201         * tests/test-vasprintf.c: Likewise.
60202         * tests/test-verify.c: Likewise.
60203         * tests/test-vfprintf-posix.c: Likewise.
60204         * tests/test-vprintf-posix.c: Likewise.
60205         * tests/test-vsnprintf-posix.c: Likewise.
60206         * tests/test-vsnprintf.c: Likewise.
60207         * tests/test-vsprintf-posix.c: Likewise.
60208         * tests/test-wchar.c: Likewise.
60209         * tests/test-wctype.c: Likewise.
60210         * tests/test-wcwidth.c: Likewise.
60211         * tests/test-xstrtol.c: Likewise.
60212         * tests/test-xvasprintf.c: Likewise.
60213         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60214         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60215         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60216         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60217         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60218         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60219         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60220         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60221         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60222         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60223         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60224         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60225         * tests/uniname/test-uninames.c: Likewise.
60226         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60227         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60228         * tests/unistdio/test-u16-printf1.h: Likewise.
60229         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60230         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60231         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60232         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60233         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60234         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60235         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60236         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60237         * tests/unistdio/test-u32-printf1.h: Likewise.
60238         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60239         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60240         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60241         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60242         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60243         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60244         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60245         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60246         * tests/unistdio/test-u8-printf1.h: Likewise.
60247         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60248         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60249         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60250         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60251         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60252         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60253         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60254         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60255         * tests/unistdio/test-ulc-printf1.h: Likewise.
60256         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60257         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60258         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60259         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60260         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60261         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60262         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60263         * tests/uniwidth/test-u16-width.c: Likewise.
60264         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60265         * tests/uniwidth/test-u32-width.c: Likewise.
60266         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60267         * tests/uniwidth/test-u8-width.c: Likewise.
60268         * tests/uniwidth/test-uc_width.c: Likewise.
60269         * config/srclist-update: Likewise.
60270         (fixlicense): Update to GPLv3+.
60271
60272         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60273         * tests/test-tsearch.c: Change copyright notice.
60274
60275         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60276         * lib/c-strcaseeq.h: Change copyright notice.
60277         * lib/streq.h: Likewise.
60278         * lib/uniconv.h: Likewise.
60279         * lib/uniconv/u-conv-from-enc.h: Likewise.
60280         * lib/uniconv/u-conv-to-enc.h: Likewise.
60281         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60282         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60283         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60284         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60285         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60286         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60287         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60288         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60289         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60290         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60291         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60292         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60293         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60294         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60295         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60296         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60297         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60298         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60299         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60300         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60301         * lib/uniname.h: Likewise.
60302         * lib/uniname/uniname.c: Likewise.
60303         * lib/unistdio.h: Likewise.
60304         * lib/unistdio/u-asnprintf.h: Likewise.
60305         * lib/unistdio/u-asprintf.h: Likewise.
60306         * lib/unistdio/u-printf-args.c: Likewise.
60307         * lib/unistdio/u-printf-args.h: Likewise.
60308         * lib/unistdio/u-printf-parse.h: Likewise.
60309         * lib/unistdio/u-snprintf.h: Likewise.
60310         * lib/unistdio/u-sprintf.h: Likewise.
60311         * lib/unistdio/u-vasprintf.h: Likewise.
60312         * lib/unistdio/u-vsnprintf.h: Likewise.
60313         * lib/unistdio/u-vsprintf.h: Likewise.
60314         * lib/unistdio/u16-asnprintf.c: Likewise.
60315         * lib/unistdio/u16-asprintf.c: Likewise.
60316         * lib/unistdio/u16-printf-parse.c: Likewise.
60317         * lib/unistdio/u16-snprintf.c: Likewise.
60318         * lib/unistdio/u16-sprintf.c: Likewise.
60319         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60320         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60321         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60322         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60323         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60324         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60325         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60326         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60327         * lib/unistdio/u16-vasnprintf.c: Likewise.
60328         * lib/unistdio/u16-vasprintf.c: Likewise.
60329         * lib/unistdio/u16-vsnprintf.c: Likewise.
60330         * lib/unistdio/u16-vsprintf.c: Likewise.
60331         * lib/unistdio/u32-asnprintf.c: Likewise.
60332         * lib/unistdio/u32-asprintf.c: Likewise.
60333         * lib/unistdio/u32-printf-parse.c: Likewise.
60334         * lib/unistdio/u32-snprintf.c: Likewise.
60335         * lib/unistdio/u32-sprintf.c: Likewise.
60336         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60337         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60338         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60339         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60340         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60341         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60342         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60343         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60344         * lib/unistdio/u32-vasnprintf.c: Likewise.
60345         * lib/unistdio/u32-vasprintf.c: Likewise.
60346         * lib/unistdio/u32-vsnprintf.c: Likewise.
60347         * lib/unistdio/u32-vsprintf.c: Likewise.
60348         * lib/unistdio/u8-asnprintf.c: Likewise.
60349         * lib/unistdio/u8-asprintf.c: Likewise.
60350         * lib/unistdio/u8-printf-parse.c: Likewise.
60351         * lib/unistdio/u8-snprintf.c: Likewise.
60352         * lib/unistdio/u8-sprintf.c: Likewise.
60353         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60354         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60355         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60356         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60357         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60358         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60359         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60360         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60361         * lib/unistdio/u8-vasnprintf.c: Likewise.
60362         * lib/unistdio/u8-vasprintf.c: Likewise.
60363         * lib/unistdio/u8-vsnprintf.c: Likewise.
60364         * lib/unistdio/u8-vsprintf.c: Likewise.
60365         * lib/unistdio/ulc-asnprintf.c: Likewise.
60366         * lib/unistdio/ulc-asprintf.c: Likewise.
60367         * lib/unistdio/ulc-printf-parse.c: Likewise.
60368         * lib/unistdio/ulc-snprintf.c: Likewise.
60369         * lib/unistdio/ulc-sprintf.c: Likewise.
60370         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60371         * lib/unistdio/ulc-vasprintf.c: Likewise.
60372         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60373         * lib/unistdio/ulc-vsprintf.c: Likewise.
60374         * lib/unistr.h: Likewise.
60375         * lib/unistr/u-cpy-alloc.h: Likewise.
60376         * lib/unistr/u-cpy.h: Likewise.
60377         * lib/unistr/u-endswith.h: Likewise.
60378         * lib/unistr/u-move.h: Likewise.
60379         * lib/unistr/u-set.h: Likewise.
60380         * lib/unistr/u-startswith.h: Likewise.
60381         * lib/unistr/u-stpcpy.h: Likewise.
60382         * lib/unistr/u-stpncpy.h: Likewise.
60383         * lib/unistr/u-strcat.h: Likewise.
60384         * lib/unistr/u-strcpy.h: Likewise.
60385         * lib/unistr/u-strcspn.h: Likewise.
60386         * lib/unistr/u-strdup.h: Likewise.
60387         * lib/unistr/u-strlen.h: Likewise.
60388         * lib/unistr/u-strncat.h: Likewise.
60389         * lib/unistr/u-strncpy.h: Likewise.
60390         * lib/unistr/u-strnlen.h: Likewise.
60391         * lib/unistr/u-strpbrk.h: Likewise.
60392         * lib/unistr/u-strspn.h: Likewise.
60393         * lib/unistr/u-strstr.h: Likewise.
60394         * lib/unistr/u-strtok.h: Likewise.
60395         * lib/unistr/u16-check.c: Likewise.
60396         * lib/unistr/u16-chr.c: Likewise.
60397         * lib/unistr/u16-cmp.c: Likewise.
60398         * lib/unistr/u16-cpy-alloc.c: Likewise.
60399         * lib/unistr/u16-cpy.c: Likewise.
60400         * lib/unistr/u16-endswith.c: Likewise.
60401         * lib/unistr/u16-mblen.c: Likewise.
60402         * lib/unistr/u16-mbsnlen.c: Likewise.
60403         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60404         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60405         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60406         * lib/unistr/u16-mbtouc.c: Likewise.
60407         * lib/unistr/u16-mbtoucr.c: Likewise.
60408         * lib/unistr/u16-move.c: Likewise.
60409         * lib/unistr/u16-next.c: Likewise.
60410         * lib/unistr/u16-prev.c: Likewise.
60411         * lib/unistr/u16-set.c: Likewise.
60412         * lib/unistr/u16-startswith.c: Likewise.
60413         * lib/unistr/u16-stpcpy.c: Likewise.
60414         * lib/unistr/u16-stpncpy.c: Likewise.
60415         * lib/unistr/u16-strcat.c: Likewise.
60416         * lib/unistr/u16-strchr.c: Likewise.
60417         * lib/unistr/u16-strcmp.c: Likewise.
60418         * lib/unistr/u16-strcpy.c: Likewise.
60419         * lib/unistr/u16-strcspn.c: Likewise.
60420         * lib/unistr/u16-strdup.c: Likewise.
60421         * lib/unistr/u16-strlen.c: Likewise.
60422         * lib/unistr/u16-strmblen.c: Likewise.
60423         * lib/unistr/u16-strmbtouc.c: Likewise.
60424         * lib/unistr/u16-strncat.c: Likewise.
60425         * lib/unistr/u16-strncmp.c: Likewise.
60426         * lib/unistr/u16-strncpy.c: Likewise.
60427         * lib/unistr/u16-strnlen.c: Likewise.
60428         * lib/unistr/u16-strpbrk.c: Likewise.
60429         * lib/unistr/u16-strrchr.c: Likewise.
60430         * lib/unistr/u16-strspn.c: Likewise.
60431         * lib/unistr/u16-strstr.c: Likewise.
60432         * lib/unistr/u16-strtok.c: Likewise.
60433         * lib/unistr/u16-to-u32.c: Likewise.
60434         * lib/unistr/u16-to-u8.c: Likewise.
60435         * lib/unistr/u16-uctomb-aux.c: Likewise.
60436         * lib/unistr/u16-uctomb.c: Likewise.
60437         * lib/unistr/u32-check.c: Likewise.
60438         * lib/unistr/u32-chr.c: Likewise.
60439         * lib/unistr/u32-cmp.c: Likewise.
60440         * lib/unistr/u32-cpy-alloc.c: Likewise.
60441         * lib/unistr/u32-cpy.c: Likewise.
60442         * lib/unistr/u32-endswith.c: Likewise.
60443         * lib/unistr/u32-mblen.c: Likewise.
60444         * lib/unistr/u32-mbsnlen.c: Likewise.
60445         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60446         * lib/unistr/u32-mbtouc.c: Likewise.
60447         * lib/unistr/u32-mbtoucr.c: Likewise.
60448         * lib/unistr/u32-move.c: Likewise.
60449         * lib/unistr/u32-next.c: Likewise.
60450         * lib/unistr/u32-prev.c: Likewise.
60451         * lib/unistr/u32-set.c: Likewise.
60452         * lib/unistr/u32-startswith.c: Likewise.
60453         * lib/unistr/u32-stpcpy.c: Likewise.
60454         * lib/unistr/u32-stpncpy.c: Likewise.
60455         * lib/unistr/u32-strcat.c: Likewise.
60456         * lib/unistr/u32-strchr.c: Likewise.
60457         * lib/unistr/u32-strcmp.c: Likewise.
60458         * lib/unistr/u32-strcpy.c: Likewise.
60459         * lib/unistr/u32-strcspn.c: Likewise.
60460         * lib/unistr/u32-strdup.c: Likewise.
60461         * lib/unistr/u32-strlen.c: Likewise.
60462         * lib/unistr/u32-strmblen.c: Likewise.
60463         * lib/unistr/u32-strmbtouc.c: Likewise.
60464         * lib/unistr/u32-strncat.c: Likewise.
60465         * lib/unistr/u32-strncmp.c: Likewise.
60466         * lib/unistr/u32-strncpy.c: Likewise.
60467         * lib/unistr/u32-strnlen.c: Likewise.
60468         * lib/unistr/u32-strpbrk.c: Likewise.
60469         * lib/unistr/u32-strrchr.c: Likewise.
60470         * lib/unistr/u32-strspn.c: Likewise.
60471         * lib/unistr/u32-strstr.c: Likewise.
60472         * lib/unistr/u32-strtok.c: Likewise.
60473         * lib/unistr/u32-to-u16.c: Likewise.
60474         * lib/unistr/u32-to-u8.c: Likewise.
60475         * lib/unistr/u32-uctomb.c: Likewise.
60476         * lib/unistr/u8-check.c: Likewise.
60477         * lib/unistr/u8-chr.c: Likewise.
60478         * lib/unistr/u8-cmp.c: Likewise.
60479         * lib/unistr/u8-cpy-alloc.c: Likewise.
60480         * lib/unistr/u8-cpy.c: Likewise.
60481         * lib/unistr/u8-endswith.c: Likewise.
60482         * lib/unistr/u8-mblen.c: Likewise.
60483         * lib/unistr/u8-mbsnlen.c: Likewise.
60484         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60485         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60486         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60487         * lib/unistr/u8-mbtouc.c: Likewise.
60488         * lib/unistr/u8-mbtoucr.c: Likewise.
60489         * lib/unistr/u8-move.c: Likewise.
60490         * lib/unistr/u8-next.c: Likewise.
60491         * lib/unistr/u8-prev.c: Likewise.
60492         * lib/unistr/u8-set.c: Likewise.
60493         * lib/unistr/u8-startswith.c: Likewise.
60494         * lib/unistr/u8-stpcpy.c: Likewise.
60495         * lib/unistr/u8-stpncpy.c: Likewise.
60496         * lib/unistr/u8-strcat.c: Likewise.
60497         * lib/unistr/u8-strchr.c: Likewise.
60498         * lib/unistr/u8-strcmp.c: Likewise.
60499         * lib/unistr/u8-strcpy.c: Likewise.
60500         * lib/unistr/u8-strcspn.c: Likewise.
60501         * lib/unistr/u8-strdup.c: Likewise.
60502         * lib/unistr/u8-strlen.c: Likewise.
60503         * lib/unistr/u8-strmblen.c: Likewise.
60504         * lib/unistr/u8-strmbtouc.c: Likewise.
60505         * lib/unistr/u8-strncat.c: Likewise.
60506         * lib/unistr/u8-strncmp.c: Likewise.
60507         * lib/unistr/u8-strncpy.c: Likewise.
60508         * lib/unistr/u8-strnlen.c: Likewise.
60509         * lib/unistr/u8-strpbrk.c: Likewise.
60510         * lib/unistr/u8-strrchr.c: Likewise.
60511         * lib/unistr/u8-strspn.c: Likewise.
60512         * lib/unistr/u8-strstr.c: Likewise.
60513         * lib/unistr/u8-strtok.c: Likewise.
60514         * lib/unistr/u8-to-u16.c: Likewise.
60515         * lib/unistr/u8-to-u32.c: Likewise.
60516         * lib/unistr/u8-uctomb-aux.c: Likewise.
60517         * lib/unistr/u8-uctomb.c: Likewise.
60518         * lib/unitypes.h: Likewise.
60519         * lib/uniwidth.h: Likewise.
60520         * lib/uniwidth/cjk.h: Likewise.
60521         * lib/uniwidth/u16-strwidth.c: Likewise.
60522         * lib/uniwidth/u16-width.c: Likewise.
60523         * lib/uniwidth/u32-strwidth.c: Likewise.
60524         * lib/uniwidth/u32-width.c: Likewise.
60525         * lib/uniwidth/u8-strwidth.c: Likewise.
60526         * lib/uniwidth/u8-width.c: Likewise.
60527         * lib/uniwidth/width.c: Likewise.
60528
60529 2007-10-07  Bruno Haible  <bruno@clisp.org>
60530
60531         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60532         The file is still under LGPL (see modules/inttypes).
60533
60534 2007-10-06  Bruno Haible  <bruno@clisp.org>
60535
60536         * modules/trunc (Dependencies): Add 'extensions'.
60537         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60538         Reported by Ben Pfaff <blp@gnu.org>.
60539
60540 2007-10-06  Bruno Haible  <bruno@clisp.org>
60541
60542         * modules/freopen-tests: New file.
60543         * tests/test-freopen.c: New file.
60544
60545         * modules/fopen-tests: New file.
60546         * tests/test-fopen.c: New file.
60547
60548         * modules/fopen: New file.
60549         * lib/fopen.c: New file.
60550         * m4/fopen.m4: New file.
60551         * modules/freopen: New file.
60552         * lib/freopen.c: New file.
60553         * m4/freopen.m4: New file.
60554         * lib/stdio.in.h (fopen, freopen): New declarations.
60555         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60556         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60557         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60558         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60559         * doc/functions/fopen.texi: Mention the 'fopen' module.
60560         * doc/functions/freopen.texi: Mention the 'freopen' module.
60561
60562 2007-10-06  Bruno Haible  <bruno@clisp.org>
60563
60564         * modules/open-tests: New file.
60565         * tests/test-open.c: New file.
60566
60567         * modules/open: New file.
60568         * lib/open.c: New file.
60569         * m4/open.m4: New file.
60570         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60571         lib/open.c does.
60572         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60573         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60574         macros.
60575         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60576         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60577         REPLACE_OPEN.
60578         * doc/functions/open.texi: Mention the 'open' module.
60579
60580 2007-10-04  Bruno Haible  <bruno@clisp.org>
60581
60582         * modules/ceill-tests: New file.
60583         * tests/test-ceill.c: New file.
60584
60585         * modules/ceill: New file.
60586         * lib/ceill.c: Replace entire file.
60587         * m4/ceill.m4: New file.
60588         * lib/math.in.h (ceill): Replace declaration.
60589         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60590         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60591         * doc/functions/ceill.texi: Mention the 'ceill' module.
60592         * modules/mathl (Files): Remove lib/ceill.c.
60593         (Depends-on): Add ceill.
60594
60595 2007-10-04  Bruno Haible  <bruno@clisp.org>
60596
60597         * modules/ceilf-tests: New file.
60598         * tests/test-ceilf.c: New file.
60599
60600         * modules/ceilf: New file.
60601         * lib/ceil.c: New file.
60602         * lib/ceilf.c: New file.
60603         * m4/ceilf.m4: New file.
60604         * lib/math.in.h (ceilf): New declaration.
60605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60606         HAVE_DECL_CEILF.
60607         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60608         HAVE_DECL_CEILF.
60609         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60610
60611 2007-10-04  Bruno Haible  <bruno@clisp.org>
60612
60613         * modules/floorl-tests: New file.
60614         * tests/test-floorl.c: New file.
60615
60616         * modules/floorl: New file.
60617         * lib/floorl.c: Replace entire file.
60618         * m4/floorl.m4: New file.
60619         * lib/math.in.h (floorl): Replace declaration.
60620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60621         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60622         * doc/functions/floorl.texi: Mention the 'floorl' module.
60623         * modules/mathl (Files): Remove lib/floorl.c.
60624         (Depends-on): Add floorl.
60625
60626 2007-10-04  Bruno Haible  <bruno@clisp.org>
60627
60628         * modules/floorf-tests: New file.
60629         * tests/test-floorf.c: New file.
60630
60631         * modules/floorf: New file.
60632         * lib/floor.c: New file.
60633         * lib/floorf.c: New file.
60634         * m4/floorf.m4: New file.
60635         * lib/math.in.h (floorf): New declaration.
60636         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60637         HAVE_DECL_FLOORF.
60638         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60639         HAVE_DECL_FLOORF.
60640         * doc/functions/floorf.texi: Mention the 'floorf' module.
60641
60642 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60643             Bruno Haible  <bruno@clisp.org>
60644
60645         Advertise for the Git server instead of the CVS server.
60646         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60647         repository instead of the CVS one.
60648         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60649         about all VCS systems generically.
60650         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60651
60652 2007-10-04  Bruno Haible  <bruno@clisp.org>
60653
60654         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60655         means.
60656         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60657
60658 2007-10-04  Bruno Haible  <bruno@clisp.org>
60659
60660         * modules/truncl-tests: New file.
60661         * tests/test-truncl.c: New file.
60662
60663         * modules/truncl: New file.
60664         * lib/truncl.c: New file.
60665         * m4/truncl.m4: New file.
60666         * lib/math.in.h (truncl): New declaration.
60667         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60668         HAVE_DECL_TRUNCL.
60669         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60670         HAVE_DECL_TRUNCL.
60671         * doc/functions/truncl.texi: Mention the 'truncl' module.
60672
60673 2007-10-04  Bruno Haible  <bruno@clisp.org>
60674
60675         * modules/truncf-tests: New file.
60676         * tests/test-truncf.c: New file.
60677
60678         * modules/truncf: New file.
60679         * lib/trunc.c: Make paramerizable through USE_* macros.
60680         * lib/truncf.c: New file.
60681         * m4/truncf.m4: New file.
60682         * lib/math.in.h (truncf): New declaration.
60683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60684         HAVE_DECL_TRUNCF.
60685         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60686         HAVE_DECL_TRUNCF.
60687         * doc/functions/truncf.texi: Mention the 'truncf' module.
60688
60689 2007-10-03  Bruno Haible  <bruno@clisp.org>
60690
60691         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60692         augmentation also for tests modules.
60693         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60694         * modules/atexit-tests (Makefile.am): Likewise.
60695         * modules/binary-io-tests (Makefile.am): Likewise.
60696         * modules/c-strcase-tests (Makefile.am): Likewise.
60697         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60698         * modules/canonicalize-tests (Makefile.am): Likewise.
60699         * modules/closein-tests (Makefile.am): Likewise.
60700         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60701         * modules/freadahead-tests (Makefile.am): Likewise.
60702         * modules/fseek-tests (Makefile.am): Likewise.
60703         * modules/fseeko-tests (Makefile.am): Likewise.
60704         * modules/ftell-tests (Makefile.am): Likewise.
60705         * modules/ftello-tests (Makefile.am): Likewise.
60706         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60707         * modules/isnanl-tests (Makefile.am): Likewise.
60708         * modules/lseek-tests (Makefile.am): Likewise.
60709         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60710         * modules/mbscasestr-tests (Makefile.am): Likewise.
60711         * modules/mbschr-tests (Makefile.am): Likewise.
60712         * modules/mbscspn-tests (Makefile.am): Likewise.
60713         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60714         * modules/mbspbrk-tests (Makefile.am): Likewise.
60715         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60716         * modules/mbsrchr-tests (Makefile.am): Likewise.
60717         * modules/mbsspn-tests (Makefile.am): Likewise.
60718         * modules/mbsstr-tests (Makefile.am): Likewise.
60719         * modules/printf-posix-tests (Makefile.am): Likewise.
60720         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60721         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60722         * modules/tsearch-tests (Makefile.am): Likewise.
60723         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60724         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60725         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60726         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60727         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60728         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60729         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60730         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60731         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60732         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60733         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60734         * modules/xstrtol-tests (Makefile.am): Likewise.
60735         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60736         * modules/yesno-tests (Makefile.am): Likewise.
60737
60738 2007-10-03  Bruno Haible  <bruno@clisp.org>
60739
60740         * modules/trunc-tests: New file.
60741         * tests/test-trunc.c: New file.
60742
60743         * modules/trunc: New file.
60744         * lib/trunc.c: New file.
60745         * m4/trunc.m4: New file.
60746         * lib/math.in.h (trunc): New declaration.
60747         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60748         HAVE_DECL_TRUNC.
60749         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60750         HAVE_DECL_TRUNC.
60751         * doc/functions/trunc.texi: Mention the 'trunc' module.
60752
60753 2007-10-03  Bruno Haible  <bruno@clisp.org>
60754
60755         * tests/test-fpending.c: New file, mostly copied
60756         from coreutils/lib/t-fpending.c.
60757         * modules/fpending-tests: New file.
60758
60759 2007-10-03  Bruno Haible  <bruno@clisp.org>
60760
60761         Port the stdio extensions to QNX (untested).
60762         * lib/fseterr.c (fseterr): Add support for QNX.
60763         * lib/fbufmode.c (fbufmode): Likewise.
60764         * lib/freadable.c (freadable): Likewise.
60765         * lib/fwritable.c (fwritable): Likewise.
60766         * lib/freading.c (freading): Likewise.
60767         * lib/fwriting.c (fwriting): Likewise.
60768         * lib/freadahead.c (freadahed): Likewise.
60769         * lib/fpurge.c (fpurge): Likewise.
60770         * lib/fseeko.c (rpl_fseeko): Likewise.
60771
60772 2007-10-03  Bruno Haible  <bruno@clisp.org>
60773             Jim Meyering  <jim@meyering.net>
60774             Eric Blake  <ebb9@byu.net>
60775
60776         * doc/relocatable.texi: Use @command instead of @program.
60777
60778 2007-10-02  Jim Meyering  <jim@meyering.net>
60779
60780         Perform one more "_.h" -> ".in.h" substitution.
60781         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60782         instead of unistd_.h here, too.
60783
60784 2007-10-01  Bruno Haible  <bruno@clisp.org>
60785
60786         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60787         Needed for the alloca-opt module.
60788
60789 2007-09-30  Bruno Haible  <bruno@clisp.org>
60790
60791         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60792         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60793         alloca_.h.
60794         * lib/argz.in.h: Renamed from lib/argz_.h.
60795         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60796         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60797         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
60798         byteswap_.h.
60799         * lib/dirent.in.h: Renamed from lib/dirent_.h.
60800         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
60801         dirent_.h.
60802         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
60803         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
60804         fcntl_.h.
60805         * lib/float.in.h: Renamed from lib/float_.h.
60806         * modules/float (Files, Makefile.am): Use float.in.h instead of
60807         float_.h.
60808         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
60809         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
60810         fnmatch_.h.
60811         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60812         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60813         getopt_.h.
60814         * lib/glob.in.h: Renamed from lib/glob_.h.
60815         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60816         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60817         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60818         iconv_.h.
60819         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60820         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60821         inttypes_.h.
60822         * lib/locale.in.h: Renamed from lib/locale_.h.
60823         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60824         locale_.h.
60825         * lib/math.in.h: Renamed from lib/math_.h.
60826         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60827         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60828         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60829         of netinet_in_.h. Add dependency.
60830         * lib/poll.in.h: Renamed from lib/poll_.h.
60831         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60832         * lib/search.in.h: Renamed from lib/search_.h.
60833         * modules/search (Files, Makefile.am): Use search.in.h instead of
60834         search_.h.
60835         * lib/signal.in.h: Renamed from lib/signal_.h.
60836         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60837         _signal.h.
60838         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60839         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60840         stdbool_.h.
60841         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60842         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60843         stdint_.h.
60844         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60845         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60846         stdio_.h.
60847         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60848         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60849         stdlib_.h.
60850         * lib/string.in.h: Renamed from lib/string_.h.
60851         * modules/string (Files, Makefile.am): Use string.in.h instead of
60852         string_.h.
60853         * doc/gnulib-tool.texi (Initial import): Update.
60854         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60855         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60856         of sys_select_.h. Add dependency.
60857         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60858         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60859         of sys_socket_.h.
60860         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60861         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60862         sys_stat_.h.
60863         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60864         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60865         sys_time_.h.
60866         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60867         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60868         sysexits_.h.
60869         * lib/time.in.h: Renamed from lib/time_.h.
60870         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60871         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60872         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60873         unistd_.h.
60874         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60875         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60876         wchar_.h.
60877         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60878         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60879         wctype_.h.
60880         * build-aux/bootstrap (slurp): Update.
60881         * lib/.cppi-disable: Update.
60882
60883 2007-09-30  Bruno Haible  <bruno@clisp.org>
60884
60885         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60886         Needed on BeOS.
60887
60888 2007-09-30  Bruno Haible  <bruno@clisp.org>
60889
60890         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60891
60892 2007-09-29  Bruno Haible  <bruno@clisp.org>
60893
60894         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60895
60896 2007-09-29  Bruno Haible  <bruno@clisp.org>
60897
60898         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60899         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60900         * build-aux/install-reloc: Compile also areadlink.c.
60901         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60902
60903 2007-09-29  Bruno Haible  <bruno@clisp.org>
60904
60905         * gnulib-tool (func_emit_initmacro_done): Indentation.
60906
60907 2007-09-29  Bruno Haible  <bruno@clisp.org>
60908
60909         * README: Add CVS checkout update instructions.
60910         Info from Bob Proulx <bob@proulx.com>.
60911
60912 2007-09-28  Eric Blake  <ebb9@byu.net>
60913
60914         Provide move-if-change.
60915         * build-aux/move-if-change: New file, based on best practice
60916         rather than any canonical upstream location.
60917
60918 2007-09-28  Jim Meyering  <jim@meyering.net>
60919
60920         Fix canonicalize loop-detection corner case.
60921         Do not attempt to stat the symlink values stored via seen_triple.
60922         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
60923         on linux-2.6.18, (but not 2.6.22).
60924         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
60925         triple_compare.  The former compares dev,ino,filename, while the latter
60926         would actually stat dirname(filename) when dev and ino were equal.
60927         * lib/hash-triple.c: Install <string.h>.
60928         (STREQ): Define.
60929         (triple_compare_ino_str): New function.
60930         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
60931
60932 2007-09-28  Eric Blake  <ebb9@byu.net>
60933
60934         Enforce that AC_REPLACE_FUNCS files exist.
60935         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
60936         override check for typos.
60937
60938         Fix test-closein on Solaris 10.
60939         * tests/test-closein.c (main): Don't assume stdin can be inherited
60940         closed on all systems.
60941         * tests/test-closein.sh: Likewise.
60942         Reported by Piotr Tarnowski.
60943
60944 2007-09-28  Jim Meyering  <jim@meyering.net>
60945
60946         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
60947
60948 2007-09-27  Jim Meyering  <jim@meyering.net>
60949
60950         canonicalize: Avoid a false-positive cycle failure.
60951         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
60952         Sort.  Remove cycle-check.
60953         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
60954         not cycle-check.h.
60955         (seen_triple): New function.
60956         (canonicalize_filename_mode): Use it instead of cycle-check.
60957         * tests/test-canonicalize.c: Add a test for this bug.
60958         * tests/test-canonicalize.sh: Set up and run the test.
60959
60960         New module, file-set, from coreutils.
60961         * modules/file-set: Define it.
60962         * lib/file-set.c, lib/file-set.h: Implement.
60963
60964         New module, hash-triple, from coreutils.
60965         * modules/hash-triple: Define it.
60966         * lib/hash-triple.c, lib/hash-triple.h: Implement.
60967
60968 2007-09-25  Eric Blake  <ebb9@byu.net>
60969
60970         Fix strerror on Interix.
60971         * lib/string_.h (strerror): Declare replacement.
60972         * doc/functions/strerror.texi (strerror): Document the Interix
60973         shortcoming.
60974         * modules/string (Makefile.am): Support new hooks.
60975         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
60976         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
60977         gl_FUNC_STRERROR_SEPARATE.
60978         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
60979         * lib/strerror.c (rpl_strerror): Provide replacement.
60980         * modules/strerror (Depends-on): Add string.
60981         (configure.ac): Detect use of module.
60982         * tests/test-strerror.c: New file.
60983         * modules/strerror-tests: New test module.
60984         * modules/argp (Depends-on): Add strerror.
60985         * modules/error (Depends-on): Likewise.
60986         Reported by Martin Koeppe.
60987
60988 2007-09-24  Bruno Haible  <bruno@clisp.org>
60989
60990         * README: Update git instructions.
60991
60992 2007-09-24  Eric Blake  <ebb9@byu.net>
60993
60994         Revert fpending breakage from 2007-09-08.
60995         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
60996         __fpending.c.
60997
60998 2007-09-24  Jim Meyering  <jim@meyering.net>
60999
61000         filenamecat.c: Add a test.
61001         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61002         showing how the function works when DIR is the empty string.
61003
61004 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61005
61006         * tests/test-canonicalize.sh: Turn on executable bit.
61007
61008 2007-09-19  Eric Blake  <ebb9@byu.net>
61009
61010         * README: Update CVS instructions.
61011
61012 2007-09-18  Bruno Haible  <bruno@clisp.org>
61013
61014         * modules/areadlink: New file.
61015         * lib/areadlink.h (areadlink): New declaration.
61016         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61017
61018 2007-09-17  Jim Meyering  <jim@meyering.net>
61019
61020         * lib/savewd.c (ESTALE) [!defined]: Define.
61021         Reported to be required on Interix by Martin Koeppe.
61022
61023 2007-09-17  Bruno Haible  <bruno@clisp.org>
61024
61025         * gnulib-tool (func_version): Use $version.
61026
61027 2007-09-16  Bruno Haible  <bruno@clisp.org>
61028
61029         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61030         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61031         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61032         Reported by Greg Schafer <gschafer@zip.com.au>.
61033
61034 2007-09-15  Bruno Haible  <bruno@clisp.org>
61035
61036         * gnulib-tool (sed): Try a little harder to make bash understand the
61037         alias.
61038         Reported by Bruce Korb <bruce.korb@gmail.com>.
61039
61040 2007-09-13  Eric Blake  <ebb9@byu.net>
61041
61042         * ChangeLog: Remove conflict markers.
61043
61044 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61045
61046         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61047         Reported by Bruno Haible <bruno@clisp.org>.
61048
61049 2007-09-12  Bruno Haible  <bruno@clisp.org>
61050
61051         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61052         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61053         is not defined.
61054
61055 2007-09-12  Eric Blake  <ebb9@byu.net>
61056
61057         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61058         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61059         Autoconf definition.
61060         * modules/euidaccess (Depends-on): Add extensions, for
61061         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61062         * modules/fnmatch (Depends-on): Likewise.
61063         * modules/getaddrinfo (Depends-on): Likewise.
61064         * modules/getdelim (Depends-on): Likewise.
61065         * modules/getline (Depends-on): Likewise.
61066         * modules/getsubopt (Depends-on): Likewise.
61067         * modules/gettext (Depends-on): Likewise.
61068         * modules/group-member (Depends-on): Likewise.
61069         * modules/mbchar (Depends-on): Likewise.
61070         * modules/memmem (Depends-on): Likewise.
61071         * modules/mempcpy (Depends-on): Likewise.
61072         * modules/memrchr (Depends-on): Likewise.
61073         * modules/pagealign_alloc (Depends-on): Likewise.
61074         * modules/readutmp (Depends-on): Likewise.
61075         * modules/stpcpy (Depends-on): Likewise.
61076         * modules/stpncpy (Depends-on): Likewise.
61077         * modules/strchrnul (Depends-on): Likewise.
61078         * modules/strndup (Depends-on): Likewise.
61079         * modules/strsep (Depends-on): Likewise.
61080         * modules/strverscmp (Depends-on): Likewise.
61081         * modules/vasprintf (Depends-on): Likewise.
61082         * modules/wcwidth (Depends-on): Likewise.
61083         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61084         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61085         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61086         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61087         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61088         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61089         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61090         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61091         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61092         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61093         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61094         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61095         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61096         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61097         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61098         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61099         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61100         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61101         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61102         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61103         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61104         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61105         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61106         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61107         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61108         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61109         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61110         so that lock.m4 can be used in gettext without extensions module.
61111
61112 2007-09-11  Bruno Haible  <bruno@clisp.org>
61113
61114         * m4/isc-posix.m4: Remove file.
61115         Suggested by Eric Blake.
61116
61117 2007-09-11  Eric Blake  <ebb9@byu.net>
61118
61119         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61120
61121 2007-09-10  Bruno Haible  <bruno@clisp.org>
61122
61123         * posix-modules: Fix typo in error message.
61124         Reported by Matt <mkraai@beckman.com>.
61125
61126 2007-09-09  Bruno Haible  <bruno@clisp.org>
61127
61128         * doc/functions/getdelim.texi: Update list of platforms lacking the
61129         function.
61130         * doc/functions/getline.texi: Likewise.
61131
61132 2007-09-09  Jim Meyering  <jim@meyering.net>
61133
61134         * lib/hash.c (hash_initialize): Detect calloc failure.
61135         Reported by Bruno Haible.
61136
61137 2007-09-09  Bruno Haible  <bruno@clisp.org>
61138
61139         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61140         malloc or realloc fails.
61141
61142 2007-09-09  Bruno Haible  <bruno@clisp.org>
61143
61144         * modules/getcwd (Depends-on): Add malloc-posix.
61145         * modules/glob (Depends-on): Likewise.
61146         * modules/putenv (Depends-on): Likewise.
61147         * modules/strdup (Depends-on): Likewise.
61148         * modules/getdelim (Depends-on): Add realloc-posix.
61149         * modules/read-file (Depends-on): Likewise.
61150
61151 2007-09-09  Bruno Haible  <bruno@clisp.org>
61152
61153         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61154         (gl_FUNC_MALLOC_POSIX): Require it.
61155         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61156         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61157         * modules/realloc (Files): Add m4/malloc.m4.
61158         * modules/calloc (Files): Likewise.
61159
61160 2007-09-09  Bruno Haible  <bruno@clisp.org>
61161
61162         * modules/malloc-posix: New file.
61163         * modules/malloc (Depends-on): Add malloc-posix.
61164         * lib/malloc.c: Include errno.h.
61165         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61166         and a POSIX-compatible malloc into a single function. Set ENOMEM
61167         when returning NULL.
61168         * m4/malloc.m4: New file.
61169         * doc/functions/malloc.texi: Mention the malloc-posix module.
61170         * lib/stdlib_.h (malloc): New declaration.
61171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61172         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61173         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61174         and HAVE_MALLOC_POSIX.
61175
61176 2007-09-09  Bruno Haible  <bruno@clisp.org>
61177
61178         * modules/realloc-posix: New file.
61179         * modules/realloc (Depends-on): Add realloc-posix.
61180         * lib/realloc.c: Include errno.h.
61181         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61182         and a POSIX-compatible realloc into a single function. Set ENOMEM
61183         when returning NULL.
61184         * m4/realloc.m4: New file.
61185         * doc/functions/realloc.texi: Mention the realloc-posix module.
61186         * lib/stdlib_.h (realloc): New declaration.
61187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61188         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61189         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61190         and HAVE_REALLOC_POSIX.
61191
61192 2007-09-09  Bruno Haible  <bruno@clisp.org>
61193
61194         * modules/calloc-posix: New file.
61195         * modules/calloc (Depends-on): Add calloc-posix.
61196         * lib/calloc.c: Include errno.h.
61197         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61198         and a POSIX-compatible calloc into a single function. Set ENOMEM
61199         when returning NULL.
61200         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61201         * doc/functions/calloc.texi: Mention the calloc-posix module.
61202         * lib/stdlib_.h (calloc): New declaration.
61203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61204         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61205         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61206         and HAVE_CALLOC_POSIX.
61207
61208 2007-09-09  Bruno Haible  <bruno@clisp.org>
61209
61210         Allow for modules to show an arbitrary notice.
61211         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61212         * gnulib-tool: New option --extract-notice.
61213         (func_usage): Document it.
61214         (sed_extract_prog): Update.
61215         (func_get_notice): New function.
61216         (func_modules_notice): New function.
61217         (func_import, func_create_testdir): Invoke it.
61218         Suggested by Jim Meyering.
61219
61220 2007-09-09  Bruno Haible  <bruno@clisp.org>
61221
61222         * gnulib-tool: New options --verbose, --quiet.
61223         (func_usage): Document them.
61224         (verbose): New variable.
61225         (func_execute_command): New function.
61226         (func_import): Don't show the module list and the file list if
61227         $verbose < 0.
61228         (func_create_testdir): Likewise. Use func_execute_command.
61229         (func_create_megatestdir): Use func_execute_command.
61230
61231 2007-09-08  Bruno Haible  <bruno@clisp.org>
61232
61233         * gnulib-tool (func_import): Prefer rsync over wget when available,
61234         for fetching the PO files.
61235
61236 2007-09-08  Bruno Haible  <bruno@clisp.org>
61237
61238         * posix-modules: New file. Portions copied from gnulib-tool.
61239         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61240
61241 2007-09-08  Jim Meyering  <jim@meyering.net>
61242
61243         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61244         * lib/fpending.h: Rename from __fpending.h.
61245         * lib/fpending.c: Rename from __fpending.c.
61246         Include "fpending.h", not "__fpending.h".
61247         * lib/__fpending.h, lib/__fpending.c: Remove files.
61248         * modules/fpending (Files): Reflect new file names.
61249         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61250
61251 2007-09-08  Bruno Haible  <bruno@clisp.org>
61252
61253         * m4/inttypes-h.m4: Remove stub file.
61254
61255 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61256
61257         * doc/headers/stdint.texi: Discuss #include_next issue.
61258
61259 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61260
61261         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61262
61263 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61264
61265         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61266         in variable name.
61267
61268 2007-09-03  Jim Meyering  <jim@meyering.net>
61269
61270         New module: git-version-gen.
61271         * modules/git-version-gen: New file.
61272
61273         Import changes from coreutils for bootstrap script.
61274
61275         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61276
61277         bootstrap: uses rsync to download the .po files
61278         * build-aux/bootstrap (po_download_command_format): New global.
61279         (download_po_files): Use rsync.
61280         (update_po_files): Don't remove .po files after download,
61281         so future rsync runs can take advantage of the copies.
61282
61283         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61284
61285         Solve the unnecessary-.po-file-regeneration problem once and for all.
61286         * build-aux/bootstrap (download_po_files): New function, renamed from
61287         get_translations.  Now, downloads, but doesn't update LINGUAS.
61288         (update_po_files): New function.
61289
61290         bootstrap: Ignore more.
61291         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61292         uniwidth to e.g., lib/.gitignore.
61293         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61294
61295         * build-aux/bootstrap: New setting: vc_ignore.
61296         (insert_sorted_if_absent): Create $file if absent.
61297         Adapt to new, possibly empty, list: $vc_ignore.
61298
61299         bootstrap: generate more ignorable names
61300         * build-aux/bootstrap (slurp): When generating ignorable names,
61301         also map .sin to .sed, .gperf to .c, and .y to .c.
61302
61303 2007-09-03  Jim Meyering  <jim@meyering.net>
61304
61305         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61306         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61307
61308 2007-09-02  Bruno Haible  <bruno@clisp.org>
61309
61310         Fix mis-recognition of 'mcs' on QNX 6.
61311         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61312         output contains the string "Mono".
61313         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61314         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61315
61316 2007-09-01  Bruno Haible  <bruno@clisp.org>
61317
61318         Fix collision between uniwidth/* and linebreak modules.
61319         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61320         u32_width): Remove declarations.
61321         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61322         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61323         streq3, streq2, streq1, streq0): Remove functions.
61324         (STREQ): Remove macro.
61325         (is_cjk_encoding): Remove function.
61326         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61327         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61328         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61329         * NEWS: Document the change.
61330
61331 2007-09-01  Bruno Haible  <bruno@clisp.org>
61332
61333         * lib/streq.h: Add double-inclusion guard.
61334
61335 2007-09-01  Karl Berry  <karl@gnu.org>
61336
61337         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61338
61339 2007-08-28  Jim Meyering  <jim@meyering.net>
61340
61341         Rename mreadlink_with_size to areadlink_with_size.
61342         * NEWS: Document the change.
61343         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61344         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61345         * lib/mreadlink.h: Rename this to...
61346         * lib/areadlink.h: ...this.
61347         * modules/mreadlink-with-size: Rename this to...
61348         * modules/areadlink-with-size: ...this.
61349         * lib/canonicalize.c: Reflect the renaming.
61350         * modules/canonicalize: Likewise.
61351
61352 2007-08-26  Bruno Haible  <bruno@clisp.org>
61353
61354         * gnulib-tool (func_import): When deciding which files to remove,
61355         consider also dangling symbolic links.
61356         Reported by Eric Blake.
61357
61358 2007-08-26  Bruno Haible  <bruno@clisp.org>
61359
61360         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61361
61362 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61363
61364         * lib/readline.c: Don't include getline.h, the prototype is now
61365         found in stdio.h.
61366
61367 2007-08-23  Jim Meyering  <jim@meyering.net>
61368
61369         Getdelim touchup.
61370         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61371         around the funlockfile call, since funlockfile never sets errno.
61372         Don't set errno upon failed realloc.
61373
61374 2007-08-22  Eric Blake  <ebb9@byu.net>
61375
61376         Getline touchups.
61377         * lib/getdelim.c (getdelim): Revert regression that required *n to
61378         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61379         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61380         getdelim, rather than whether implementation is missing.
61381         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61382         * lib/stdio_.h (getline): Also declare if replacement is
61383         required.
61384         * doc/functions/getdelim.texi: New file.
61385         * doc/functions/getline.texi: Likewise.
61386         * doc/gnulib.texi (Function Substitutes): Add new files.
61387         Reported by Bruno Haible.
61388
61389 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61390
61391         * users.txt: Add Guile.
61392
61393 2007-08-22  Eric Blake  <ebb9@byu.net>
61394
61395         * tests/test-getdelim.c (main): Use remove, not unlink.
61396         * tests/test-getline.c (main): Likewise.
61397
61398         Move getline and getdelim into stdio.h, per POSIX 200x.
61399         * modules/getline (Files): Remove getline.h.
61400         (Depends-on): Add stdio.
61401         (configure.ac): Add module indicator.
61402         * modules/getdelim (Files): Remove getdelim.h.
61403         (Depends-on): Add stdio.
61404         (configure.ac): Add module indicator.
61405         * modules/stdio (Makefile.am): Work with new indicators.
61406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61407         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61408         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61409         * lib/getdelim.h: Delete.
61410         * lib/getline.h: Delete.
61411         * lib/stdio_.h (getdelim, getline): Declare.
61412         * modules/getdelim-tests: New module.
61413         * modules/getline-tests: Likewise.
61414         * tests/test-getdelim.c: New file.
61415         * tests/test-getline.c: Likewise.
61416         * NEWS: Document the change.
61417         * lib/getline.c: Update choice of header.
61418         * lib/csharpcomp.c: Likewise.
61419         * lib/getpass.c: Likewise.
61420         * lib/javacomp.c: Likewise.
61421         * lib/javaversion.c: Likewise.
61422         * lib/yesno.c: Likewise.
61423         * lib/getdelim.c: Likewise.
61424         (getdelim): Set errno on failure, and avoid memory leak.
61425
61426 2007-08-19  Bruno Haible  <bruno@clisp.org>
61427
61428         * modules/closein (Depends-on): Add freadahead.
61429         * lib/closein.c: Include freadahead.h.
61430         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61431         is zero.
61432
61433 2007-08-19  Bruno Haible  <bruno@clisp.org>
61434
61435         * modules/freadahead-tests: New file.
61436         * tests/test-freadahead.sh: New file.
61437         * tests/test-freadahead.c: New file.
61438
61439         * modules/freadahead: New file.
61440         * lib/freadahead.h: New file.
61441         * lib/freadahead.c: New file.
61442         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61443         fbufmode, fpurge, freadable, fwritable.
61444
61445 2007-08-19  Eric Blake  <ebb9@byu.net>
61446
61447         Test yesno in combination with closein.
61448         * lib/yesno.c (yesno): Document use of stdin.
61449         * modules/yesno-tests (Files): New module.
61450         * tests/test-yesno.c (main): New file.
61451         * tests/test-yesno.sh: Likewise.
61452
61453 2007-08-19  Bruno Haible  <bruno@clisp.org>
61454
61455         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61456         * lib/fseeko.c (rpl_fseeko): Likewise.
61457         * lib/fseterr.c (fseterr): Likewise.
61458
61459 2007-08-19  Bruno Haible  <bruno@clisp.org>
61460
61461         * tests/test-lseek.c (main): Disable a test for BeOS.
61462         * doc/functions/lseek.texi: Document the BeOS bug.
61463
61464 2007-08-19  Bruno Haible  <bruno@clisp.org>
61465             Eric Blake  <ebb9@byu.net>
61466
61467         * lib/lseek.c: Include <sys/stat.h>.
61468         (rpl_lseek): Add workaround code also for Unix platforms.
61469         Needed for BeOS.
61470         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61471         * doc/functions/lseek.texi: Document BeOS definiency.
61472
61473 2007-08-18  Bruno Haible  <bruno@clisp.org>
61474
61475         * modules/fstrcmp-tests: New file.
61476         * tests/test-fstrcmp.c: New file.
61477
61478 2007-08-18  Bruno Haible  <bruno@clisp.org>
61479
61480         * modules/fstrcmp: New file, from GNU gettext with modifications.
61481         * lib/fstrcmp.h: New file, from GNU gettext.
61482         * lib/fstrcmp.c: New file, from GNU gettext.
61483         * MODULES.html.sh (String handling): Add fstrcmp.
61484
61485 2007-08-18  Bruno Haible  <bruno@clisp.org>
61486
61487         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61488         'bool'.
61489         (diag, compareseq): Remove const from the ctxt argument.
61490         (USE_HEURISTIC): Undefine at the end.
61491
61492 2007-08-18  Jim Meyering  <jim@meyering.net>
61493
61494         New file: lib/idcache.h
61495         * NEWS: Mention the addition.
61496         * modules/idcache (Files): Add lib/idcache.h
61497         * lib/idcache.c: Include "idcache.h".
61498         Don't include <sys/types.h>.
61499         Add a FIXME comment.
61500         Move file-scoped "static" declarations to the top.
61501         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61502
61503 2007-08-17  Bruno Haible  <bruno@clisp.org>
61504         and Paul Eggert  <eggert@cs.ucla.edu>
61505
61506         * MODULES.html.sh: Add diffseq.
61507         * modules/diffseq: New file.
61508         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61509         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61510
61511 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61512
61513         Import changes from coreutils for bootstrap script.
61514
61515         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61516
61517         * build-aux/bootstrap (slurp): Work even in environments where
61518         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61519         current code does not slurp files whose names start with ".", and
61520         this looks like it might be a troublesome area.
61521
61522         2007-07-11  Jim Meyering  <jim@meyering.net>
61523
61524         If there's a GPL vN copyright comment, require that N == 3.
61525
61526         2007-07-08  Jim Meyering  <jim@meyering.net>
61527
61528         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61529         * build-aux/bootstrap (mam_template): Move definition out of loop.
61530
61531         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61532
61533         * build-aux/bootstrap (symlink_to_dir): Rename function from
61534         symlink_to_gnulib.  Add a directory parameter.  Update all
61535         callers.
61536         (cp_mark_as_generated): Also check for -- and link to -- files in
61537         gl/.
61538
61539         2007-07-08  Jim Meyering  <jim@meyering.net>
61540
61541         Adapt to deeper hierarchy in gnulib.
61542         * build-aux/bootstrap (symlink_to_dir): If the destination
61543         directory doesn't exist, create it. This is required at least for
61544         "lib/uniwidth/cjk.h".
61545
61546         2007-05-15  Jim Meyering  <jim@meyering.net>
61547
61548         * build-aux/bootstrap: Now that generated Makefile.am files
61549         are no longer under version control, they must be created at
61550         bootstrap time.
61551
61552 2007-08-14  Ben Pfaff  <blp@gnu.org>
61553
61554         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61555
61556 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61557
61558         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61559         given the changes below.
61560         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61561         even on hosts that have padding bits beyond the supported 64.
61562
61563 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61564
61565         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61566         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61567         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61568         depends on it.
61569         (xstrtol_error): Remove.
61570         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61571         but with a different signature.
61572         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61573         * lib/xstrtol-error.c: Include exitfail.h.
61574         (xstrtol_fatal): New function, with a different signature from the
61575         old xstrtol_error, so that the caller need not worry about passing
61576         in an exit status, or about storage management of the option argument.
61577         (xstrtol_error): Now a static function.  Redo signature to
61578         implement xstrtol_fatal.  Output the correct number of hyphens in
61579         front of the option so that the caller need not worry about
61580         storage management.
61581         (N_): New macro.
61582         (_): Remove; not used now.
61583         * modules/xstrtol: Depend on getopt.
61584         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61585         of old STRTOL_FATAL_ERROR macro.
61586         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61587         of test program.
61588         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61589         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61590
61591 2007-08-08  Eric Blake  <ebb9@byu.net>
61592
61593         * lib/xstrtol-error.c: Add missing include.
61594
61595         Move xstrtol messages into gnulib domain, when --pobase is used.
61596         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61597         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61598         * modules/xstrtol (Files): Distribute new file.
61599         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61600         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61601         * tests/test-xstrtol.c: ...into new file.
61602         * tests/test-xstrtoul.c: Also test xstrtoul.
61603         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61604         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61605         * tests/test-xstrtol.sh: Drive the tests.
61606         * tests/test-xstrtoimax.sh: Likewise.
61607         * tests/test-xstrtoumax.sh: Likewise.
61608         * modules/xstrtol-tests: New module.
61609         * modules/xstrtoimax-tests: Likewise.
61610         * modules/xstrtoumax-tests: Likewise.
61611
61612 2007-08-08  Jim Meyering  <jim@meyering.net>
61613
61614         New function: mfile_name_concat.
61615         * lib/filenamecat.c (mfile_name_concat): New function, just like
61616         file_name_concat, but return NULL upon failure rather than exiting
61617         with a diagnostic.
61618         * lib/filenamecat.h: Declare it.
61619
61620 2007-08-07  Bruno Haible  <bruno@clisp.org>
61621
61622         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61623         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61624         warning from gcc.
61625         Reported by Eric Blake.
61626
61627 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61628
61629         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61630         * modules/crypto/arcfour (License): Likewise.
61631         * modules/crypto/des-tests (License): Likewise.
61632         * modules/crypto/gc-arctwo-tests (License): Likewise.
61633         * modules/crypto/gc-des-tests (License): Likewise.
61634         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61635         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61636         * modules/crypto/gc-md2-tests (License): Likewise.
61637         * modules/crypto/gc-md4-tests (License): Likewise.
61638         * modules/crypto/gc-md5-tests (License): Likewise.
61639         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61640         * modules/crypto/gc-rijndael-tests (License): Likewise.
61641         * modules/crypto/gc-sha1-tests (License): Likewise.
61642         * modules/crypto/gc-tests (License): Likewise.
61643         * modules/crypto/hmac-md5 (License): Likewise.
61644         * modules/crypto/hmac-sha1 (License): Likewise.
61645         * modules/crypto/md2-tests (License): Likewise.
61646         * modules/crypto/md4-tests (License): Likewise.
61647         * modules/crypto/md5 (License): Likewise.
61648         * modules/crypto/rijndael (License): Likewise.
61649         * modules/crypto/sha1 (License): Likewise.
61650         * modules/memxor (License): Likewise.
61651
61652 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61653         and Bruno Haible  <bruno@clisp.org>
61654
61655         * NEWS: Describe interface changes to human, xstrtol.
61656         * lib/human.h: Include <xstrtol.h>.
61657         (human_options): Return enum strtol_error, not int.  Remove
61658         bool arg; take int * instead.
61659         * lib/human.c: Don't include "gettext.h".
61660         (_): Remove; no longer used.
61661         Don't include <xstrtol.h>, since human.h does it.
61662         (human_options): Adjust to abovementioned interface changes.
61663         Do not report error to stderr; that's now the caller's
61664         responsibility.
61665         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61666         interface change.
61667         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61668         Str, Argument_type_string.  All uses changed.  Put " argument"
61669         in diagnostics to make them clearer.  Change wording of suffix
61670         message for clarity.
61671         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61672         Argument_type_string.
61673         (STRTOL_FATAL_WARN): Remove; no longer used.
61674         * modules/human (Depends-on): Remove gettext-h.
61675
61676 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61677
61678         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61679
61680 2007-07-31  Bruno Haible  <bruno@clisp.org>
61681
61682         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61683         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61684         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61685
61686 2007-07-31  Bruno Haible  <bruno@clisp.org>
61687
61688         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61689         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61690
61691 2007-07-30  Bruno Haible  <bruno@clisp.org>
61692
61693         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61694         * modules/c-ctype (License): Likewise.
61695         * modules/c-strcase (License): Likewise.
61696         * modules/check-version (License): Likewise.
61697         * modules/iconv (License): Likewise.
61698         * modules/iconv_open (License): Likewise.
61699         * modules/read-file (License): Likewise.
61700         * modules/striconv (License): Likewise.
61701         * modules/strverscmp (License): Likewise.
61702         * modules/vasprintf (License): Likewise.
61703         * modules/crypto/des (License): Likewise.
61704         * modules/crypto/gc (License): Likewise.
61705         * modules/crypto/gc-arcfour (License): Likewise.
61706         * modules/crypto/gc-arctwo (License): Likewise.
61707         * modules/crypto/gc-des (License): Likewise.
61708         * modules/crypto/gc-hmac-md5 (License): Likewise.
61709         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61710         * modules/crypto/gc-md2 (License): Likewise.
61711         * modules/crypto/gc-md4 (License): Likewise.
61712         * modules/crypto/gc-md5 (License): Likewise.
61713         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61714         * modules/crypto/gc-random (License): Likewise.
61715         * modules/crypto/gc-rijndael (License): Likewise.
61716         * modules/crypto/gc-sha1 (License): Likewise.
61717         * modules/crypto/md2 (License): Likewise.
61718         * modules/crypto/md4 (License): Likewise.
61719
61720 2007-07-30  Jim Meyering  <jim@meyering.net>
61721
61722         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61723         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61724         it has valid stat data.  This bug would cause du not to count the
61725         sizes of inaccessible directories.
61726         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61727         in <http://bugzilla.redhat.com/250077>.
61728
61729 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61730             Bruno Haible  <bruno@clisp.org>
61731
61732         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61733         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61734         #include_next, gives a diagnostic about it, but reports no error in
61735         the exit code.
61736         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61737
61738 2007-07-24  Ben Pfaff  <blp@gnu.org>
61739
61740         Improve name: "count-one-bits" is better than "popcount".
61741         * MODULES.html.sh: Update name.
61742         * lib/popcount.h: Renamed lib/count-one-bits.h.
61743         (popcount): Renamed count_one_bits.
61744         (popcountl): Renamed count_one_bits_l.
61745         (popcountll): Renamed count_one_bits_ll.
61746         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61747         * modules/popcount: Renamed module/count-one-bits.
61748         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61749         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61750
61751 2007-07-23  Ben Pfaff  <blp@gnu.org>
61752
61753         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61754         better code generation, and add U to large constants to avoid
61755         warnings, in non-GCC case.
61756         Suggested by Bruno Haible.
61757
61758 2007-07-23  Ben Pfaff  <blp@gnu.org>
61759
61760         * lib/popcount.h: Use verify_true instead of if...abort.
61761         * modules/popcount: Depend on verify module.
61762         Suggested by Jim Meyering.
61763
61764 2007-07-23  Bruno Haible  <bruno@clisp.org>
61765
61766         * gnulib-tool (func_import): Create a .cvsignore file also when the
61767         directory is not yet in CVS but the toplevel directory is. When
61768         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61769         Reported by Karl Berry.
61770
61771 2007-07-22  Ben Pfaff  <blp@gnu.org>
61772
61773         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61774         case.
61775         Suggested by Eric Blake.
61776
61777 2007-07-22  Ben Pfaff  <blp@gnu.org>
61778
61779         New module: popcount.
61780         * MODULES.html.sh: Add popcount.
61781         * modules/popcount: New file.
61782         * modules/popcount-tests: New file.
61783         * tests/test-popcount.c: New file.
61784         * lib/popcount.h: New file.
61785         * m4/popcount.m4: New file.
61786
61787 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61788
61789         * build-aux/announce-gen: Update to GPLv3.
61790
61791         * build-aux/config.guess: Update from config.
61792
61793 2007-07-21  Bruno Haible  <bruno@clisp.org>
61794
61795         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61796         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61797
61798 2007-07-20  Jim Meyering  <jim@meyering.net>
61799
61800         * check-module: Diagnose a self-dependency.
61801
61802 2007-07-19  Bruno Haible  <bruno@clisp.org>
61803
61804         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
61805         empty.
61806         Reported by Eric Blake.
61807
61808 2007-07-18  Bruno Haible  <bruno@clisp.org>
61809
61810         * gnulib-tool: New options --po-base, --po-domain.
61811         (func_usage): Document them.
61812         (pobase, po_domain): New variables.
61813         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61814         DEFAULT_TEXT_DOMAIN.
61815         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61816         (func_import): Consider pobase and po_domain. Create a po/ directory.
61817         (func_create_testdir): Set pobase and po_domain to empty.
61818         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61819         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61820
61821 2007-07-18  Bruno Haible  <bruno@clisp.org>
61822
61823         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61824         EXTRA_DIST augmentation for files in build-aux/.
61825
61826 2007-07-16  Bruno Haible  <bruno@clisp.org>
61827
61828         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61829         * modules/getdelim (License): Likewise.
61830
61831 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61832
61833         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61834         * modules/d-type (License): Likewise.
61835         * modules/extensions (License): Likewise.
61836         * modules/fnmatch (License): Likewise.
61837         * modules/fseeko (License): Likewise.
61838         * modules/getaddrinfo (License): Likewise.
61839         * modules/getline (License): Likewise.
61840         * modules/getlogin_r (License): Likewise.
61841         * modules/getpass (License): Likewise.
61842         * modules/gettimeofday (License): Likewise.
61843         * modules/glob (License): Likewise.
61844         * modules/inet_ntop (License): Likewise.
61845         * modules/malloc (License): Likewise.
61846         * modules/malloca (License): Likewise.
61847         * modules/memmem (License): Likewise.
61848         * modules/mempcpy (License): Likewise.
61849         * modules/memset (License): Likewise.
61850         * modules/minmax (License): Likewise.
61851         * modules/mktime (License): Likewise.
61852         * modules/netinet_in (License): Likewise.
61853         * modules/pathmax (License): Likewise.
61854         * modules/poll (License): Likewise.
61855         * modules/regex (License): Likewise.
61856         * modules/snprintf (License): Likewise.
61857         * modules/stdbool (License): Likewise.
61858         * modules/stdint (License): Likewise.
61859         * modules/stdio (License): Likewise.
61860         * modules/strcase (License): Likewise.
61861         * modules/strcasestr (License): Likewise.
61862         * modules/strdup (License): Likewise.
61863         * modules/string (License): Likewise.
61864         * modules/strndup (License): Likewise.
61865         * modules/strnlen (License): Likewise.
61866         * modules/strpbrk (License): Likewise.
61867         * modules/strptime (License): Likewise.
61868         * modules/strsep (License): Likewise.
61869         * modules/sys_select (License): Likewise.
61870         * modules/sys_socket (License): Likewise.
61871         * modules/sys_stat (License): Likewise.
61872         * modules/sys_time (License): Likewise.
61873         * modules/time (License): Likewise.
61874         * modules/time_r (License): Likewise.
61875         * modules/timegm (License): Likewise.
61876         * modules/unistd (License): Likewise.
61877         * modules/vsnprintf (License): Likewise.
61878         * modules/wctype (License): Likewise.
61879
61880 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61881
61882         * modules/argz (License): LGPLv2+.
61883
61884 2007-07-15  Karl Berry  <karl@gnu.org>
61885
61886         * doc/gnulib.texi: revise node structure per new fdl.texi.
61887
61888 2007-07-14  Bruno Haible  <bruno@clisp.org>
61889
61890         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61891         the output file.
61892         * lib/uniname/uninames.h: Regenerated.
61893
61894 2007-07-14  Karl Berry  <karl@gnu.org>
61895
61896         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61897         omitting sectioning and index commands.
61898
61899 2007-07-13  Bruno Haible  <bruno@clisp.org>
61900
61901         New gnulib-tool option --more-symlinks.
61902         * gnulib-tool (func_usage): Document --more-symlinks.
61903         (do_copyrights): New variable.
61904         Recognize option --more-symlinks.
61905         (func_import): Don't add a copyright notice transform to
61906         sed_transform_lib_file if do_copyrights is empty.
61907
61908 2007-07-13  Bruno Haible  <bruno@clisp.org>
61909
61910         * lib/vasnprintf.c (decimal_point_char): Define also if
61911         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61912         && !NEED_PRINTF_DIRECTIVE_A.
61913         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61914         Gary V. Vaughan <gary@gnu.org>.
61915
61916 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
61917
61918         * lib/inttypes_.h: Undo previous change, since it was fixed
61919         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
61920
61921 2007-07-13  Bruno Haible  <bruno@clisp.org>
61922
61923         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
61924         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
61925
61926 2007-07-13  Jim Meyering  <jim@meyering.net>
61927
61928         df: Don't fail for Tru64's "file-on-file mount".
61929         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
61930         so we fall through and use statfs instead.  Details here:
61931         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
61932         Reported by Albert Chin.
61933
61934 2007-07-13  Bruno Haible  <bruno@clisp.org>
61935
61936         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
61937         * modules/configmake (License): Likewise.
61938         * modules/gettext (License): Likewise.
61939         * modules/gettext-h (License): Likewise.
61940         * modules/include_next (License): Likewise.
61941         * modules/link-warning (License): Likewise.
61942         * modules/localcharset (License): Likewise.
61943         * modules/localename (License): Likewise.
61944         * modules/lock (License): Likewise.
61945         * modules/relocatable-lib-lgpl (License): Likewise.
61946         * modules/size_max (License): Likewise.
61947         * modules/vasnprintf (License): Likewise.
61948         * modules/wchar (License): Likewise.
61949         * modules/xsize (License): Likewise.
61950
61951 2007-07-13  Bruno Haible  <bruno@clisp.org>
61952
61953         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
61954         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
61955
61956 2007-07-12  Bruno Haible  <bruno@clisp.org>
61957
61958         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
61959         in the modules files.
61960
61961 2007-07-11  Karl Berry  <karl@gnu.org>
61962
61963         * MODULES.html.sh (func_module): use
61964          sed -e '\|^'"${includefile}"'$|d'
61965          instead of /.../d, to avoid errors on $includefile's containing /.
61966
61967 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61968
61969         * gnulib-tool (func_import): Avoid duplication of --avoid
61970         statements
61971         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
61972         names to `_' in variable names.
61973
61974 2007-07-10  Eric Blake  <ebb9@byu.net>
61975
61976         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
61977         * NEWS: Document this change.
61978
61979 2007-07-08  Bruno Haible  <bruno@clisp.org>
61980
61981         Update to Unicode 5.0.
61982         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
61983         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
61984         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
61985         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
61986         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
61987         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
61988         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
61989         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
61990         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
61991         U+10A3F, U+1D242..U+1D244.
61992         (nonspacing_table_ind): Update.
61993         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
61994         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
61995
61996 2007-07-08  Bruno Haible  <bruno@clisp.org>
61997
61998         Update to Unicode 5.0.
61999         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62000         code transform. Extend the name index field of unicode_name_to_code and
62001         unicode_code_to_name from 16 to 24 bits.
62002         * lib/uniname/uniname.c (unicode_character_name,
62003         unicode_name_character): Add the range 0x12xxx to the code transform.
62004         * lib/uniname/uninames.h: Regenerated.
62005         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62006
62007 2007-07-07  Bruno Haible  <bruno@clisp.org>
62008
62009         * modules/wcwidth-tests: New file.
62010         * tests/test-wcwidth.c: New file.
62011
62012         Work around MacOS X wcwidth() bug.
62013         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62014         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62015         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62016         original wcwidth in non-UTF-8 locales.
62017         * modules/wcwidth (Depends-on): Add localcharset, streq,
62018         uniwidth/width.
62019         * doc/functions/wcwidth.texi: Update.
62020
62021 2007-07-07  Bruno Haible  <bruno@clisp.org>
62022
62023         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62024         (wcwidth): New declaration.
62025         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62026         macros.
62027         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62028         here. Prepare for creating <wchar.h> unconditionally.
62029         * modules/wchar (Depends-on): Add link-warning.
62030         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62031         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62032         * lib/wcwidth.h: Remove file.
62033         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62034         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62035         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62036         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62037         (Include): Replace wcwidth.h with <wchar.h>.
62038         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62039         * lib/mbchar.h: Don't include wcwidth.h.
62040         * lib/mbswidth.c: Likewise.
62041         * NEWS: Mention the change.
62042
62043 2007-07-07  Bruno Haible  <bruno@clisp.org>
62044
62045         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62046         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62047         definition with an external declaration.
62048         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62049         defined as a function. Remove AC_C_INLINE requirement.
62050         * modules/wcwidth (Files): Add lib/wcwidth.c.
62051         (Makefile.am): Remove redundant statement.
62052
62053 2007-07-07  Bruno Haible  <bruno@clisp.org>
62054
62055         * MODULES.html.sh (Unicode string functions): Add the new modules.
62056
62057         * tests/uniwidth/test-u32-strwidth.c: New file.
62058         * modules/uniwidth/u32-strwidth-tests: New file.
62059
62060         * lib/uniwidth/u32-strwidth.c: New file.
62061         * modules/uniwidth/u32-strwidth: New file.
62062
62063         * tests/uniwidth/test-u16-strwidth.c: New file.
62064         * modules/uniwidth/u16-strwidth-tests: New file.
62065
62066         * lib/uniwidth/u16-strwidth.c: New file.
62067         * modules/uniwidth/u16-strwidth: New file.
62068
62069         * tests/uniwidth/test-u8-strwidth.c: New file.
62070         * modules/uniwidth/u8-strwidth-tests: New file.
62071
62072         * lib/uniwidth/u8-strwidth.c: New file.
62073         * modules/uniwidth/u8-strwidth: New file.
62074
62075         * tests/uniwidth/test-u32-width.c: New file.
62076         * modules/uniwidth/u32-width-tests: New file.
62077
62078         * lib/uniwidth/u32-width.c: New file.
62079         * modules/uniwidth/u32-width: New file.
62080
62081         * tests/uniwidth/test-u16-width.c: New file.
62082         * modules/uniwidth/u16-width-tests: New file.
62083
62084         * lib/uniwidth/u16-width.c: New file.
62085         * modules/uniwidth/u16-width: New file.
62086
62087         * tests/uniwidth/test-u8-width.c: New file.
62088         * modules/uniwidth/u8-width-tests: New file.
62089
62090         * lib/uniwidth/u8-width.c: New file.
62091         * modules/uniwidth/u8-width: New file.
62092
62093         * tests/uniwidth/test-uc_width.c: New file.
62094         * modules/uniwidth/width-tests: New file.
62095
62096         * lib/uniwidth/width.c: New file, from GNU libiconv.
62097         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62098         * modules/uniwidth/width: New file.
62099
62100         * lib/uniwidth.h: New file, from GNU libiconv.
62101         * modules/uniwidth/base: New file.
62102
62103 2007-07-07  Bruno Haible  <bruno@clisp.org>
62104
62105         * lib/uniname.h: New file, from GNU gettext.
62106         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62107         * lib/uniname/uninames.h: New file, from GNU gettext.
62108         * lib/uniname/uniname.c: New file, from GNU gettext.
62109         * tests/uniname/test-uninames.sh: New file.
62110         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62111         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62112         * modules/uniname/base: New file.
62113         * modules/uniname/uniname: New file.
62114         * modules/uniname/uniname-tests: New file.
62115         * MODULES.html.sh (Unicode string functions): Add the new modules.
62116
62117 2007-07-06  Bruno Haible  <bruno@clisp.org>
62118
62119         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62120
62121 2007-07-06  Bruno Haible  <bruno@clisp.org>
62122
62123         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62124         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62125         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62126         include <sys/time.h>.
62127         Reported by Eric Blake.
62128
62129 2007-07-06  Eric Blake  <ebb9@byu.net>
62130
62131         Fix testing canonicalize on cygwin.
62132         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62133         Revert patch from 2007-06-19.
62134         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62135         canonicalize module is also in use.
62136         * tests/test-canonicalize.c: New file.
62137         * tests/test-canonicalize.sh: Likewise.
62138         * modules/canonicalize-tests: Likewise.
62139
62140 2007-07-06  Jim Meyering  <jim@meyering.net>
62141
62142         * lib/getugroups.c (getugroups): Detect getgrent failure.
62143         Adjust comment to reflect reality: this function may return -1.
62144
62145 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62146
62147         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62148         the new TP address.
62149         (usage): Fix typo
62150         (gnulib_mk): New variable.
62151
62152 2007-07-05  Jim Meyering  <jim@meyering.net>
62153
62154         Don't let endgrent clobber errno, no matter how improbable.
62155         * lib/getugroups.c (getugroups): Save and restore errno around
62156         endgrent call.
62157
62158         Close the group DB even when failing with 2^31 or more members.
62159         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62160
62161 2007-07-04  Jim Meyering  <jim@meyering.net>
62162
62163         * lib/getugroups.h: New file.
62164         * lib/getugroups.c: Include "getugroups.h".
62165         Remove uses of "register" keyword.
62166         Move local variable, "cp", down into scope where used.
62167         Give "username" parameter the "const" attribute.
62168         * modules/getugroups (Files): Add lib/getugroups.h
62169
62170 2007-07-04  Karl Berry  <karl@gnu.org>
62171
62172         * MODULES.html.sh (func_all_modules): Complete rename of
62173         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62174
62175 2007-07-02  Bruno Haible  <bruno@clisp.org>
62176
62177         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62178         mode, when inttypes.h comes from gnulib.
62179         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62180
62181 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62182
62183         * NEWS: Mention lgpl module name change.
62184
62185         * modules/lgpl-2.1: Renamed from lgpl.
62186
62187         * NEWS: Mention gpl module name change.
62188
62189         * modules/gpl-3.0: New file, based on gpl-2.0.
62190
62191         * modules/gpl-2.0: Renamed from gpl.
62192
62193         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62194         doc/gpl-2.0.texi.
62195
62196 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62197
62198         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62199         #define __STDC_LIMIT_MACROS temporarily while including
62200         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62201         Problem reported by Joel E. Denny in
62202         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62203
62204 2007-07-01  Bruno Haible  <bruno@clisp.org>
62205
62206         * lib/unistdio.h: New file.
62207         * lib/unistdio/u-asnprintf.h: New file.
62208         * lib/unistdio/u-asprintf.h: New file.
62209         * lib/unistdio/u-printf-args.c: New file.
62210         * lib/unistdio/u-printf-args.h: New file.
62211         * lib/unistdio/u-printf-parse.h: New file.
62212         * lib/unistdio/u-snprintf.h: New file.
62213         * lib/unistdio/u-sprintf.h: New file.
62214         * lib/unistdio/u-vasprintf.h: New file.
62215         * lib/unistdio/u-vsnprintf.h: New file.
62216         * lib/unistdio/u-vsprintf.h: New file.
62217         * lib/unistdio/ulc-asnprintf.c: New file.
62218         * lib/unistdio/ulc-asprintf.c: New file.
62219         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62220         * lib/unistdio/ulc-printf-parse.c: New file.
62221         * lib/unistdio/ulc-snprintf.c: New file.
62222         * lib/unistdio/ulc-sprintf.c: New file.
62223         * lib/unistdio/ulc-vasnprintf.c: New file.
62224         * lib/unistdio/ulc-vasprintf.c: New file.
62225         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62226         * lib/unistdio/ulc-vsnprintf.c: New file.
62227         * lib/unistdio/ulc-vsprintf.c: New file.
62228         * lib/unistdio/u8-asnprintf.c: New file.
62229         * lib/unistdio/u8-asprintf.c: New file.
62230         * lib/unistdio/u8-printf-parse.c: New file.
62231         * lib/unistdio/u8-snprintf.c: New file.
62232         * lib/unistdio/u8-sprintf.c: New file.
62233         * lib/unistdio/u8-vasnprintf.c: New file.
62234         * lib/unistdio/u8-vasprintf.c: New file.
62235         * lib/unistdio/u8-vsnprintf.c: New file.
62236         * lib/unistdio/u8-vsprintf.c: New file.
62237         * lib/unistdio/u8-u8-asnprintf.c: New file.
62238         * lib/unistdio/u8-u8-asprintf.c: New file.
62239         * lib/unistdio/u8-u8-snprintf.c: New file.
62240         * lib/unistdio/u8-u8-sprintf.c: New file.
62241         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62242         * lib/unistdio/u8-u8-vasprintf.c: New file.
62243         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62244         * lib/unistdio/u8-u8-vsprintf.c: New file.
62245         * lib/unistdio/u16-asnprintf.c: New file.
62246         * lib/unistdio/u16-asprintf.c: New file.
62247         * lib/unistdio/u16-printf-parse.c: New file.
62248         * lib/unistdio/u16-snprintf.c: New file.
62249         * lib/unistdio/u16-sprintf.c: New file.
62250         * lib/unistdio/u16-vasnprintf.c: New file.
62251         * lib/unistdio/u16-vasprintf.c: New file.
62252         * lib/unistdio/u16-vsnprintf.c: New file.
62253         * lib/unistdio/u16-vsprintf.c: New file.
62254         * lib/unistdio/u16-u16-asnprintf.c: New file.
62255         * lib/unistdio/u16-u16-asprintf.c: New file.
62256         * lib/unistdio/u16-u16-snprintf.c: New file.
62257         * lib/unistdio/u16-u16-sprintf.c: New file.
62258         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62259         * lib/unistdio/u16-u16-vasprintf.c: New file.
62260         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62261         * lib/unistdio/u16-u16-vsprintf.c: New file.
62262         * lib/unistdio/u32-asnprintf.c: New file.
62263         * lib/unistdio/u32-asprintf.c: New file.
62264         * lib/unistdio/u32-printf-parse.c: New file.
62265         * lib/unistdio/u32-snprintf.c: New file.
62266         * lib/unistdio/u32-sprintf.c: New file.
62267         * lib/unistdio/u32-vasnprintf.c: New file.
62268         * lib/unistdio/u32-vasprintf.c: New file.
62269         * lib/unistdio/u32-vsnprintf.c: New file.
62270         * lib/unistdio/u32-vsprintf.c: New file.
62271         * lib/unistdio/u32-u32-asnprintf.c: New file.
62272         * lib/unistdio/u32-u32-asprintf.c: New file.
62273         * lib/unistdio/u32-u32-snprintf.c: New file.
62274         * lib/unistdio/u32-u32-sprintf.c: New file.
62275         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62276         * lib/unistdio/u32-u32-vasprintf.c: New file.
62277         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62278         * lib/unistdio/u32-u32-vsprintf.c: New file.
62279         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62280         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62281         * tests/unistdio/test-ulc-printf1.h: New file.
62282         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62283         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62284         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62285         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62286         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62287         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62288         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62289         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62290         * tests/unistdio/test-u8-asnprintf1.c: New file.
62291         * tests/unistdio/test-u8-asnprintf1.h: New file.
62292         * tests/unistdio/test-u8-printf1.h: New file.
62293         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62294         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62295         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62296         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62297         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62298         * tests/unistdio/test-u8-vasprintf1.c: New file.
62299         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62300         * tests/unistdio/test-u8-vsprintf1.c: New file.
62301         * tests/unistdio/test-u16-asnprintf1.c: New file.
62302         * tests/unistdio/test-u16-asnprintf1.h: New file.
62303         * tests/unistdio/test-u16-printf1.h: New file.
62304         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62305         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62306         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62307         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62308         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62309         * tests/unistdio/test-u16-vasprintf1.c: New file.
62310         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62311         * tests/unistdio/test-u16-vsprintf1.c: New file.
62312         * tests/unistdio/test-u32-asnprintf1.c: New file.
62313         * tests/unistdio/test-u32-asnprintf1.h: New file.
62314         * tests/unistdio/test-u32-printf1.h: New file.
62315         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62316         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62317         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62318         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62319         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62320         * tests/unistdio/test-u32-vasprintf1.c: New file.
62321         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62322         * tests/unistdio/test-u32-vsprintf1.c: New file.
62323         * modules/unistdio/base: New file.
62324         * modules/unistdio/u-printf-args: New file.
62325         * modules/unistdio/ulc-asnprintf: New file.
62326         * modules/unistdio/ulc-asprintf: New file.
62327         * modules/unistdio/ulc-fprintf: New file.
62328         * modules/unistdio/ulc-printf-parse: New file.
62329         * modules/unistdio/ulc-snprintf: New file.
62330         * modules/unistdio/ulc-sprintf: New file.
62331         * modules/unistdio/ulc-vasnprintf: New file.
62332         * modules/unistdio/ulc-vasprintf: New file.
62333         * modules/unistdio/ulc-vfprintf: New file.
62334         * modules/unistdio/ulc-vsnprintf: New file.
62335         * modules/unistdio/ulc-vsprintf: New file.
62336         * modules/unistdio/u8-asnprintf: New file.
62337         * modules/unistdio/u8-asprintf: New file.
62338         * modules/unistdio/u8-printf-parse: New file.
62339         * modules/unistdio/u8-snprintf: New file.
62340         * modules/unistdio/u8-sprintf: New file.
62341         * modules/unistdio/u8-vasnprintf: New file.
62342         * modules/unistdio/u8-vasprintf: New file.
62343         * modules/unistdio/u8-vsnprintf: New file.
62344         * modules/unistdio/u8-vsprintf: New file.
62345         * modules/unistdio/u8-u8-asnprintf: New file.
62346         * modules/unistdio/u8-u8-asprintf: New file.
62347         * modules/unistdio/u8-u8-snprintf: New file.
62348         * modules/unistdio/u8-u8-sprintf: New file.
62349         * modules/unistdio/u8-u8-vasnprintf: New file.
62350         * modules/unistdio/u8-u8-vasprintf: New file.
62351         * modules/unistdio/u8-u8-vsnprintf: New file.
62352         * modules/unistdio/u8-u8-vsprintf: New file.
62353         * modules/unistdio/u16-asnprintf: New file.
62354         * modules/unistdio/u16-asprintf: New file.
62355         * modules/unistdio/u16-printf-parse: New file.
62356         * modules/unistdio/u16-snprintf: New file.
62357         * modules/unistdio/u16-sprintf: New file.
62358         * modules/unistdio/u16-vasnprintf: New file.
62359         * modules/unistdio/u16-vasprintf: New file.
62360         * modules/unistdio/u16-vsnprintf: New file.
62361         * modules/unistdio/u16-vsprintf: New file.
62362         * modules/unistdio/u16-u16-asnprintf: New file.
62363         * modules/unistdio/u16-u16-asprintf: New file.
62364         * modules/unistdio/u16-u16-snprintf: New file.
62365         * modules/unistdio/u16-u16-sprintf: New file.
62366         * modules/unistdio/u16-u16-vasnprintf: New file.
62367         * modules/unistdio/u16-u16-vasprintf: New file.
62368         * modules/unistdio/u16-u16-vsnprintf: New file.
62369         * modules/unistdio/u16-u16-vsprintf: New file.
62370         * modules/unistdio/u32-asnprintf: New file.
62371         * modules/unistdio/u32-asprintf: New file.
62372         * modules/unistdio/u32-printf-parse: New file.
62373         * modules/unistdio/u32-snprintf: New file.
62374         * modules/unistdio/u32-sprintf: New file.
62375         * modules/unistdio/u32-vasnprintf: New file.
62376         * modules/unistdio/u32-vasprintf: New file.
62377         * modules/unistdio/u32-vsnprintf: New file.
62378         * modules/unistdio/u32-vsprintf: New file.
62379         * modules/unistdio/u32-u32-asnprintf: New file.
62380         * modules/unistdio/u32-u32-asprintf: New file.
62381         * modules/unistdio/u32-u32-snprintf: New file.
62382         * modules/unistdio/u32-u32-sprintf: New file.
62383         * modules/unistdio/u32-u32-vasnprintf: New file.
62384         * modules/unistdio/u32-u32-vasprintf: New file.
62385         * modules/unistdio/u32-u32-vsnprintf: New file.
62386         * modules/unistdio/u32-u32-vsprintf: New file.
62387         * modules/unistdio/ulc-asnprintf-tests: New file.
62388         * modules/unistdio/ulc-vasnprintf-tests: New file.
62389         * modules/unistdio/ulc-vasprintf-tests: New file.
62390         * modules/unistdio/ulc-vsnprintf-tests: New file.
62391         * modules/unistdio/ulc-vsprintf-tests: New file.
62392         * modules/unistdio/u8-asnprintf-tests: New file.
62393         * modules/unistdio/u8-vasnprintf-tests: New file.
62394         * modules/unistdio/u8-vasprintf-tests: New file.
62395         * modules/unistdio/u8-vsnprintf-tests: New file.
62396         * modules/unistdio/u8-vsprintf-tests: New file.
62397         * modules/unistdio/u16-asnprintf-tests: New file.
62398         * modules/unistdio/u16-vasnprintf-tests: New file.
62399         * modules/unistdio/u16-vasprintf-tests: New file.
62400         * modules/unistdio/u16-vsnprintf-tests: New file.
62401         * modules/unistdio/u16-vsprintf-tests: New file.
62402         * modules/unistdio/u32-asnprintf-tests: New file.
62403         * modules/unistdio/u32-vasnprintf-tests: New file.
62404         * modules/unistdio/u32-vasprintf-tests: New file.
62405         * modules/unistdio/u32-vsnprintf-tests: New file.
62406         * modules/unistdio/u32-vsprintf-tests: New file.
62407         * MODULES.html.sh (Unicode string functions): Add the new modules.
62408
62409 2007-07-01  Bruno Haible  <bruno@clisp.org>
62410
62411         * lib/sprintf.c (sprintf): Limit the available length estimation,
62412         to avoid address wraparound.
62413         * lib/vsprintf.c (vsprintf): Likewise.
62414         * modules/sprintf-posix (Dependencies): Add stdint.
62415         * modules/vsprintf-posix (Dependencies): Likewise.
62416
62417 2007-07-01  Bruno Haible  <bruno@clisp.org>
62418
62419         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62420         Windows PATH as well. Conservative double-quoting. Comments.
62421
62422 2007-07-01  Bruno Haible  <bruno@clisp.org>
62423             Eric Blake  <ebb9@byu.net>
62424             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62425
62426         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62427         empty components in $PATH, denoting '.'.
62428
62429 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62430
62431         * gnulib-tool: Fix indentation.
62432         (func_create_megatestdir): Likewise.
62433         Report by Bruno Haible.
62434
62435 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62436
62437         Sync from Automake.
62438         * build-aux/gnupload: Fix shell portability issues with for loops.
62439         Report by Karl Berry.
62440
62441 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62442
62443         * build-aux/maint.mk (POURL): Use translationproject.org.
62444
62445 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62446             Bruno Haible  <bruno@clisp.org>
62447
62448         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62449         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62450         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62451         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62452         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62453
62454 2007-06-27  Bruno Haible  <bruno@clisp.org>
62455
62456         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62457         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62458
62459 2007-06-26  Karl Berry  <karl@gnu.org>
62460
62461         * MODULES.html.sh: remove xreadlink-with-size.
62462
62463 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62464
62465         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62466         method that I hope also handles the double-include problem noted
62467         by Bruno Haible in
62468         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62469
62470 2007-06-23  Bruno Haible  <bruno@clisp.org>
62471
62472         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62473         Don't let the 'mostlyclean' target fail if the last subdirectory could
62474         not be removed.
62475         Reported by Karl Berry.
62476
62477 2007-06-23  Bruno Haible  <bruno@clisp.org>
62478
62479         * gnulib-tool (echo): Add a speedier workaround for ksh.
62480         * tests/test-echo.sh: Likewise.
62481
62482 2007-06-23  Bruno Haible  <bruno@clisp.org>
62483
62484         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62485         * tests/test-echo.sh: Likewise.
62486
62487 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62488
62489         * gnulib-tool (IFS): Initialize early, so we don't set it to
62490         empty later.
62491         (self_abspathname): Rewrite algorithm to set it, reindent.
62492         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62493         (func_create_megatestdir): Merge some sed scripts.
62494
62495 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62496
62497         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62498         exposed by Sun Studio 11 cc on Solaris 8.
62499
62500 2007-06-22  Bruno Haible  <bruno@clisp.org>
62501
62502         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62503         backslashes.
62504         * tests/test-echo.sh: New file.
62505
62506 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62507
62508         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62509         simplify `sed_replace_build_aux' scripts, they are portable but
62510         echoing them with `echo' is not.
62511         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62512
62513 2007-06-21  Karl Berry  <karl@gnu.org>
62514
62515         * config/srclist.txt: guess we can't handle the licenses via
62516         srclist at the moment.
62517
62518 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62519
62520         * MODULES.html.sh: Add include_next.
62521         * modules/include_next: New file.
62522
62523 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62524
62525         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62526         INCLUDE_NEXT.
62527         (gl_CHECK_NEXT_HEADERS): New macro.
62528         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62529         the obsolescent gl_ABSOLUTE_HEADER.
62530         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62531         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62532         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62533         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62534         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62535         * m4/math_h.m4 (gl_MATH_H): Likewise.
62536         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62537         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62538         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62539         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62540         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62541         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62542         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62543         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62544         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62545         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62546         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62547         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62548         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62549         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62550         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62551         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62552         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62553         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62554         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62555         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62556         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62557         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62558         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62559         * lib/float_.h: Likewise.
62560         * lib/inttypes_.h: Likewise.
62561         * lib/math_.h: Likewise.
62562         * lib/search_.h: Likewise.
62563         * lib/signal_.h: Likewise.
62564         * lib/stdint_.h: Likewise.
62565         * lib/stdio_.h: Likewise.
62566         * lib/stdlib_.h: Likewise.
62567         * lib/string_.h: Likewise.
62568         * lib/sys_stat_.h: Likewise.
62569         * lib/sys_time_.h: Likewise.
62570         * lib/time_.h: Likewise.
62571         * lib/unistd_.h: Likewise.
62572         * lib/wchar_.h: Likewise.
62573         * lib/wctype_.h: Likewise.
62574         * lib/dirent_.h: Likewise.
62575         * lib/iconv_.h: Likewise.
62576         * lib/locale_.h: Likewise.
62577         * lib/netinet_in_.h: Likewise.
62578         * lib/sys_select_.h: Likewise.
62579         * lib/sys_socket_.h: Likewise.
62580         * lib/sysexits_.h: Likewise.
62581         * modules/fcntl (Depends-on): Depend on include_next, not
62582         absolute_header.
62583         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62584         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62585         * modules/fchdir: Likewise.
62586         * modules/float: Likewise.
62587         * modules/iconv_open: Likewise.
62588         * modules/inttypes: Likewise.
62589         * modules/locale: Likewise.
62590         * modules/math: Likewise.
62591         * modules/netinet_in: Likewise.
62592         * modules/search: Likewise.
62593         * modules/signal: Likewise.
62594         * modules/stdint: Likewise.
62595         * modules/stdio: Likewise.
62596         * modules/stdlib: Likewise.
62597         * modules/string: Likewise.
62598         * modules/sys_select: Likewise.
62599         * modules/sys_socket: Likewise.
62600         * modules/sys_stat: Likewise.
62601         * modules/sys_time: Likewise.
62602         * modules/sysexits: Likewise.
62603         * modules/time: Likewise.
62604         * modules/unistd: Likewise.
62605         * modules/wchar: Likewise.
62606         * modules/wctype: Likewise.
62607         * modules/sys_stat: Change maintainer to "all".
62608         * modules/unistd: Likewise.
62609
62610 2007-06-20  Karl Berry  <karl@gnu.org>
62611
62612         * config/srclist.txt: track www changes in license files.
62613
62614 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62615
62616         * build-aux/bootstrap: Remove stray dot.
62617         Make sure build_aux settings are honored when linking
62618         gnulib_extra_files.
62619
62620 2007-06-19  Eric Blake  <ebb9@byu.net>
62621
62622         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62623         Allow compilation on cygwin.
62624
62625 2007-06-19  Jim Meyering  <jim@meyering.net>
62626
62627         xreadlink-with-size: Remove module.  No longer used.
62628         Ex-callers now use xreadlink or mreadlink-with-size.
62629         * modules/xreadlink-with-size: Remove module.
62630         * lib/xreadlink-with-size.c: Remove file.
62631         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62632         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62633         just before the function definition *is* accurate.
62634
62635         Eliminate one way canonicalize_filename_mode could exit.
62636         * lib/canonicalize.c (canonicalize_filename_mode):
62637         Use mreadlink_with_size, not xreadlink_with_size.
62638
62639 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62640
62641         Detect porting problems to FreeBSD/arm, which has time_t wider than
62642         long int.  Original problem reported for GNU diff by Xin Li in
62643         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62644         * modules/getdate (Depends-on): Add intprops, verify.
62645         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62646         is an integer type no wider than long int.
62647
62648 2007-06-18  Jim Meyering  <jim@meyering.net>
62649
62650         New module: mreadlink-with-size.
62651         * MODULES.html.sh: Add mreadlink-with-size.
62652         * modules/mreadlink-with-size: New module
62653         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62654         not xreadlink-with-size.
62655         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62656
62657 2007-06-16  Bruno Haible  <bruno@clisp.org>
62658
62659         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62660         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62661         Reported by Gary V. Vaughan <gary@gnu.org>.
62662
62663 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62664
62665         Revamp lchown so that it lives in unistd.h where it belongs.
62666         * lib/lchown.h: Remove.
62667         * lib/dirchownmod.c: Don't include lib/lchown.h.
62668         * lib/fchownat.c: Likewise.
62669         * lib/openat.c: Likewise.
62670         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62671         does not follow symlinks.
62672         (EOPNOTSUPP): Define if not defined.
62673         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62674         is defined to 0.
62675         (lchown): New decl.
62676         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62677         Do not check for lchown decl.
62678         Set REPLACE_LCHOWN.
62679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62680         REPLACE_LCHOWN.
62681         * modules/chown: Make it clear it follows symlinks.
62682         * modules/lchown: Make it clear it doesn't follow symlinks.
62683         (Files): Remove lib/lchown.h
62684         (Depends-on): Add unistd.
62685         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62686         (Include): Include <unistd.h>, not "lchown.h".
62687         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62688         REPLACE_LCHOWN.
62689
62690 2007-06-15  Jim Meyering  <jim@meyering.net>
62691
62692         Change license (GPL to LGPL) of fsusage and dependents.
62693         * modules/fsusage (License): Change to LGPL.
62694         * modules/full-read (License): Likewise.
62695         * modules/full-write (License): Likewise.
62696         * modules/safe-read (License): Likewise.
62697         * modules/safe-write (License): Likewise.
62698
62699 2007-06-14  Ben Pfaff  <blp@gnu.org>
62700
62701         Missing part of allocsa -> malloca transition.
62702         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62703         gl_MALLOCA.
62704
62705 2007-06-12  Bruno Haible  <bruno@clisp.org>
62706
62707         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62708         to ia64, x86_64, i386.
62709         Reported by Eric Blake.
62710
62711 2007-06-12  Bruno Haible  <bruno@clisp.org>
62712
62713         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62714         cross-compiling to x86_64.
62715
62716 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62717
62718         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62719         glitch reported by Ralf Wildenhues in
62720         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62721
62722         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62723         Vin Shelton.
62724
62725 2007-06-11  Bruno Haible  <bruno@clisp.org>
62726
62727         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62728         replacement string.
62729         Reported by Eric Blake.
62730
62731 2007-06-10  Bruno Haible  <bruno@clisp.org>
62732
62733         Prepare vasnprintf code for use with Unicode strings.
62734         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62735         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62736         TYPE_U32_STRING.
62737         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62738         a_u32_string variants.
62739         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62740         * lib/printf-args.c: Don't include config.h and the specification
62741         header if PRINTF_FETCHARGS is already defined.
62742         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62743         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62744         TYPE_U16_STRING, TYPE_U32_STRING.
62745         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62746         u16_directive, u16_directives, u32_directive, u32_directives): New
62747         types.
62748         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62749         New declarations.
62750         * lib/printf-parse.c: Don't include config.h and the specification
62751         header if PRINTF_PARSE is already defined. Eliminate the set of
62752         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62753         them now. Include c-ctype.h.
62754         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62755         directive and CHAR_T_ONLY_ASCII.
62756         * lib/vasnprintf.c: Don't include config.h and the specification header
62757         if VASNPRINTF is already defined.
62758         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62759         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62760         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62761         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62762         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62763         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62764         code accordingly.
62765         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62766         pad_ourselves also in this case, with the 'c' and 's' directives, and
62767         with a different notion of "width".
62768         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62769
62770 2007-06-10  Bruno Haible  <bruno@clisp.org>
62771
62772         * modules/unistr/u32-mbsnlen: New file.
62773         * lib/unistr/u32-mbsnlen.c: New file.
62774
62775         * modules/unistr/u16-mbsnlen: New file.
62776         * lib/unistr/u16-mbsnlen.c: New file.
62777
62778         * modules/unistr/u8-mbsnlen: New file.
62779         * lib/unistr/u8-mbsnlen.c: New file.
62780
62781         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62782         declarations.
62783
62784 2007-06-10  Bruno Haible  <bruno@clisp.org>
62785
62786         * lib/string_.h (mbsnlen): New declaration.
62787         * lib/mbsnlen.c: New file.
62788         * m4/mbsnlen.m4: New file.
62789         * modules/mbsnlen: New file.
62790         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62791         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62792         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62793
62794 2007-06-10  Bruno Haible  <bruno@clisp.org>
62795
62796         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62797
62798 2007-06-10  Bruno Haible  <bruno@clisp.org>
62799
62800         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
62801         * lib/mbuiter.h: Likewise.
62802
62803 2007-06-10  Bruno Haible  <bruno@clisp.org>
62804
62805         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
62806         declaration.
62807
62808 2007-06-10  Karl Berry  <karl@gnu.org>
62809
62810         * config/srclist.txt: remove gettext entries, Bruno prefers
62811         to update individually.
62812
62813 2007-06-10  Bruno Haible  <bruno@clisp.org>
62814
62815         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62816         'maxlen'. Ensure only length + width bytes are allocated, not
62817         length + 1 + width.
62818
62819 2007-06-09  Bruno Haible  <bruno@clisp.org>
62820
62821         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62822         (CHAR_T): Remove macro.
62823         (VASNPRINTF): Update.
62824
62825 2007-06-09  Bruno Haible  <bruno@clisp.org>
62826
62827         * MODULES.html.sh (Unicode string functions): Add the new modules.
62828
62829         * modules/uniconv/u32-conv-to-enc: New file.
62830         * lib/uniconv/u32-conv-to-enc.c: New file.
62831         * modules/uniconv/u32-conv-to-enc-tests: New file.
62832         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62833
62834         * modules/uniconv/u16-conv-to-enc: New file.
62835         * lib/uniconv/u16-conv-to-enc.c: New file.
62836         * lib/uniconv/u-conv-to-enc.h: New file.
62837         * modules/uniconv/u16-conv-to-enc-tests: New file.
62838         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62839
62840         * modules/uniconv/u8-conv-to-enc: New file.
62841         * lib/uniconv/u8-conv-to-enc.c: New file.
62842         * modules/uniconv/u8-conv-to-enc-tests: New file.
62843         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62844
62845         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62846         u32_conv_to_encoding): New declarations.
62847
62848 2007-06-09  Bruno Haible  <bruno@clisp.org>
62849
62850         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62851
62852 2007-06-09  Bruno Haible  <bruno@clisp.org>
62853
62854         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62855         * modules/malloca: Renamed from modules/allocsa, updated.
62856         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62857         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62858         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62859         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62860         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62861         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62862         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62863         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62864         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62865         * modules/c-strcasestr (Depends-on): Update.
62866         * lib/c-strcasestr.c: Update.
62867         * modules/c-strstr (Depends-on): Update.
62868         * lib/c-strstr.c: Update.
62869         * modules/canonicalize-lgpl (Depends-on): Update.
62870         * lib/canonicalize-lgpl.c: Update.
62871         * modules/clean-temp (Depends-on): Update.
62872         * lib/clean-temp.c: Update.
62873         * modules/csharpcomp (Depends-on): Update.
62874         * lib/csharpcomp.c: Update.
62875         * modules/csharpexec (Depends-on): Update.
62876         * lib/csharpexec.c: Update.
62877         * modules/javacomp (Depends-on): Update.
62878         * lib/javacomp.c: Update.
62879         * modules/javaexec (Depends-on): Update.
62880         * lib/javaexec.c: Update.
62881         * modules/mbscasestr (Depends-on): Update.
62882         * lib/mbscasestr.c: Update.
62883         * modules/mbsstr (Depends-on): Update.
62884         * lib/mbsstr.c: Update.
62885         * modules/setenv (Depends-on): Update.
62886         * lib/setenv.c: Update.
62887         * modules/strcasestr (Depends-on): Update.
62888         * lib/strcasestr.c: Update.
62889         * modules/striconveha (Depends-on): Update.
62890         * lib/striconveha.c: Update.
62891         * modules/relocatable-prog-wrapper (Files): Update.
62892         * lib/relocwrapper.c: Update.
62893         * build-aux/install-reloc: Update.
62894         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62895
62896 2007-06-08  Bruno Haible  <bruno@clisp.org>
62897
62898         Port to uClibc.
62899         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62900         * lib/fpurge.c (fpurge): Likewise.
62901         * lib/freading.c (freading): Likewise.
62902         * lib/fseeko.c (rpl_fseeko): Likewise.
62903         * lib/fseterr.c (fseterr): Likewise.
62904         * lib/fwriting.c (fwriting): Likewise.
62905         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62906
62907 2007-06-08  Bruno Haible  <bruno@clisp.org>
62908
62909         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62910         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62911         * modules/gettext (Files): Add m4/intlmacosx.m4.
62912
62913 2007-06-07  Bruno Haible  <bruno@clisp.org>
62914
62915         * modules/localename-tests: New file.
62916         * tests/test-localename.c: New file.
62917
62918         New module 'localename'.
62919         * lib/localename.h: New file.
62920         * lib/localename.c: New file, from GNU gettext.
62921         * m4/localename.m4: New file.
62922         * modules/localename: New file.
62923
62924 2007-06-07  Bruno Haible  <bruno@clisp.org>
62925
62926         Work around the lack of <wchar.h> on some builds of uClibc.
62927         * doc/headers/wchar.texi: Update.
62928         * lib/wchar_.h: Include <wchar.h> only if it exists.
62929         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
62930         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
62931         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
62932         doesn't exist.
62933         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
62934         * modules/mbfile (Depends-on): Add wchar.
62935         * modules/mbiter (Depends-on): Likewise.
62936         * modules/mbuiter (Depends-on): Likewise.
62937         Reported by Simon Josefsson.
62938
62939 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
62940
62941         Work around problem reported by Steven M. Schweda in
62942         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
62943         Tru64 5.1B with the Compaq compiler environment installed declares
62944         an 'isblank' function but does not define it in the C library.
62945         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
62946         * lib/regex_internal.h (isblank): Likewise.
62947         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
62948         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62949
62950 2007-06-05  Bruno Haible  <bruno@clisp.org>
62951
62952         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
62953         ia64.
62954         * modules/printf-safe: New file.
62955         * modules/fprintf-posix (Depends-on): Add printf-safe.
62956         * modules/printf-posix (Depends-on): Likewise.
62957         * modules/snprintf-posix (Depends-on): Likewise.
62958         * modules/sprintf-posix (Depends-on): Likewise.
62959         * modules/vasnprintf-posix (Depends-on): Likewise.
62960         * modules/vasprintf-posix (Depends-on): Likewise.
62961         * modules/vfprintf-posix (Depends-on): Likewise.
62962         * modules/vprintf-posix (Depends-on): Likewise.
62963         * modules/vsnprintf-posix (Depends-on): Likewise.
62964         * modules/vsprintf-posix (Depends-on): Likewise.
62965         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
62966         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
62967         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
62968         "no" on i386, x86_64, ia64.
62969         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
62970         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62971         on i386, x86_64, ia64.
62972         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
62973         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62974         on i386, x86_64, ia64.
62975         * tests/test-vasnprintf-posix.c: Include float.h.
62976         (LDBL80_WORDS): New macro.
62977         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62978         on i386, x86_64, ia64.
62979         * tests/test-vasprintf-posix.c: Include float.h.
62980         (LDBL80_WORDS): New macro.
62981         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62982         on i386, x86_64, ia64.
62983         * tests/test-snprintf-posix.c: Include float.h.
62984         * tests/test-sprintf-posix.c: Likewise.
62985         * tests/test-vsnprintf-posix.c: Likewise.
62986         * tests/test-vsprintf-posix.c: Likewise.
62987
62988 2007-06-05  Bruno Haible  <bruno@clisp.org>
62989
62990         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
62991         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
62992         non-IEEE numbers on i386, x86_64, ia64.
62993         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
62994         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
62995         * tests/test-isnanl.h: Include float.h.
62996         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
62997
62998 2007-06-05  Bruno Haible  <bruno@clisp.org>
62999
63000         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63001         also the %a / %A. Handle the %a / %A code before this extra handling.
63002
63003 2007-06-05  Bruno Haible  <bruno@clisp.org>
63004
63005         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63006         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63007
63008 2007-06-05  Bruno Haible  <bruno@clisp.org>
63009
63010         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63011         typo in variable name.
63012
63013 2007-06-05  Eric Blake  <ebb9@byu.net>
63014
63015         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63016         Reported by Simon Josefsson.
63017
63018 2007-06-04  Bruno Haible  <bruno@clisp.org>
63019
63020         Avoid test failures on some PowerPC platforms.
63021         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63022         Define differently for PowerPC.
63023         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63024         Reported by Gary V. Vaughan <gary@gnu.org>.
63025
63026 2007-06-02  Bruno Haible  <bruno@clisp.org>
63027
63028         Fix test-stdint failure on FreeBSD/ia64.
63029         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63030         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63031         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63032         * doc/headers/stdint.texi: Update.
63033
63034 2007-06-01  Bruno Haible  <bruno@clisp.org>
63035
63036         * tests/test-binary-io.c (main): Pass a third argument to open().
63037         Reported by Gary V. Vaughan <gary@gnu.org>.
63038
63039 2007-06-01  Bruno Haible  <bruno@clisp.org>
63040
63041         * doc/functions/frexpl.texi: Update for mingw.
63042
63043 2007-06-01  Bruno Haible  <bruno@clisp.org>
63044
63045         * tests/test-lseek.c (main): Disable test of errno for invalid third
63046         argument.
63047         * doc/functions/lseek.texi: Update.
63048         Reported by Gary V. Vaughan <gary@gnu.org>.
63049
63050 2007-05-28  Bruno Haible  <bruno@clisp.org>
63051
63052         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63053
63054 2007-05-31  Eric Blake  <ebb9@byu.net>
63055
63056         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63057         cross compiling.
63058
63059 2007-05-30  Eric Blake  <ebb9@byu.net>
63060         and Bruno Haible  <bruno@clisp.org>
63061
63062         Work around mingw test failures exposed by m4-1.4.9b.
63063         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63064         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63065         moment.
63066
63067 2007-05-30  Bruno Haible  <bruno@clisp.org>
63068
63069         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63070         assuming that they are closed. Needed on HP-UX 11.
63071
63072 2007-05-29  Bruno Haible  <bruno@clisp.org>
63073
63074         Fix a problem with #include_next.
63075         * lib/dirent_.h: Split the double-inclusion guard.
63076         * lib/fcntl_.h: Likewise.
63077         * lib/float_.h: Likewise.
63078         * lib/iconv_.h: Likewise.
63079         * lib/inttypes_.h: Likewise.
63080         * lib/locale_.h: Likewise.
63081         * lib/math_.h: Likewise.
63082         * lib/netinet_in_.h: Likewise.
63083         * lib/search_.h: Likewise.
63084         * lib/signal_.h: Likewise.
63085         * lib/stdint_.h: Likewise.
63086         * lib/stdio_.h: Likewise.
63087         * lib/stdlib_.h: Likewise.
63088         * lib/string_.h: Likewise.
63089         * lib/sys_select_.h: Likewise.
63090         * lib/sys_socket_.h: Likewise.
63091         * lib/sys_stat_.h: Likewise.
63092         * lib/sys_time_.h: Likewise.
63093         * lib/sysexits_.h: Likewise.
63094         * lib/time_.h: Likewise.
63095         * lib/unistd_.h: Likewise.
63096         * lib/wchar_.h: Likewise.
63097         * lib/wctype_.h: Likewise.
63098
63099 2007-05-29  Bruno Haible  <bruno@clisp.org>
63100
63101         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63102         for the moment.
63103
63104 2007-05-29  Bruno Haible  <bruno@clisp.org>
63105
63106         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63107         invocation.
63108         Reported by Eric Blake.
63109
63110 2007-05-29  Bruno Haible  <bruno@clisp.org>
63111
63112         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63113         compiling case.
63114
63115 2007-05-29  Eric Blake  <ebb9@byu.net>
63116             Bruno Haible  <bruno@clisp.org>
63117
63118         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63119         cross compiles.
63120
63121 2007-05-28  Eric Blake  <ebb9@byu.net>
63122
63123         * modules/closein-tests (test_closein_LDADD): Support test on
63124         cygwin with libtool.
63125
63126 2007-05-28  Bruno Haible  <bruno@clisp.org>
63127
63128         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63129         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63130         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63131         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63132         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63133         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63134         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63135         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63136         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63137
63138 2007-05-28  Eric Blake  <ebb9@byu.net>
63139
63140         Unconditionally include <config.h> in unit tests.
63141         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63142         * tests/test-allocsa.c, tests/test-arcfour.c,
63143         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63144         tests/test-array_list.c, tests/test-array_oset.c,
63145         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63146         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63147         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63148         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63149         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63150         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63151         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63152         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63153         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63154         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63155         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63156         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63157         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63158         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63159         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63160         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63161         test-md5.c, test-memmem.c, test-printf-posix.c,
63162         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63163         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63164         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63165         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63166         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63167         test-vasnprintf-posix2.c, test-vasnprintf.c,
63168         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63169         test-vfprintf-posix.c, test-vprintf-posix.c,
63170         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63171         test-xvasprintf.c: Likewise.
63172
63173 2007-05-28  Bruno Haible  <bruno@clisp.org>
63174
63175         * gnulib-tool (func_import): Remember the --with-tests command-line
63176         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63177         Reported by Eric Blake.
63178
63179 2007-05-28  Bruno Haible  <bruno@clisp.org>
63180
63181         * modules/ftell-tests: New file.
63182         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63183         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63184
63185         * lib/ftell.c: New file.
63186         * modules/ftell: New file.
63187         * m4/ftell.m4: New file.
63188         * doc/functions/ftell.texi: Update.
63189         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63190         REPLACE_FTELL.
63191         * lib/stdio_.h (rpl_ftell): New declaration.
63192         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63193         REPLACE_FTELL.
63194
63195 2007-05-28  Eric Blake  <ebb9@byu.net>
63196
63197         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63198
63199 2007-05-28  Bruno Haible  <bruno@clisp.org>
63200
63201         * modules/fseek-tests: New file.
63202         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63203         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63204
63205         * lib/fseek.c: New file.
63206         * modules/fseek: New file.
63207         * m4/fseek.m4: New file.
63208         * doc/functions/fseek.texi: Update.
63209         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63210         REPLACE_FSEEK.
63211         * lib/stdio_.h (rpl_fseek): New declaration.
63212         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63213         REPLACE_FSEEK.
63214
63215 2007-05-28  Bruno Haible  <bruno@clisp.org>
63216
63217         * lib/stdio_.h (fflush): More comments.
63218
63219 2007-05-28  Bruno Haible  <bruno@clisp.org>
63220
63221         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63222         runtime test.
63223
63224 2007-05-28  Eric Blake  <ebb9@byu.net>
63225
63226         Improve lseek module.
63227         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63228         * lib/unistd_.h (lseek): Scale back link warning message.
63229         * tests/test-lseek.c: Beef up test.
63230         * tests/test-lseek.sh: Exercise more facets of lseek.
63231         Reported by Bruno Haible.
63232
63233 2007-05-28  Bruno Haible  <bruno@clisp.org>
63234
63235         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63236         to define.
63237
63238 2007-05-27  Bruno Haible  <bruno@clisp.org>
63239
63240         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63241
63242 2007-05-27  Bruno Haible  <bruno@clisp.org>
63243
63244         * modules/openmp: New file.
63245         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63246         Noah Misch.
63247
63248 2007-05-26  Bruno Haible  <bruno@clisp.org>
63249
63250         * modules/chdir-long (Depends-on): Add fchdir.
63251         * modules/chdir-safer (Depends-on): Likewise.
63252         * modules/fts (Depends-on): Likewise.
63253         * modules/fts-lgpl (Depends-on): Likewise.
63254         * modules/openat (Depends-on): Likewise.
63255         * modules/savewd (Depends-on): Likewise.
63256
63257 2007-05-24  Eric Blake  <ebb9@byu.net>
63258
63259         Fix lseek on mingw.
63260         * modules/lseek: New module.
63261         * m4/lseek.m4: New file.
63262         * lib/lseek.c: New file.
63263         * modules/lseek-tests: New file.
63264         * tests/test-lseek.c: New file.
63265         * tests/test-lseek.sh: New file.
63266         * MODULES.html.sh: Document lseek module.
63267         * modules/fflush (Depends-on): Add lseek, fseeko.
63268         * modules/fseeko (Depends-on): Likewise.
63269         * modules/ftello (Depends-on): Likewise.
63270         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63271         broken.
63272         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63273         broken.
63274         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63275         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63276         * lib/ftello.c (rpl_ftello): Likewise.
63277         * tests/test-fseeko.c (main): Test this.
63278         * tests/test-fseeko.sh: Likewise.
63279         * tests/test-ftello.c (main): Likewise.
63280         * tests/test-ftello.sh: Likewise.
63281         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63282         implies replacing fseek.
63283         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63284         HAVE_FTELLO.
63285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63286         * modules/unistd (Makefile.am): Likewise.
63287         * lib/unistd_.h (lseek): Declare a replacement.
63288         * doc/functions/lseek.texi (lseek): Document this fix.
63289         * doc/functions/fseek.texi (fseek): Likewise.
63290         * doc/functions/ftell.texi (ftell): Likewise.
63291
63292 2007-05-24  Bruno Haible  <bruno@clisp.org>
63293
63294         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63295         in the printed representation of a NaN.
63296         * tests/test-vasprintf-posix.c (test_function): Likewise.
63297         * tests/test-snprintf-posix.h (test_function): Likewise.
63298         * tests/test-sprintf-posix.h (test_function): Likewise.
63299         Reported by Eric Blake.
63300
63301 2007-05-23  Eric Blake  <ebb9@byu.net>
63302
63303         Fix fseeko/ftello on cygwin 1.5.24.
63304         * doc/functions/fseeko.texi (fseeko): Document the fix.
63305         * doc/functions/ftello.texi (ftello): Document the fix.
63306         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63307         * doc/functions/stdout.text (stdout): New file.
63308         * doc/functions/stderr.text (stderr): New file.
63309         * doc/gnulib.texi (Function Substitutes): Use new files.
63310         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63311         prior to 1.7.0.
63312         * tests/test-ftello.c (main): Likewise for ftello.
63313         * tests/test-fseeko.sh: New file.
63314         * tests/test-ftello.sh: New file.
63315         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63316         with seekable stdin.
63317         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63318         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63319         (gl_REPLACE_FSEEKO): New macro.
63320         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63321         * modules/fseeko (Files): Distribute fseeko.c.
63322         * modules/ftello (Files): Distribute ftello.c.
63323         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63324         mode.
63325         * lib/ftello.c (rpl_ftello): New file.
63326         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63327         fseeko, ftello.
63328         (gl_STDIN_LARGE_OFFSET): New macro.
63329         * modules/stdio (Makefile.am): Perform the replacement.
63330         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63331
63332 2007-05-23  Bruno Haible  <bruno@clisp.org>
63333
63334         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63335         GNULIB_POSIXCHECK is defined.
63336
63337 2007-05-21  Bruno Haible  <bruno@clisp.org>
63338
63339         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63340         Check also the output for NaN arguments. When cross-compiling, guess
63341         no on IRIX.
63342         * lib/vasnprintf.c: Update comments.
63343         * tests/test-vasnprintf-posix.c (strisnan): New function.
63344         (test_function): Use it.
63345         * tests/test-vasprintf-posix.c (strisnan): New function.
63346         (test_function): Use it.
63347         * tests/test-snprintf-posix.h (strisnan): New function.
63348         (test_function): Use it.
63349         * tests/test-sprintf-posix.h (strisnan): New function.
63350         (test_function): Use it.
63351         Reported by Eric Blake.
63352
63353 2007-05-20  Bruno Haible  <bruno@clisp.org>
63354
63355         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63356         numbers that fails on BeOS.
63357         * doc/functions/frexpl.texi: Update.
63358
63359 2007-05-20  Jim Meyering  <jim@meyering.net>
63360
63361         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63362         forced upon us by glibc-2.6.
63363
63364 2007-05-20  Bruno Haible  <bruno@clisp.org>
63365
63366         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63367         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63368         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63369         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63370         NEED_PRINTF_INFINITE.
63371         (is_infinitel): New function.
63372         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63374         gl_PREREQ_VASNPRINTF_INFINITE.
63375         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63376         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63377         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63378         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63379         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63380         gl_PREREQ_VASNPRINTF_INFINITE.
63381         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63382         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63383         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63384         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63385         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63386         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63387         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63388         * doc/functions/fprintf.texi: Update.
63389         * doc/functions/printf.texi: Update.
63390         * doc/functions/snprintf.texi: Update.
63391         * doc/functions/sprintf.texi: Update.
63392         * doc/functions/vfprintf.texi: Update.
63393         * doc/functions/vprintf.texi: Update.
63394         * doc/functions/vsnprintf.texi: Update.
63395         * doc/functions/vsprintf.texi: Update.
63396
63397 2007-05-20  Bruno Haible  <bruno@clisp.org>
63398
63399         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63400         was not found in libc.
63401         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63402
63403 2007-05-20  Bruno Haible  <bruno@clisp.org>
63404
63405         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63406         printed as "-nan" instead of "nan".
63407         * tests/test-vasprintf-posix.c (test_function): Likewise.
63408         * tests/test-snprintf-posix.h (test_function): Likewise.
63409         * tests/test-sprintf-posix.h (test_function): Likewise.
63410         Needed for HP-UX 11.
63411
63412 2007-05-20  Jim Meyering  <jim@meyering.net>
63413
63414         Fix buggy test for the fchownat-deref bug.
63415         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63416         symlink required for the run-test.  Without it, this test would
63417         always declare that fchownat doesn't work, and client code would
63418         unnecessarily use the replacement function with fixed libc.
63419         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63420         Reported by Greg Schafer.
63421
63422 2007-05-19  Bruno Haible  <bruno@clisp.org>
63423
63424         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63425         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63426         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63427         Needed for IRIX 6.5 and Solaris 2.5.1.
63428
63429 2007-05-19  Bruno Haible  <bruno@clisp.org>
63430
63431         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63432         (test_function): Skip tests involving -0.0 on platforms where
63433         -0.0 = 0.0.
63434         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63435         (test_function): Skip tests involving -0.0 on platforms where
63436         -0.0 = 0.0.
63437         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63438         (test_function): Skip tests involving -0.0 on platforms where
63439         -0.0 = 0.0.
63440         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63441         (test_function): Skip tests involving -0.0 on platforms where
63442         -0.0 = 0.0.
63443         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63444         tests.
63445         * tests/test-printf-posix.h (test_function): Likewise.
63446         * tests/test-printf-posix.output: Remove all -0.0 related results.
63447         Needed for IRIX 6.5.
63448
63449 2007-05-19  Bruno Haible  <bruno@clisp.org>
63450
63451         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63452         printed as "nan0x7fffffff" instead of "nan".
63453         * tests/test-vasprintf-posix.c (test_function): Likewise.
63454         * tests/test-snprintf-posix.h (test_function): Likewise.
63455         * tests/test-sprintf-posix.h (test_function): Likewise.
63456         * tests/test-fprintf-posix.h (NaN): Remove macro.
63457         (test_function): Remove all NaN related tests.
63458         * tests/test-printf-posix.h (NaN): Remove macro.
63459         (test_function): Remove all NaN related tests.
63460         * tests/test-printf-posix.output: Remove all NaN related results.
63461         Needed for IRIX 6.5.
63462
63463 2007-05-19  Bruno Haible  <bruno@clisp.org>
63464
63465         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63466         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63467
63468 2007-05-19  Bruno Haible  <bruno@clisp.org>
63469
63470         * lib/float_.h: New file.
63471         * m4/float_h.m4: New file.
63472         * modules/float: New file.
63473         * modules/isnanl (Dependencies): Add float.
63474         * modules/isnanl-nolibm (Dependencies): Likewise.
63475         * modules/mathl (Dependencies): Likewise.
63476         * modules/printf-frexpl (Dependencies): Likewise.
63477         * modules/signbit (Dependencies): Likewise.
63478         * modules/vasnprintf (Dependencies): Likewise.
63479         * doc/headers/float.texi: Update.
63480
63481 2007-05-19  Jim Meyering  <jim@meyering.net>
63482
63483         * lib/utimens.c (gl_futimens): Rename from futimens,
63484         now that glibc-2.6 declares futimens.
63485         * lib/utimens.h: Likewise.
63486
63487 2007-05-19  Bruno Haible  <bruno@clisp.org>
63488
63489         Avoid test failures on mingw.
63490         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63491         * tests/test-printf-posix.sh: Likewise.
63492         * tests/test-vfprintf-posix.sh: Likewise.
63493         * tests/test-vprintf-posix.sh: Likewise.
63494
63495 2007-05-19  Bruno Haible  <bruno@clisp.org>
63496
63497         Fix *printf result for NaN, Inf, -0.0 on mingw.
63498         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63499         * lib/vasnprintf.c: Include math.h and isnan.h.
63500         (is_infinite_or_zero): New function.
63501         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63502         values in the %f, %F, %e, %E, %g, %G directives.
63503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63504         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63505         gl_PRINTF_INFINITE and test its result. Invoke
63506         gl_PREREQ_VASNPRINTF_INFINITE.
63507         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63508         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63509         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63510         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63511         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63512         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63513         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63514         * doc/functions/fprintf.texi: Update.
63515         * doc/functions/printf.texi: Update.
63516         * doc/functions/snprintf.texi: Update.
63517         * doc/functions/sprintf.texi: Update.
63518         * doc/functions/vfprintf.texi: Update.
63519         * doc/functions/vprintf.texi: Update.
63520         * doc/functions/vsnprintf.texi: Update.
63521         * doc/functions/vsprintf.texi: Update.
63522
63523 2007-05-19  Bruno Haible  <bruno@clisp.org>
63524
63525         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63526         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63527         Instead of multiplying with 10^k, set extra_zeroes to k.
63528         (scale10_round_long_double): Remove function.
63529
63530 2007-05-18  Bruno Haible  <bruno@clisp.org>
63531
63532         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63533         introduced on 2007-05-06.
63534
63535 2007-05-18  Bruno Haible  <bruno@clisp.org>
63536
63537         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63538         %g directives.
63539         * tests/test-vasprintf-posix.c (test_function): Likewise.
63540         * tests/test-snprintf-posix.h (test_function): Likewise.
63541         * tests/test-sprintf-posix.h (test_function): Likewise.
63542
63543 2007-05-18  Bruno Haible  <bruno@clisp.org>
63544
63545         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63546         (strmatch): New function.
63547         (test_function): Test the %f directive on numbers of various exponents.
63548         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63549         (strmatch): New function.
63550         (test_function): Test the %f directive on numbers of various exponents.
63551         * tests/test-snprintf-posix.h (strmatch): New function.
63552         (test_function): Test the %f directive on numbers of various exponents.
63553         * tests/test-sprintf-posix.h (strmatch): New function.
63554         (test_function): Test the %f directive on numbers of various exponents.
63555         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63556         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63557         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63558         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63559
63560 2007-05-18  Bruno Haible  <bruno@clisp.org>
63561
63562         Add support for 'long double' number output.
63563         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63564         * lib/vasnprintf.c: Include math.h and float+.h.
63565         (mp_limb_t): New type.
63566         (GMP_LIMB_BITS): New macro.
63567         (mp_twolimb_t): New type.
63568         (GMP_TWOLIMB_BITS): New macro.
63569         (mpn_t): New type.
63570         (multiply, divide, convert_to_decimal, decode_long_double,
63571         scale10_round_long_double, scale10_round_decimal_long_double,
63572         floorlog10l): New functions.
63573         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63574         for the %f, %F, %e, %E, %g, %G directives.
63575         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63576         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63577         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63578         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63579         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63580         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63581         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63582         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63583         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63584         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63585         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63586         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63587         * modules/snprintf-posix (Depends-on): Likewise.
63588         * modules/sprintf-posix (Depends-on): Likewise.
63589         * modules/vasnprintf-posix (Depends-on): Likewise.
63590         * modules/vasprintf-posix (Depends-on): Likewise.
63591         * modules/vfprintf-posix (Depends-on): Likewise.
63592         * modules/vsnprintf-posix (Depends-on): Likewise.
63593         * modules/vsprintf-posix (Depends-on): Likewise.
63594         * modules/vasnprintf (Files): Add lib/float+.h.
63595         * doc/functions/fprintf.texi: Update.
63596         * doc/functions/printf.texi: Update.
63597         * doc/functions/snprintf.texi: Update.
63598         * doc/functions/sprintf.texi: Update.
63599         * doc/functions/vfprintf.texi: Update.
63600         * doc/functions/vprintf.texi: Update.
63601         * doc/functions/vsnprintf.texi: Update.
63602         * doc/functions/vsprintf.texi: Update.
63603
63604 2007-05-18  Bruno Haible  <bruno@clisp.org>
63605
63606         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63607
63608 2007-05-18  Bruno Haible  <bruno@clisp.org>
63609
63610         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63611         for printing 64-bit integers. Needed for mingw.
63612
63613 2007-05-18  Bruno Haible  <bruno@clisp.org>
63614
63615         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63616         gl_FUNC_FREXPL_WORKS.
63617         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63618
63619 2007-05-18  Bruno Haible  <bruno@clisp.org>
63620
63621         * modules/frexpl-nolibm-tests: New file.
63622
63623         * modules/frexpl-nolibm: New file.
63624         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63625
63626 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63627
63628         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63629         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63630         GCC 4.2, which otherwise issues a lot of warnings.
63631         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63632         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63633         Likewise.
63634         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63635         * modules/iconv_open (iconv.h): Likewise.
63636         * modules/locale (locale.h): Likewise.
63637         * modules/netinet_in (netinet/in.h): Likewise.
63638         * modules/sys_select (sys_select.h): Likewise.
63639         * modules/sys_socket (sys/socket.h): Likewise.
63640         * modules/sys_stat (sys/stat.h): Likewise.
63641         * modules/sysexits (sysexits.h): Likewise.
63642         * modules/unistd (unistd.h): Likewise.
63643
63644 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63645
63646         * modules/closein-tests (Makefile.am): Distribute
63647         `test-closein.sh'.
63648
63649 2007-05-17  Bruno Haible  <bruno@clisp.org>
63650
63651         * tests/test-printf-posix.output: Renamed from
63652         tests/test-fprintf-posix.out.
63653         * modules/fprintf-posix-tests: Update.
63654         * modules/printf-posix-tests: Update.
63655         * modules/vfprintf-posix-tests: Update.
63656         * modules/vprintf-posix-tests: Update.
63657         * tests/test-fprintf-posix.sh: Update.
63658         * tests/test-printf-posix.sh: Update.
63659         * tests/test-vfprintf-posix.sh: Update.
63660         * tests/test-vprintf-posix.sh: Update.
63661         Reported by Ralf Wildenhues.
63662
63663 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63664
63665         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63666         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63667         GCC 4.2, which otherwise issues a lot of warnings.
63668         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63669         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63670         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63671         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63672         it should no longer be needed.
63673         * lib/string_.h: Likewise.
63674         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63675         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63676         * modules/inttypes (inttypes.h): Likewise.
63677         * modules/math (math.h): Likewise.
63678         * modules/search (search.h): Likewise.
63679         * modules/signal (signal.h): Likewise.
63680         * modules/stdint (stdint.h): Likewise.
63681         * modules/stdio (stdio.h): Likewise.
63682         * modules/stdlib (stdlib.h): Likewise.
63683         * modules/string (string.h): Likewise.
63684         * modules/sys_time (sys/time.h): Likewise.
63685         * modules/time (time.h): Likewise.
63686         * modules/wchar (wchar.h): Likewise.
63687         * modules/wctype (wtype.h): Likewise.
63688
63689 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63690
63691         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63692
63693 2007-05-13  Bruno Haible  <bruno@clisp.org>
63694
63695         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63696         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63697         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63698         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63699         (gl_PREREQ_STRTOK_R): Don't require it here.
63700
63701 2007-05-13  Bruno Haible  <bruno@clisp.org>
63702
63703         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63704         when used in C++ mode.
63705
63706 2007-05-12  Bruno Haible  <bruno@clisp.org>
63707
63708         * lib/linebuffer.h: Tweak doc.
63709         * lib/linebuffer.c: Likewise.
63710
63711 2007-05-12  James Youngman  <jay@gnu.org>
63712
63713         * lib/linebuffer.c (readlinebuffer_delim): New function,
63714         like readlinebuffer, but use a caller-specified delimiter.
63715         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63716         as the delimiter.
63717         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63718
63719 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63720
63721         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63722         * modules/openat (Files): Remove openat-die.c.
63723         (Depends-on): Add openat-die.
63724         * modules/openat-die: New module.
63725
63726 2007-05-06  Bruno Haible  <bruno@clisp.org>
63727
63728         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63729         Update with info about Cygwin.
63730         * doc/functions/fprintf.texi: Update.
63731         * doc/functions/printf.texi: Update.
63732         * doc/functions/snprintf.texi: Update.
63733         * doc/functions/sprintf.texi: Update.
63734         * doc/functions/vfprintf.texi: Update.
63735         * doc/functions/vprintf.texi: Update.
63736         * doc/functions/vsnprintf.texi: Update.
63737         * doc/functions/vsprintf.texi: Update.
63738         Reported by Eric Blake.
63739
63740 2007-05-06  Bruno Haible  <bruno@clisp.org>
63741
63742         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63743         padding ourselves for the floating-point directives.
63744         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63745         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63746         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63747         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63748         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63749         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63750         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63751         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63752         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63753         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63754         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63755         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63756         * tests/test-snprintf-posix.h (test_function): Also check the width
63757         and some flags in the %f directive.
63758         * tests/test-sprintf-posix.h (test_function): Likewise.
63759         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63760         * tests/test-vasprintf-posix.c (test_function): Likewise.
63761         * doc/functions/fprintf.texi: Update.
63762         * doc/functions/printf.texi: Update.
63763         * doc/functions/snprintf.texi: Update.
63764         * doc/functions/sprintf.texi: Update.
63765         * doc/functions/vfprintf.texi: Update.
63766         * doc/functions/vprintf.texi: Update.
63767         * doc/functions/vsnprintf.texi: Update.
63768         * doc/functions/vsprintf.texi: Update.
63769
63770 2007-05-06  Bruno Haible  <bruno@clisp.org>
63771
63772         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63773         pass the ' flag character to sprintf or snprintf.
63774         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63775         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63776         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63777         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63778         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63779         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63780         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63781         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63782         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63783         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63784         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63785         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63786         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63787         flag.
63788         * tests/test-sprintf-posix.h (test_function): Likewise.
63789         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63790         * tests/test-vasprintf-posix.c (test_function): Likewise.
63791         * doc/functions/fprintf.texi: Update.
63792         * doc/functions/printf.texi: Update.
63793         * doc/functions/snprintf.texi: Update.
63794         * doc/functions/sprintf.texi: Update.
63795         * doc/functions/vfprintf.texi: Update.
63796         * doc/functions/vprintf.texi: Update.
63797         * doc/functions/vsnprintf.texi: Update.
63798         * doc/functions/vsprintf.texi: Update.
63799
63800 2007-05-01  Bruno Haible  <bruno@clisp.org>
63801
63802         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
63803
63804 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63805
63806         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
63807         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
63808
63809 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63810
63811         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63812         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63813         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63814
63815 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63816
63817         * lib/argp-help.c (struct hol_entry): New member `ord'.
63818         (HOL_ENTRY_PTRCMP): Use ord for comparison
63819         (hol_sort): Initialize ord.
63820
63821 2007-05-01  Bruno Haible  <bruno@clisp.org>
63822
63823         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63824         Reported by Eric Blake.
63825         * doc/gnulib.texi (Function Substitutes): Update.
63826
63827 2007-05-01  Bruno Haible  <bruno@clisp.org>
63828
63829         * doc/functions.texi: Remove file, now redundant through
63830         doc/functions/*.texi.
63831
63832 2007-05-01  Bruno Haible  <bruno@clisp.org>
63833
63834         * modules/argp (Depends-on): Add sleep.
63835
63836 2007-05-01  Bruno Haible  <bruno@clisp.org>
63837
63838         * modules/sleep-tests: New file.
63839         * tests/test-sleep.c: New file.
63840
63841         * modules/sleep: New file.
63842         * lib/sleep.c: New file.
63843         * m4/sleep.m4: New file.
63844         * lib/unistd_.h (sleep): New declaration.
63845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63846         HAVE_SLEEP.
63847         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63848         * doc/functions/sleep.texi: Document the sleep module.
63849
63850 2007-05-01  Bruno Haible  <bruno@clisp.org>
63851
63852         * lib/sigprocmask.h: Remove file.
63853         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63854         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63855         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63856         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63857         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63858         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63859         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63860         HAVE_SIGSET_T as a shell variable.
63861         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63862         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63863         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63864         (Depends-on): Add signal. Remove verify.
63865         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63866         (Include): Mention <signal.h> instead of sigprocmask.h.
63867         * NEWS: Mention the change.
63868         * lib/fatal-signal.c: Don't include sigprocmask.h.
63869
63870 2007-05-01  Bruno Haible  <bruno@clisp.org>
63871
63872         * modules/signal: New file.
63873         * lib/signal_.h: New file.
63874         * m4/signal_h.m4: New file.
63875
63876 2007-05-01  Bruno Haible  <bruno@clisp.org>
63877
63878         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63879         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63880         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63881         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63882
63883 2007-05-01  Bruno Haible  <bruno@clisp.org>
63884
63885         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63886         configure time.
63887         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63888         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63889         * modules/sys_stat (Makefile.am): Substitute their values into
63890         sys/stat.h.
63891
63892 2007-05-01  Bruno Haible  <bruno@clisp.org>
63893
63894         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63895         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63896         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63897
63898 2007-05-01  Bruno Haible  <bruno@clisp.org>
63899
63900         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63901         'assert' module here.
63902
63903 2007-05-01  Bruno Haible  <bruno@clisp.org>
63904
63905         * doc/functions/*.texi: New files.
63906         * doc/functions/google-ranking.txt: New file.
63907         * doc/gnulib.texi (Function Substitutes): New chapter.
63908         (ctime, inet_ntoa): Remove sections.
63909         * doc/ctime.texi: Remove file.
63910         * doc/inet_ntoa.texi: Remove file.
63911         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63912         dependencies.
63913         (%.info): New rule, specifying a --reference-limit.
63914
63915 2007-05-01  Bruno Haible  <bruno@clisp.org>
63916
63917         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
63918
63919 2007-05-01  Bruno Haible  <bruno@clisp.org>
63920
63921         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
63922         the portability of 'mkdir' to mingw systems.
63923
63924 2007-05-01  Bruno Haible  <bruno@clisp.org>
63925
63926         * doc/headers/google-ranking.txt: New file.
63927
63928 2007-04-30  Eric Blake  <ebb9@byu.net>
63929
63930         Prefer fseeko to fseek.
63931         * modules/getpass (Depends-on): Add fseeko.
63932         * lib/getpass.c (getpass): Use fseeko, not fseek.
63933
63934 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
63935
63936         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
63937         assumes the sorting is stable, while most qsort implementations
63938         are not.  Use argument addresses to ensure they never compare as
63939         equal.
63940
63941         * tests/test-argp-2.sh (usage-indent test): Fix output
63942         (func_compare): Restore diff options
63943         * tests/test-argp.c: Restore #include "progname.h"
63944
63945 2007-04-29  Bruno Haible  <bruno@clisp.org>
63946
63947         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
63948         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63949         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
63950         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63951         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
63952         (configure.ac): Define CHECK_SNPRINTF_POSIX.
63953         (TESTS, check_PROGRAMS): Add test-snprintf.
63954         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
63955         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
63956         (TESTS, check_PROGRAMS): Add test-vsnprintf.
63957         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
63958         assertions that fail on HP-UX, OSF/1, or IRIX.
63959         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
63960
63961 2007-04-29  Bruno Haible  <bruno@clisp.org>
63962
63963         * MODULES.html.sh (posix_functions): Remove 'contents'.
63964
63965 2007-04-29  Karl Berry  <karl@gnu.org>
63966
63967         * config/srclist.txt (gendocs_template_min): new entry.
63968
63969 2007-04-29  Bruno Haible  <bruno@clisp.org>
63970
63971         Work around fpurge bug on BSD systems.
63972         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
63973         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
63974         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
63975         fpurge to rpl_fpurge if the system already has this function.
63976         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
63977         the case where the system already has this function. Correct invariants
63978         on BSD systems.
63979         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
63980         BSD systems.
63981
63982 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
63983
63984         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
63985         proposed by Sven Verdoolaege.
63986
63987         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
63988         options.
63989         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
63990         (usage and help tests): Update
63991
63992 2007-04-29  Bruno Haible  <bruno@clisp.org>
63993
63994         * tests/test-fflush.c (main): Use a file of size 17, not 10.
63995         Print more information in case of failure. Disable a test on BeOS.
63996
63997 2007-04-29  Bruno Haible  <bruno@clisp.org>
63998
63999         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64000         This helps debugging on systems on which no gdb is available.
64001
64002 2007-04-29  Bruno Haible  <bruno@clisp.org>
64003
64004         * lib/freading.h: Improve comments.
64005         * lib/fwriting.h: Likewise.
64006         * tests/test-freading.c (main): Don't check freading immediately after
64007         repositioning. Needed for glibc.
64008
64009 2007-04-29  Bruno Haible  <bruno@clisp.org>
64010
64011         * lib/freading.c (freading): Trivial simplification.
64012
64013 2007-04-28  Bruno Haible  <bruno@clisp.org>
64014
64015         * tests/test-fwriting.c (main): Also test the interaction between
64016         fflush and fwriting.
64017         * modules/fwriting-tests (Depends-on): Add fflush.
64018
64019         * tests/test-freading.c (main): Also test the interaction between
64020         fflush and freading.
64021         * modules/freading-tests (Depends-on): Add fflush.
64022
64023 2007-04-28  Bruno Haible  <bruno@clisp.org>
64024
64025         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64026         fseeko and ftello.
64027         Suggested by Eric Blake.
64028
64029 2007-04-28  Jim Meyering  <jim@meyering.net>
64030
64031         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64032         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64033         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64034
64035 2007-04-27  Eric Blake  <ebb9@byu.net>
64036
64037         * doc/headers/assert.texi (assert.h): Document assert module use.
64038
64039 2007-04-27  Bruno Haible  <bruno@clisp.org>
64040
64041         * doc/headers/*.texi: New files.
64042         * doc/gnulib.texi (Header File Substitutes): New chapter.
64043         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64044         dependencies.
64045         (standards.info ,standards.html, standards.dvi): Update dependencies.
64046         (mostlyclean, clean): New targets.
64047
64048 2007-04-27  Bruno Haible  <bruno@clisp.org>
64049
64050         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64051         * modules/sysexits (Files, Makefile.am): Update.
64052
64053         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64054         * modules/sys_socket (Files, Makefile.am): Update.
64055
64056         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64057         * modules/sys_stat (Files, Makefile.am): Update.
64058
64059 2007-04-27  Eric Blake  <ebb9@byu.net>
64060
64061         * lib/freading.h: Improve comments.
64062         * lib/fwriting.h: Likewise.
64063         * lib/fflush.c: Likewise.
64064
64065         Fix closein for mingw.
64066         * modules/closein-tests: Add tests for closein.
64067         * tests/test-closein.c: New file.
64068         * tests/test-closein.sh: Likewise.
64069         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64070         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64071
64072 2007-04-27  Bruno Haible  <bruno@clisp.org>
64073
64074         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64075         version is < 6.
64076         * lib/math_.h [__DECC]: Likewise.
64077         * lib/stdio_.h [__DECC]: Likewise.
64078         * lib/stdlib_.h [__DECC]: Likewise.
64079         * lib/string_.h [__DECC]: Likewise.
64080         * lib/time_.h [__DECC]: Likewise.
64081         * lib/wchar_.h [__DECC]: Likewise.
64082         * lib/wctype_.h [__DECC]: Likewise.
64083
64084 2007-04-27  Bruno Haible  <bruno@clisp.org>
64085
64086         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64087
64088 2007-04-27  Bruno Haible  <bruno@clisp.org>
64089
64090         * lib/fflush.c: Add comments.
64091         * modules/fpurge-tests (Depends-on): Add fflush.
64092         * modules/freadable-tests (Depends-on): Likewise.
64093         * modules/fwritable-tests (Depends-on): Likewise.
64094
64095 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64096
64097         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64098         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64099         Report by Bruno Haible <bruno@clisp.org>.
64100
64101 2007-04-26  Eric Blake  <ebb9@byu.net>
64102
64103         Fix fflush on mingw.
64104         * modules/fflush (Depends-on): Add freading.
64105         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64106         but unread data.
64107
64108 2007-04-26  Eric Blake  <ebb9@byu.net>
64109         and Bruno Haible  <bruno@clisp.org>
64110
64111         Implement freading and fwriting.
64112         * lib/freading.c: New file.
64113         * lib/freading.h: Likewise.
64114         * m4/freading.m4: Likewise.
64115         * modules/freading: Likewise.
64116         * modules/freading-tests: Likewise.
64117         * tests/test-freading.c: Likewise.
64118         * lib/fwriting.c: New file.
64119         * lib/fwriting.h: Likewise.
64120         * m4/fwriting.m4: Likewise.
64121         * modules/fwriting: Likewise.
64122         * modules/fwriting-tests: Likewise.
64123         * tests/test-fwriting.c: Likewise.
64124         * MODULES.html.sh (File stream based Input/Output): Mention them.
64125
64126 2007-04-26  Bruno Haible  <bruno@clisp.org>
64127
64128         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64129         'long' when we assume it.
64130         Suggested by Eric Blake.
64131
64132 2007-04-26  Bruno Haible  <bruno@clisp.org>
64133
64134         Ensure fseeko, ftello are declared on glibc systems.
64135         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64136         * modules/fseeko (configure.ac-early): Likewise.
64137         * modules/ftello (configure.ac-early): Likewise.
64138         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64139         AC_FUNC_FSEEKO for this.
64140         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64141         (gl_CHECK_FSEEKO): Remove macro.
64142
64143 2007-04-26  Bruno Haible  <bruno@clisp.org>
64144
64145         * tests/test-fflush.c (main): Also check the ftell result after
64146         fflush and fseek/fseeko.
64147         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64148         file descriptor position cache in the stream.
64149         * lib/fseeko.c (rpl_fseeko): Likewise.
64150
64151 2007-04-26  Bruno Haible  <bruno@clisp.org>
64152
64153         * modules/fflush-tests (Depends-on): Add fseeko.
64154
64155 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64156             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64157
64158         * lib/argz_.h: ensure error_t definition is obtained in same
64159         mechanism system argz.h would have.
64160         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64161         argz facilities are known bad.  Err on the side of caution if
64162         cross-compiling.
64163
64164 2007-04-25  Eric Blake  <ebb9@byu.net>
64165
64166         * lib/fpurge.c (includes): Use stdlib.h for free.
64167         * tests/test-fflush.c (main): Also test fflush-fseeko.
64168
64169 2007-04-25  Bruno Haible  <bruno@clisp.org>
64170
64171         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64172         * lib/fseeko.c: New file.
64173         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64174         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64175         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64176         gl_FUNC_FSEEKO.
64177         (gl_FUNC_FSEEKO): Invoke it.
64178         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64179         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64180         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64181
64182 2007-04-25  Bruno Haible  <bruno@clisp.org>
64183
64184         * modules/fflush (Depends-on): Add ftello.
64185
64186 2007-04-25  Bruno Haible  <bruno@clisp.org>
64187
64188         * modules/ftello-tests: New file.
64189         * tests/test-ftello.c: New file.
64190
64191         * modules/ftello: New file.
64192         * m4/ftello.m4: New file.
64193         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64194         HAVE_FTELLO.
64195         * lib/stdio_.h (ftello): New declaration.
64196         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64197         HAVE_FTELLO.
64198
64199 2007-04-25  Bruno Haible  <bruno@clisp.org>
64200
64201         * modules/fseeko-tests: New file.
64202         * tests/test-fseeko.c: New file.
64203
64204         * modules/fseeko: New file.
64205         * m4/fseeko.m4: New file.
64206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64207         HAVE_FSEEKO.
64208         * lib/stdio_.h (fseeko): New declaration.
64209         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64210         HAVE_FSEEKO.
64211
64212 2007-04-25  Bruno Haible  <bruno@clisp.org>
64213
64214         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64215
64216 2007-04-25  Bruno Haible  <bruno@clisp.org>
64217
64218         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64219         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64220         * tests/test-unistd.c: Likewise.
64221         * tests/test-fcntl.c: Likewise.
64222
64223 2007-04-23  Eric Blake  <ebb9@byu.net>
64224
64225         * lib/fflush.c: Fix missing include.
64226         Reported by Bruno Haible.
64227
64228 2007-04-23  Bruno Haible  <bruno@clisp.org>
64229
64230         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64231         Reported by Eric Blake.
64232
64233 2007-04-23  Bruno Haible  <bruno@clisp.org>
64234
64235         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64236
64237 2007-04-23  Bruno Haible  <bruno@clisp.org>
64238
64239         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64240
64241 2007-04-23  Bruno Haible  <bruno@clisp.org>
64242
64243         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64244         Needed on HP-UX 11.
64245
64246 2007-04-16  Eric Blake  <ebb9@byu.net>
64247
64248         Make fflush rely on fpurge.
64249         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64250         open coding all variants.
64251         * modules/fflush (Depends-on): Add fpurge and unistd.
64252         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64253         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64254
64255         Fix --with-tests compilation on cygwin.
64256         * modules/argmatch-tests (Makefile.am): List gnulib library first
64257         in LDADD.
64258         * modules/argp-tests (Makefile.am): Likewise.
64259         * modules/array-list-tests (Makefile.am): Likewise.
64260         * modules/array-oset-tests (Makefile.am): Likewise.
64261         * modules/avltree-list-tests (Makefile.am): Likewise.
64262         * modules/avltree-oset-tests (Makefile.am): Likewise.
64263         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64264         * modules/carray-list-tests (Makefile.am): Likewise.
64265         * modules/dirname-tests (Makefile.am): Likewise.
64266         * modules/frexp-tests (Makefile.am): Likewise.
64267         * modules/isnanl-tests (Makefile.am): Likewise.
64268         * modules/linked-list-tests (Makefile.am): Likewise.
64269         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64270         * modules/lock-tests (Makefile.am): Likewise.
64271         * modules/rbtree-list-tests (Makefile.am): Likewise.
64272         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64273         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64274         * modules/tls-tests (Makefile.am): Likewise.
64275         * modules/tsearch-tests (Makefile.am): Likewise.
64276         * modules/xvasprintf-tests (Makefile.am): Likewise.
64277
64278         Fix fpurge for cygwin.
64279         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64280         value.
64281         * modules/fpurge-tests (Depends-on): Clean up trash.
64282
64283 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64284
64285         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64286
64287         * m4/autobuild.m4: Re-indent.
64288
64289 2007-04-13  Bruno Haible  <bruno@clisp.org>
64290
64291         * modules/fpurge-tests: New file.
64292         * tests/test-fpurge.c: New file.
64293
64294         * modules/fpurge: New file.
64295         * lib/fpurge.h: New file.
64296         * lib/fpurge.c: New file.
64297         * m4/fpurge.m4: New file.
64298
64299 2007-04-13  Bruno Haible  <bruno@clisp.org>
64300
64301         * modules/fbufmode-tests: New file.
64302         * tests/test-fbufmode.c: New file.
64303
64304         * modules/fbufmode: New file.
64305         * lib/fbufmode.h: New file.
64306         * lib/fbufmode.c: New file.
64307         * m4/fbufmode.m4: New file.
64308
64309 2007-04-13  Bruno Haible  <bruno@clisp.org>
64310
64311         * modules/fwritable-tests: New file.
64312         * tests/test-fwritable.c: New file.
64313
64314         * modules/fwritable: New file.
64315         * lib/fwritable.h: New file.
64316         * lib/fwritable.c: New file.
64317         * m4/fwritable.m4: New file.
64318
64319 2007-04-13  Bruno Haible  <bruno@clisp.org>
64320
64321         * modules/freadable-tests: New file.
64322         * tests/test-freadable.c: New file.
64323
64324         * modules/freadable: New file.
64325         * lib/freadable.h: New file.
64326         * lib/freadable.c: New file.
64327         * m4/freadable.m4: New file.
64328
64329 2007-04-13  Bruno Haible  <bruno@clisp.org>
64330
64331         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64332         MOSTLYCLEANFILES.
64333
64334 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64335
64336         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64337         gzip bootstrap.conf to avoid dragging in i18n machinery.
64338         (gnulib_tool_option): Use it.
64339
64340 2007-04-13  Bruno Haible  <bruno@clisp.org>
64341
64342         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64343         %F directives.
64344         * tests/test-vasprintf-posix.c (test_function): Likewise.
64345         * tests/test-snprintf-posix.h (test_function): Likewise.
64346         * tests/test-sprintf-posix.h (test_function): Likewise.
64347         * tests/test-fprintf-posix.h (test_function): Likewise.
64348         * tests/test-printf-posix.h (test_function): Likewise.
64349         * tests/test-fprintf-posix.out: Likewise.
64350
64351 2007-04-13  Bruno Haible  <bruno@clisp.org>
64352
64353         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64354         * modules/tls-tests (configure.ac): Likewise.
64355         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64356
64357 2007-04-13  Bruno Haible  <bruno@clisp.org>
64358
64359         * lib/tls.c (glthread_tls_get): Fix return type.
64360         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64361
64362 2007-04-12  Eric Blake  <ebb9@byu.net>
64363
64364         * modules/gettime (Depends-on): Remove gettime.
64365         Reported by Dmitry V. Levin.
64366
64367 2007-04-12  Bruno Haible  <bruno@clisp.org>
64368
64369         * modules/fflush (Include): Mention <stdio.h>.
64370         * modules/strtoimax (Include): Mention <inttypes.h>.
64371         * modules/strtoumax (Include): Likewise.
64372
64373 2007-04-12  Eric Blake  <ebb9@byu.net>
64374
64375         * .cvsignore: New file.
64376         * .gitignore: Likewise.
64377
64378 2007-04-12  Bruno Haible  <bruno@clisp.org>
64379
64380         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64381         not before, since $(LDADD) often contains libgnu.a.
64382         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64383         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64384         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64385         Needed on Cygwin.
64386
64387 2007-04-12  Eric Blake  <ebb9@byu.net>
64388
64389         Work around glibc's failure to flush stdin on fclose.
64390         * lib/closein.c (close_stdin): Flush stdin before closing.
64391
64392         Work around glibc's failure to reset seekable stdin on exit.
64393         * modules/closein: New module.
64394         * lib/closein.c: New file.
64395         * lib/closein.h: Likewise.
64396         * m4/closein.m4: Likewise.
64397         * MODULES.html.sh (File stream based Input/Output): Document it.
64398
64399 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64400
64401         * gnulib-tool: Rename generated 'autobuild' script to
64402         'do-autobuild' in --create-megatestdir output.
64403
64404         * doc/gnulib.texi (Build robot for gnulib): Fix.
64405
64406 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64407
64408         * modules/sysexits (Depends-on): Add absolute-header.
64409
64410 2007-04-12  Eric Blake  <ebb9@byu.net>
64411
64412         No need to preserve errno on success.
64413         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64414         Reported by Bruno Haible.
64415
64416 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64417
64418         * MODULES.html.sh (Support for maintaining and releasing
64419         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64420
64421 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64422
64423         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64424
64425 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64426
64427         * modules/autobuild: New module.
64428
64429         * m4/autobuild.m4: New file.
64430
64431 2007-04-11  Bruno Haible  <bruno@clisp.org>
64432
64433         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64434         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64435         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64436         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64437         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64438         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64439         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64440         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64441         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64442         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64443         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64444         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64445         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64446         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64447         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64448         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64449         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64450         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64451         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64452         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64453         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64454         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64455         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64456         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64457         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64458         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64459         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64460         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64461         Reported by Eric Blake.
64462
64463 2007-04-11  Bruno Haible  <bruno@clisp.org>
64464
64465         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64466
64467 2007-04-10  Bruno Haible  <bruno@clisp.org>
64468
64469         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64470         for NaN and Infinity. Needed on FreeBSD 6.1.
64471         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64472         regarding results for "%010a" of Infinity and NaN.
64473         * tests/test-vasprintf-posix.c (test_function): Likewise.
64474         * tests/test-snprintf-posix.h (test_function): Likewise.
64475         * tests/test-sprintf-posix.h (test_function): Likewise.
64476         * tests/test-fprintf-posix.h (test_function): Likewise.
64477         * tests/test-printf-posix.h (test_function): Likewise.
64478         * tests/test-fprintf-posix.out: Likewise.
64479
64480 2007-04-10  Bruno Haible  <bruno@clisp.org>
64481
64482         * modules/locale-tests: New file.
64483         * tests/test-locale.c: New file.
64484
64485         * modules/locale: New file.
64486         * lib/locale_.h: New file.
64487         * m4/locale_h.m4: New file.
64488
64489 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64490             Bruno Haible  <bruno@clisp.org>
64491
64492         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64493         be determined, test for availability of the copysignf, copysign,
64494         copysignl functions.
64495         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64496         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64497         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64498
64499 2007-04-09  Eric Blake  <ebb9@byu.net>
64500
64501         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64502         * modules/stdio (Makefile.am): Support fflush.
64503         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64504         * modules/fflush: New file.
64505         * lib/fflush.c: Likewise.
64506         * m4/fflush.m4: Likewise.
64507         * modules/fflush-tests: New test.
64508         * tests/test-fflush.c: Likewise.
64509         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64510
64511 2007-04-06  Bruno Haible  <bruno@clisp.org>
64512
64513         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64514         (VASNPRINTF): Use signbit for faster determination whether to print a
64515         minus sign.
64516         * modules/vasnprintf (Files): Remove lib/float+.h.
64517         * modules/fprintf-posix (Depends-on): Add signbit.
64518         * modules/snprintf-posix (Depends-on): Likewise.
64519         * modules/sprintf-posix (Depends-on): Likewise.
64520         * modules/vasnprintf-posix (Depends-on): Likewise.
64521         * modules/vasprintf-posix (Depends-on): Likewise.
64522         * modules/vfprintf-posix (Depends-on): Likewise.
64523         * modules/vsnprintf-posix (Depends-on): Likewise.
64524         * modules/vsprintf-posix (Depends-on): Likewise.
64525
64526 2007-04-06  Bruno Haible  <bruno@clisp.org>
64527
64528         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64529         * tests/test-frexpl.c (main): Likewise.
64530         * tests/test-ldexpl.c (main): Likewise.
64531         * modules/frexp-tests (Depends-on): Add signbit.
64532         * modules/frexpl-tests (Depdends-on): Likewise.
64533         * modules/ldexpl-tests (Depdends-on): Likewise.
64534
64535 2007-04-06  Bruno Haible  <bruno@clisp.org>
64536
64537         * modules/signbit-tests: New file.
64538         * tests/test-signbit.c: New file.
64539
64540         * modules/signbit: New file.
64541         * lib/signbitf.c: New file.
64542         * lib/signbitd.c: New file.
64543         * lib/signbitl.c: New file.
64544         * m4/signbit.m4: New file.
64545         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64546         (signbit): New macro.
64547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64548         REPLACE_SIGNBIT.
64549         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64550         REPLACE_FREXPL into math.h.
64551
64552 2007-04-06  Bruno Haible  <bruno@clisp.org>
64553
64554         * modules/isnanf-nolibm-tests: New file.
64555         * tests/test-isnanf.c: New file.
64556
64557         * modules/isnanf-nolibm: New file.
64558         * lib/isnanf.h: New file.
64559         * lib/isnanf.c: New file.
64560         * lib/isnan.c: Consider the USE_FLOAT macro.
64561         * m4/isnanf.m4: New file.
64562
64563 2007-04-06  Bruno Haible  <bruno@clisp.org>
64564
64565         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64566         (Link): New section.
64567
64568         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64569
64570 2007-04-06  Bruno Haible  <bruno@clisp.org>
64571
64572         Assume the 'long double' type.
64573         * m4/longdouble.m4: Remove file.
64574         * config/srclist.txt: Don't mention longdouble.m4.
64575         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64576         * lib/float+.h: Likewise.
64577         * lib/frexp.c: Likewise.
64578         * lib/printf-args.h: Likewise.
64579         * lib/printf-args.c: Likewise.
64580         * lib/printf-frexp.c: Likewise.
64581         * lib/printf-parse.c: Likewise.
64582         * lib/vasnprintf.c: Likewise.
64583         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64584         * m4/intl.m4: Likewise.
64585         * m4/isnanl.m4: Likewise.
64586         * m4/printf.m4: Likewise.
64587         * m4/printf-frexpl.m4: Likewise.
64588         * m4/vasnprintf.m4: Likewise.
64589         * modules/allocsa (Files): Remove m4/longdouble.m4.
64590         * modules/gettext (Files): Likewise.
64591         * modules/relocatable-prog-wrapper (Files): Likewise.
64592         * modules/vasnprintf (Files): Likewise.
64593         * modules/isnanl (Files): Likewise.
64594         (Include): Simplify.
64595         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64596         (Include): Simplify.
64597         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64598         (Include): Simplify.
64599         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64600         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64601         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64602         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64603         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64604         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64605         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64606         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64607         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64608         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64609         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64610         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64611         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64612         * tests/test-isnanl.c: Likewise.
64613         * tests/test-snprintf-posix.h: Likewise.
64614         * tests/test-sprintf-posix.h: Likewise.
64615         * tests/test-vasnprintf-posix.c: Likewise.
64616         * tests/test-vasnprintf-posix2.c: Likewise.
64617         * tests/test-vasprintf-posix.c: Likewise.
64618
64619 2007-04-06  Bruno Haible  <bruno@clisp.org>
64620
64621         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64622         * lib/math_.h [__DECC]: Include the overridden include file through
64623         #include_next, outside the double-inclusion guard.
64624         * lib/stdio_.h [__DECC]: Likewise.
64625         * lib/stdlib_.h [__DECC]: Likewise.
64626         * lib/string_.h [__DECC]: Likewise.
64627         * lib/time_.h [__DECC]: Likewise.
64628         * lib/wchar_.h [__DECC]: Likewise.
64629         * lib/wctype_.h [__DECC]: Likewise.
64630         * lib/inttypes_.h [__DECC]: Likewise.
64631         Reported by Albert Chin <china@thewrittenword.com> in
64632         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64633
64634 2007-04-04  Eric Blake  <ebb9@byu.net>
64635
64636         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64637         1.5.x.
64638
64639 2007-04-04  Bruno Haible  <bruno@clisp.org>
64640
64641         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64642         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64643
64644 2007-04-04  Bruno Haible  <bruno@clisp.org>
64645
64646         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64647         results for "%010a" of Infinity and NaN.
64648         * tests/test-vasprintf-posix.c (test_function): Likewise.
64649         * tests/test-snprintf-posix.h (test_function): Likewise.
64650         * tests/test-sprintf-posix.h (test_function): Likewise.
64651         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64652         * tests/test-printf-posix.h (test_function): Likewise.
64653         * tests/test-fprintf-posix.out: Update.
64654         Needed for FreeBSD 6.1.
64655
64656 2007-04-04  Bruno Haible  <bruno@clisp.org>
64657
64658         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64659         directly used by the gnulib modules nor by gnulib-tool.
64660
64661 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64662
64663         * DEPENDENCIES: Give overall description of version dependency
64664         desirability.  Use more-typical names for apps.
64665         Add shell, coreutils, diffutils, grep, tar, gzip.
64666
64667 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64668
64669         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64670
64671 2007-04-04  Karl Berry  <karl@gnu.org>
64672
64673         * MODULES.html.sh (func_module): missing '.
64674
64675 2007-04-03  Bruno Haible  <bruno@clisp.org>
64676
64677         * modules/argmatch-tests (Makefile.am): New variable
64678         test_argmatch_LDADD.
64679         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64680         * modules/array-list-tests (Makefile.am): New variable
64681         test_array_list_LDADD.
64682         * modules/array-oset-tests (Makefile.am): New variable
64683         test_array_oset_LDADD.
64684         * modules/avltree-list-tests (Makefile.am): New variable
64685         test_avltree_list_LDADD.
64686         * modules/avltree-oset-tests (Makefile.am): New variable
64687         test_avltree_oset_LDADD.
64688         * modules/avltreehash-list-tests (Makefile.am): New variable
64689         test_avltreehash_list_LDADD.
64690         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64691         test_canonicalize_lgpl_LDADD.
64692         * modules/carray-list-tests (Makefile.am): New variable
64693         test_carray_list_LDADD.
64694         * modules/dirname-tests (Makefile.am): New variable
64695         test_dirname_LDADD.
64696         * modules/linked-list-tests (Makefile.am): New variable
64697         test_linked_list_LDADD.
64698         * modules/linkedhash-list-tests (Makefile.am): New variable
64699         test_linkedhash_list_LDADD.
64700         * modules/rbtree-list-tests (Makefile.am): New variable
64701         test_rbtree_list_LDADD.
64702         * modules/rbtree-oset-tests (Makefile.am): New variable
64703         test_rbtree_oset_LDADD.
64704         * modules/rbtreehash-list-tests (Makefile.am): New variable
64705         test_rbtreehash_list_LDADD.
64706         * modules/xvasprintf-tests (Makefile.am): New variable
64707         test_xvasprintf_LDADD.
64708         Reported by Eric Blake.
64709
64710 2007-04-03  Eric Blake  <ebb9@byu.net>
64711
64712         * DEPENDENCIES: Weaken m4 requirements.
64713
64714 2007-04-03  Bruno Haible  <bruno@clisp.org>
64715
64716         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64717         * modules/isnanl-tests (configure.ac): Likewise.
64718
64719 2007-04-03  Ben Pfaff  <blp@gnu.org>
64720
64721         * modules/iconv_open: Add $(srcdir)/ to source directory
64722         references in Makefile fragments that call gperf, to fix VPATH
64723         builds.
64724
64725 2007-04-03  Bruno Haible  <bruno@clisp.org>
64726
64727         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64728         * lib/ldexpl.c: Undo last change.
64729
64730 2007-04-03  Bruno Haible  <bruno@clisp.org>
64731
64732         * modules/printf-frexpl (Depends-on): Undo last change.
64733         (Files): Add m4/ldexpl.m4.
64734
64735 2007-04-03  Bruno Haible  <bruno@clisp.org>
64736
64737         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64738         * modules/isnanl (Link): New section.
64739
64740         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64741         * modules/frexp (Link): New section.
64742
64743         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64744         * modules/frexpl (Link): New section.
64745
64746         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64747         * modules/ldexpl (Link): New section.
64748
64749 2007-04-03  Bruno Haible  <bruno@clisp.org>
64750
64751         * modules/TEMPLATE-EXTENDED: New file.
64752         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64753
64754 2007-04-03  Bruno Haible  <bruno@clisp.org>
64755
64756         * DEPENDENCIES: New file.
64757         Suggested by Simon Josefsson.
64758
64759 2007-04-03  Bruno Haible  <bruno@clisp.org>
64760
64761         * doc/gnulib.texi: Escape @.
64762
64763 2007-04-03  James Youngman  <jay@gnu.org>
64764         and Paul Eggert  <eggert@cs.ucla.edu>
64765
64766         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64767         birthtime on all systems that have birthtime, not just those which
64768         use st_birthtimensec rather than st_birthtim.  Putting zero in
64769         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64770         that the birth time is not available for files on an NFS mount.
64771
64772 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64773
64774         * modules/memxor: Move back from crypto/, suggested by Bruno.
64775         * modules/crypto/hmac-sha1: Fix memxor dependency.
64776
64777         * modules/crypto/gc: Moved from ../.
64778
64779 2007-04-02  Eric Blake  <ebb9@byu.net>
64780
64781         * lib/ldexpl.c (includes): Avoid libm.
64782
64783         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64784
64785 2007-04-02  Bruno Haible  <bruno@clisp.org>
64786
64787         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64788         on IRIX.
64789
64790 2007-04-02  Bruno Haible  <bruno@clisp.org>
64791
64792         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64793         x86 or x86_64 platforms running MacOS X.
64794         Reported by Ryan Schmidt <@ryandesign.com>.
64795
64796 2007-04-02  Bruno Haible  <bruno@clisp.org>
64797
64798         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
64799         i386.
64800
64801 2007-04-01  Simon Josefsson  <simon@josefsson.org>
64802
64803         * modules/crypto/arcfour: Moved from ../.
64804         * modules/crypto/arcfour-tests: Moved from ../.
64805         * modules/crypto/arctwo: Moved from ../.
64806         * modules/crypto/arctwo-tests: Moved from ../.
64807         * modules/crypto/des: Moved from ../.
64808         * modules/crypto/des-tests: Moved from ../.
64809         * modules/crypto/gc-arcfour: Moved from ../.
64810         * modules/crypto/gc-arcfour-tests: Moved from ../.
64811         * modules/crypto/gc-arctwo: Moved from ../.
64812         * modules/crypto/gc-arctwo-tests: Moved from ../.
64813         * modules/crypto/gc-des: Moved from ../.
64814         * modules/crypto/gc-des-tests: Moved from ../.
64815         * modules/crypto/gc-hmac-md5: Moved from ../.
64816         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64817         * modules/crypto/gc-hmac-sha1: Moved from ../.
64818         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64819         * modules/crypto/gc-md2: Moved from ../.
64820         * modules/crypto/gc-md2-tests: Moved from ../.
64821         * modules/crypto/gc-md4: Moved from ../.
64822         * modules/crypto/gc-md4-tests: Moved from ../.
64823         * modules/crypto/gc-md5: Moved from ../.
64824         * modules/crypto/gc-md5-tests: Moved from ../.
64825         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64826         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64827         * modules/crypto/gc-random: Moved from ../.
64828         * modules/crypto/gc-rijndael: Moved from ../.
64829         * modules/crypto/gc-rijndael-tests: Moved from ../.
64830         * modules/crypto/gc-sha1: Moved from ../.
64831         * modules/crypto/gc-sha1-tests: Moved from ../.
64832         * modules/crypto/gc-tests: Moved from ../.
64833         * modules/crypto/hmac-md5: Moved from ../.
64834         * modules/crypto/hmac-md5-tests: Moved from ../.
64835         * modules/crypto/hmac-sha1: Moved from ../.
64836         * modules/crypto/hmac-sha1-tests: Moved from ../.
64837         * modules/crypto/md2: Moved from ../.
64838         * modules/crypto/md2-tests: Moved from ../.
64839         * modules/crypto/md4: Moved from ../.
64840         * modules/crypto/md4-tests: Moved from ../.
64841         * modules/crypto/md5: Moved from ../.
64842         * modules/crypto/md5-tests: Moved from ../.
64843         * modules/crypto/memxor: Moved from ../.
64844         * modules/crypto/rijndael: Moved from ../.
64845         * modules/crypto/rijndael-tests: Moved from ../.
64846         * modules/crypto/sha1: Moved from ../.
64847
64848 2007-03-30  James Youngman  <jay@gnu.org>
64849
64850         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64851         rename() to change the ctime of a file (because ctime is unaffected
64852         by rename on jfs2 on AIX 5.1).
64853         (main): Start by doing cleanup, in case a previous run failed leaving
64854         test files behind.
64855
64856 2007-03-31  Bruno Haible  <bruno@clisp.org>
64857
64858         Support old proprietary implementations of iconv.
64859         * modules/iconv_open: New file.
64860         * lib/iconv_.h: New file.
64861         * m4/iconv_h.m4: New file.
64862         * lib/iconv_open.c: New file.
64863         * lib/iconv_open-aix.gperf: New file.
64864         * lib/iconv_open-hpux.gperf: New file.
64865         * lib/iconv_open-irix.gperf: New file.
64866         * lib/iconv_open-osf.gperf: New file.
64867         * m4/iconv_open.m4: New file.
64868         * modules/linebreak (Depends-on): Add iconv_open.
64869         * modules/striconv (Depends-on): Likewise.
64870         * modules/striconveh (Depends-on): Likewise.
64871         * modules/unicodeio (Depends-on): Likewise.
64872         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64873         (iconv_t)(-1).
64874         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64875         conversion if cd is (iconv_t)(-1).
64876         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64877         is not possible.
64878
64879 2007-03-31  Bruno Haible  <bruno@clisp.org>
64880
64881         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64882         work on Solaris either. Protect also second use of "autodetect_jp".
64883
64884 2007-03-31  Bruno Haible  <bruno@clisp.org>
64885
64886         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64887         the function is not present.
64888
64889 2007-03-31  Bruno Haible  <bruno@clisp.org>
64890
64891         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64892         the function is not present.
64893
64894 2007-03-31  Bruno Haible  <bruno@clisp.org>
64895
64896         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64897         a bug in HP-UX iconv_open().
64898
64899 2007-03-31  Bruno Haible  <bruno@clisp.org>
64900
64901         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64902         (Mathematics <math.h>): New section, add fpieee.
64903         (Input/output <stdio.h>): Add fseterr.
64904         (Mathematics <math.h>): New section, add printf-frexp.
64905         (Container data structures): Add sublist.
64906         (Core language properties): Add fpucw, inline.
64907         (Functions for greatest-width integer types <inttypes.h>): Add
64908         imaxabs, imaxdiv, inttypes.
64909         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64910         isnanl-nolibm, ldexp.
64911         (Mathematics <math.h>): New section, add printf-frexpl.
64912         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64913         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64914         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64915         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
64916         (Unicode string functions): Add unistr/u*-mbtoucr.
64917         (Java): Add javacomp-script, javaexec-script.
64918         (C#): Add csharpcomp-script, csharpexec-script.
64919         (Support for building libraries and executables): Add havelib,
64920         relocatable-*.
64921         (Support for maintaining and releasing projects): Renamed from
64922         'Support for maintaining and release projects'. Add announce-gen.
64923
64924 2007-03-31  Bruno Haible  <bruno@clisp.org>
64925
64926         * README: Talk primarily about git.
64927         (git and CVS): Renamed from CVS.
64928         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
64929         gnulib is available through git.
64930         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
64931
64932 2007-03-30  Bruno Haible  <bruno@clisp.org>
64933
64934         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
64935         * lib/poll_.h: Likewise.
64936         * lib/stat_.h: Likewise.
64937         * lib/sys_time_.h: Likewise.
64938         * lib/sysexit_.h: Likewise.
64939         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
64940         * lib/stdbool_.h: Likewise.
64941         * lib/byteswap_.h: Add double-inclusion guard.
64942
64943 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
64944
64945         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
64946
64947 2007-03-30  Karl Berry  <karl@gnu.org>
64948
64949         * config/srclist-update: double space after USA in the license
64950         substitution, since that's how it's usually (?) written.
64951
64952 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
64953
64954         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
64955         reported by Bruno Haible.
64956
64957 2007-03-29  Bruno Haible  <bruno@clisp.org>
64958
64959         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
64960         a bug in AIX iconv().
64961
64962 2007-03-29  Bruno Haible  <bruno@clisp.org>
64963
64964         * modules/ldexpl-tests: New file.
64965         * tests/test-ldexpl.c: New file.
64966
64967 2007-03-29  Bruno Haible  <bruno@clisp.org>
64968
64969         * lib/ldexpl.c: Include fpucw.h.
64970         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
64971         multiplication.
64972         * modules/ldexpl (Depends-on): Add fpucw.
64973
64974 2007-03-29  Bruno Haible  <bruno@clisp.org>
64975
64976         * modules/ldexpl: New file.
64977         * m4/ldexpl.m4: New file.
64978         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
64979         set.
64980         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
64981         REPLACE_LDEXPL.
64982         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
64983         REPLACE_LDEXPL.
64984         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64985         gl_FUNC_LDEXPL_WORKS.
64986         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
64987         * modules/mathl (Files): Remove lib/ldexpl.c.
64988         (Depends-on): Add ldexpl.
64989
64990 2007-03-29  Bruno Haible  <bruno@clisp.org>
64991
64992         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
64993
64994 2007-03-29  Bruno Haible  <bruno@clisp.org>
64995
64996         * tests/test-striconveh.c (main): Don't assume that a direct conversion
64997         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
64998         and possibly also HP-UX.
64999         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65000         work on AIX, IRIX, HP-UX, OSF/1.
65001         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65002         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65003         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65004         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65005         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65006         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65007
65008 2007-03-29  Bruno Haible  <bruno@clisp.org>
65009
65010         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65011
65012 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65013
65014         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65015         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65016
65017 2007-03-29  Eric Blake  <ebb9@byu.net>
65018
65019         * lib/acl-internal.h: Remove redundant include.
65020         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65021         Cygwin when a file is locked.
65022
65023 2007-03-29  Bruno Haible  <bruno@clisp.org>
65024
65025         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65026         file.
65027         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65028
65029 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65030
65031         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65032         try to remove a parent directory if the child couldn't be removed
65033         (except for the first rmdir, which could fail because the child
65034         doesn't exist).  Problem reported by Jeff Blaine in
65035         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65036
65037 2007-03-28  Bruno Haible  <bruno@clisp.org>
65038
65039         * lib/striconveh.c (utf8conv_carefully): New function.
65040         (mem_cd_iconveh_internal): Invoke it.
65041
65042 2007-03-28  Bruno Haible  <bruno@clisp.org>
65043
65044         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65045         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65046         input.
65047         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65048         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65049         unistr/u8-uctomb.
65050
65051 2007-03-28  Bruno Haible  <bruno@clisp.org>
65052
65053         * modules/unistr/u8-mbtoucr: New file.
65054         * lib/unistr/u8-mbtoucr.c: New file.
65055         * modules/unistr/u16-mbtoucr: New file.
65056         * lib/unistr/u16-mbtoucr.c: New file.
65057         * modules/unistr/u16-mbtoucr: New file.
65058         * lib/unistr/u16-mbtoucr.c: New file.
65059         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65060
65061 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65062             Bruno Haible  <bruno@clisp.org>
65063
65064         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65065         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65066         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65067
65068         * m4/stdio_h.m4: Add stubs for vasprintf too.
65069
65070         * modules/stdio: Support vasprintf in sed command.
65071
65072         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65073         vasprintf.h.  Add stdio module indicator.
65074
65075         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65076         vasprintf.h.
65077
65078         * lib/vasprintf.h: File removed.
65079
65080         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65081         * lib/vasprintf.c: Ditto.
65082         * lib/xvasprintf.c: Ditto.
65083         * tests/test-vasprintf-posix.c: Ditto.
65084         * tests/test-vasprintf.c: Ditto.
65085
65086 2007-03-27  Bruno Haible  <bruno@clisp.org>
65087
65088         Make vasnprintf multithread-safe.
65089         * lib/vasnprintf.c (decimal_point_char): New function.
65090         (VASNPRINTF): Use it.
65091         Suggested by Simon Josefsson.
65092
65093 2007-03-27  Eric Blake  <ebb9@byu.net>
65094
65095         Support sub-second birthtime on cygwin.
65096         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65097         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65098         (get_stat_birthtime): Also work with st_birthtim.
65099
65100 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65101
65102         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65103         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65104         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65105         (get_stat_birthtime_ns): Simplify compile-time tests.
65106         (get_stat_birthtime): Change the API to look like
65107         get_stat_mtime etc., except return a negative tv_nsec on error.
65108         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65109         Don't check for "spare" fields.
65110         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65111         or for struct stat.st_birthtime, as these tests aren't used.
65112         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65113
65114 2007-03-27  Bruno Haible  <bruno@clisp.org>
65115
65116         * lib/stat-time.h: Include <sys/stat.h>.
65117
65118 2007-03-27  James Youngman  <jay@gnu.org>
65119
65120         * lib/stat-time.h (get_stat_birthtime): New function for
65121           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65122         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65123           and its variants.
65124         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65125         * modules/stat-time-test: New file.
65126         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65127
65128 2007-03-26  Bruno Haible  <bruno@clisp.org>
65129
65130         Better support of signalling NaNs.
65131         * lib/atanl.c: Include isnanl.h.
65132         (atanl): Perform test for NaN at the beginning of the function and
65133         through a call to isnanl.
65134         * lib/cosl.c: Include isnanl.h.
65135         (cosl): Perform test for NaN at the beginning of the function and
65136         through a call to isnanl.
65137         * lib/ldexpl.c: Include isnanl.h.
65138         (ldexpl): Perform test for NaN through a call to isnanl.
65139         * lib/logl.c: Include isnanl.h.
65140         (logl): Perform test for NaN at the beginning of the function and
65141         through a call to isnanl.
65142         * lib/sinl.c: Include isnanl.h.
65143         (sinl): Perform test for NaN at the beginning of the function and
65144         through a call to isnanl.
65145         * lib/sqrtl.c: Include isnanl.h.
65146         (sqrtl): Perform test for NaN at the beginning of the function and
65147         through a call to isnanl.
65148         * lib/tanl.c: Include isnanl.h.
65149         (tanl): Perform test for NaN at the beginning of the function and
65150         through a call to isnanl.
65151         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65152         * modules/mathl (Depends-on): Add isnanl.
65153
65154 2007-03-26  Eric Blake  <ebb9@byu.net>
65155
65156         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65157         regression in logic sense of previous patch.
65158
65159 2007-03-26  Bruno Haible  <bruno@clisp.org>
65160
65161         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65162         unportable shell command "if ! ...".
65163         Reported by Ralf Wildenhues.
65164
65165 2007-03-25  Bruno Haible  <bruno@clisp.org>
65166
65167         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65168         <sysexits.h> file, and only add EX_CONFIG.
65169         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65170         absolute file name and whether it is sufficient. Substitute also
65171         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65172         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65173         ABSOLUTE_SYSEXITS_H into sysexits.h.
65174
65175 2007-03-25  Bruno Haible  <bruno@clisp.org>
65176
65177         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65178         hints is NULL.
65179
65180 2007-03-25  Bruno Haible  <bruno@clisp.org>
65181
65182         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65183         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65184
65185 2007-03-25  Bruno Haible  <bruno@clisp.org>
65186
65187         * lib/vasnprintf.c: Include langinfo.h.
65188         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65189         multithread-safe.
65190         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65191         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65192         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65193         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65194         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65195         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65196         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65197         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65198         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65199         Reported by Simon Josefsson.
65200
65201 2007-03-25  Bruno Haible  <bruno@clisp.org>
65202
65203         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65204         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65205         * modules/vasnprintf (Depends-on): Add stdint.
65206
65207 2007-03-25  Bruno Haible  <bruno@clisp.org>
65208
65209         * modules/fpieee: New file.
65210         * m4/fpieee.m4: New file.
65211         * modules/isnan-nolibm (Depends-on): Add fpieee.
65212         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65213         * modules/isnanl (Depends-on): Add fpieee.
65214
65215 2007-03-25  Bruno Haible  <bruno@clisp.org>
65216
65217         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65218
65219 2007-03-25  Bruno Haible  <bruno@clisp.org>
65220
65221         Avoid test failures on IRIX 6.5.
65222         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65223         (main): Use it.
65224         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65225         macros.
65226         (main): Use them.
65227
65228 2007-03-25  Bruno Haible  <bruno@clisp.org>
65229
65230         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65231         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65232         exists but doesn't work.
65233         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65234         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65236         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65237         math.h.
65238
65239 2007-03-25  Bruno Haible  <bruno@clisp.org>
65240
65241         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65242         returns inf. Needed on IRIX 6.5.
65243
65244 2007-03-25  Bruno Haible  <bruno@clisp.org>
65245
65246         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65247         (main): Use isnanl instead of x != x idiom.
65248         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65249
65250         * tests/test-frexp.c: Include isnan.h.
65251         (main): Use isnan instead of x != x idiom.
65252         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65253
65254 2007-03-25  Bruno Haible  <bruno@clisp.org>
65255
65256         * tests/test-frexp.c (NaN): New function/macro.
65257         (main): Use it instead of 0.0 / 0.0.
65258         * tests/test-isnan.c (NaN): New function/macro.
65259         (main): Use it instead of 0.0 / 0.0.
65260         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65261         (test_function): Use it instead of 0.0 / 0.0.
65262         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65263         (test_function): Use it instead of 0.0 / 0.0.
65264         * tests/test-snprintf-posix.h (NaN): New function/macro.
65265         (test_function): Use it instead of 0.0 / 0.0.
65266         * tests/test-sprintf-posix.h (NaN): New function/macro.
65267         (test_function): Use it instead of 0.0 / 0.0.
65268         * tests/test-fprintf-posix.h (NaN): New function/macro.
65269         (test_function): Use it instead of 0.0 / 0.0.
65270         * tests/test-printf-posix.h (NaN): New function/macro.
65271         (test_function): Use it instead of 0.0 / 0.0.
65272
65273         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65274
65275 2007-03-25  Bruno Haible  <bruno@clisp.org>
65276
65277         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65278
65279 2007-03-25  Bruno Haible  <bruno@clisp.org>
65280
65281         * lib/regexec.c (merge_state_with_log): Make static.
65282
65283 2007-03-25  Bruno Haible  <bruno@clisp.org>
65284
65285         * lib/trigl.c (kernel_rem_pio2): Make static.
65286
65287 2007-03-25  Bruno Haible  <bruno@clisp.org>
65288
65289         * lib/sincosl.c (sincosl_table): Make static.
65290
65291 2007-03-25  Bruno Haible  <bruno@clisp.org>
65292
65293         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65294         if the compiler does not support C99.
65295
65296 2007-03-25  Bruno Haible  <bruno@clisp.org>
65297
65298         * modules/time (Makefile.am): Ensure all rule action lines start with a
65299         tab.
65300
65301 2007-03-24  Bruno Haible  <bruno@clisp.org>
65302
65303         * modules/tsearch-tests: New file.
65304         * tests/test-tsearch.sh: New file.
65305         * tests/test-tsearch.c: New file, mostly copied from glibc.
65306
65307         * modules/search-tests: New file.
65308         * tests/test-search.c: New file.
65309
65310         * modules/search: New file.
65311         * lib/search_.h: New file, incorporating lib/tsearch.h.
65312         * m4/search_h.m4: New file.
65313         * lib/tsearch.h: Remove file.
65314         * lib/tsearch.c: Include search.h instead of tsearch.h.
65315         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65316         HAVE_TSEARCH.
65317         * modules/tsearch (Files): Remove lib/tsearch.h.
65318         (Depends-on): Add search.
65319         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65320         (Include): Change tsearch.h into search.h.
65321
65322 2007-03-24  Bruno Haible  <bruno@clisp.org>
65323
65324         * modules/fpucw: New file.
65325         * lib/fpucw.h: New file.
65326         * lib/frexp.c: Include fpucw.h.
65327         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65328         (FUNC): Use them.
65329         * lib/printf-frexp.c: Include fpucw.h.
65330         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65331         (FUNC): Use them.
65332         * lib/vasnprintf.c: Include fpucw.h.
65333         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65334         'long double' calculations.
65335         * tests/test-frexpl.c: Include fpucw.h.
65336         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65337         * tests/test-printf-frexpl.c: Include fpucw.h.
65338         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65339         * modules/frexpl (Depends-on): Add fpucw.
65340         * modules/printf-frexpl (Depends-on): Likewise.
65341         * modules/fprintf-posix (Depends-on): Likewise.
65342         * modules/snprintf-posix (Depends-on): Likewise.
65343         * modules/sprintf-posix (Depends-on): Likewise.
65344         * modules/vasnprintf-posix (Depends-on): Likewise.
65345         * modules/vasprintf-posix (Depends-on): Likewise.
65346         * modules/vfprintf-posix (Depends-on): Likewise.
65347         * modules/vsnprintf-posix (Depends-on): Likewise.
65348         * modules/vsprintf-posix (Depends-on): Likewise.
65349         * modules/frexpl-tests (Depends-on): Likewise.
65350         * modules/printf-frexpl-tests (Depends-on): Likewise.
65351
65352 2007-03-24  Bruno Haible  <bruno@clisp.org>
65353
65354         * lib/float+.h: New file.
65355         * lib/isnan.c: Include float+.h.
65356         (SIZE): New macro.
65357         (FUNC): Compare only SIZE bytes of the value.
65358         * lib/vasnprintf.c: Include float+.h.
65359         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65360         SIZEOF_LDBL or SIZEOF_DBL bytes.
65361         * modules/isnan-nolibm (Files): Add lib/float+.h.
65362         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65363         * modules/isnanl (Files): Add lib/float+.h.
65364         * modules/vasnprintf (Files): Add lib/float+.h.
65365
65366 2007-03-24  Bruno Haible  <bruno@clisp.org>
65367
65368         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65369         include isnanl-nolibm.h.
65370
65371 2007-03-24  Bruno Haible  <bruno@clisp.org>
65372
65373         * tests/test-read-file.c (main): Don't produce spurious output for
65374         expected situations. Make the test fail if it encountered unexpected
65375         results.
65376
65377 2007-03-24  Bruno Haible  <bruno@clisp.org>
65378
65379         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65380         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65381
65382 2007-03-24  Bruno Haible  <bruno@clisp.org>
65383
65384         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65385
65386 2007-03-24  Bruno Haible  <bruno@clisp.org>
65387
65388         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65389         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65390
65391         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65392         * modules/utf8-ucs4: Turn into a symbolic link to module
65393         unistr/u8-mbtouc.
65394
65395         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65396         utf8-ucs4-unsafe.
65397         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65398         unistr/u8-mbtouc-unsafe.
65399
65400         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65401         * modules/utf16-ucs4: Turn into a symbolic link to module
65402         unistr/u16-mbtouc.
65403
65404         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65405         utf16-ucs4-unsafe.
65406         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65407         unistr/u16-mbtouc-unsafe.
65408
65409         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65410         * modules/ucs4-utf8: Turn into a symbolic link to module
65411         unistr/u8-ubtomb.
65412
65413         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65414         * modules/ucs4-utf16: Turn into a symbolic link to module
65415         unistr/u16-ubtomb.
65416
65417 2007-03-24  Bruno Haible  <bruno@clisp.org>
65418
65419         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65420         Enable the function only if HAVE_INLINE.
65421         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65422         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65423         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65424         Enable the function only if HAVE_INLINE.
65425         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65426         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65427         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65428         Enable the function only if HAVE_INLINE.
65429         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65430         Enable the function only if HAVE_INLINE.
65431         * modules/utf8-ucs4: Update.
65432         * modules/utf8-ucs4-unsafe: Update.
65433         * modules/utf16-ucs4: Update.
65434         * modules/utf16-ucs4-unsafe: Update.
65435         * modules/ucs4-utf8: Update.
65436         * modules/ucs4-utf16: Update.
65437
65438 2007-03-24  Bruno Haible  <bruno@clisp.org>
65439
65440         * lib/utf8-ucs4.h: Remove file.
65441         * lib/utf8-ucs4-unsafe.h: Remove file.
65442         * lib/utf16-ucs4.h: Remove file.
65443         * lib/utf16-ucs4-unsafe.h: Remove file.
65444         * lib/ucs4-utf8.h: Remove file.
65445         * lib/ucs4-utf16.h: Remove file.
65446         * lib/unistr.h: Include their previous contents.
65447         * m4/utf-ucs4.m4: Remove file.
65448         * m4/ucs4-utf.m4: Remove file.
65449         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65450         (Depends-on): Add unistr/base.
65451         (configure.ac): Remove gl_UTF_UCS4.
65452         (Makefile.am): Update.
65453         (Include): Change to unistr.h.
65454         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65455         (Depends-on): Add unistr/base.
65456         (configure.ac): Remove gl_UTF_UCS4.
65457         (Makefile.am): Update.
65458         (Include): Change to unistr.h.
65459         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65460         (Depends-on): Add unistr/base.
65461         (configure.ac): Remove gl_UTF_UCS4.
65462         (Makefile.am): Update.
65463         (Include): Change to unistr.h.
65464         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65465         (Depends-on): Add unistr/base.
65466         (configure.ac): Remove gl_UTF_UCS4.
65467         (Makefile.am): Update.
65468         (Include): Change to unistr.h.
65469         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65470         (Depends-on): Add unistr/base.
65471         (configure.ac): Remove gl_UCS4_UTF.
65472         (Makefile.am): Update.
65473         (Include): Change to unistr.h.
65474         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65475         (Depends-on): Add unistr/base.
65476         (configure.ac): Remove gl_UCS4_UTF.
65477         (Makefile.am): Update.
65478         (Include): Change to unistr.h.
65479         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65480         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65481         utf8-ucs4-unsafe.h.
65482         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65483         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65484         utf16-ucs4-unsafe.h.
65485         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65486         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65487         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65488         * lib/unistr/u8-strchr.c: Likewise.
65489         * lib/unistr/u8-strrchr.c: Likewise.
65490         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65491         * lib/unistr/u16-strchr.c: Likewise.
65492         * lib/unistr/u16-strrchr.c: Likewise.
65493         * lib/striconveh.c: Update.
65494         * lib/linebreak.c: Update.
65495
65496 2007-03-24  Bruno Haible  <bruno@clisp.org>
65497
65498         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65499         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65500
65501 2007-03-22  Bruno Haible  <bruno@clisp.org>
65502
65503         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65504
65505 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65506
65507         * MODULES.html.sh (File system functions): New module write-any-file.
65508         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65509         * m4/write-any-file.m4: New files.
65510
65511 2007-03-23  Eric Blake  <ebb9@byu.net>
65512
65513         * gnulib-tool: Rearrange space-tab sequences, since some editors
65514         like to eat them.
65515
65516 2007-03-23  Eric Blake  <ebb9@byu.net>
65517
65518         * lib/version-etc.c (version_etc_va): Update license wording to
65519         be more concise.  Recommended by Richard Stallman.
65520
65521 2007-03-22  Bruno Haible  <bruno@clisp.org>
65522
65523         * lib/poll.c (MSG_PEEK): New fallback definition.
65524
65525 2007-03-22  Bruno Haible  <bruno@clisp.org>
65526
65527         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65528         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65529         (main): Update.
65530         Fixes a compilation error on BeOS.
65531
65532 2007-03-22  Bruno Haible  <bruno@clisp.org>
65533
65534         * modules/frexpl-tests: New file.
65535         * tests/test-frexpl.c: New file.
65536
65537         * modules/frexpl: New file.
65538         * m4/frexpl.m4: New file.
65539         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65540         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65541         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65542         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65543         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65544         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65545
65546 2007-03-22  Bruno Haible  <bruno@clisp.org>
65547
65548         * lib/frexpl.c: Share code with lib/frexp.c.
65549         * modules/mathl (Files): Add lib/frexp.c.
65550         (Depends-on): Add isnanl-nolibm.
65551
65552 2007-03-22  Bruno Haible  <bruno@clisp.org>
65553
65554         * modules/printf-frexp (Files): Add m4/frexp.m4.
65555         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65556         only if the found frexp function actually works.
65557
65558 2007-03-22  Bruno Haible  <bruno@clisp.org>
65559
65560         * lib/frexp.c: Remove older implementation that uses divisions.
65561
65562 2007-03-21  Bruno Haible  <bruno@clisp.org>
65563
65564         * modules/frexp-tests: New file.
65565         * tests/test-frexp.c: New file.
65566
65567         * modules/frexp: New file.
65568         * lib/frexp.c: New file.
65569         * m4/frexp.m4: New file.
65570         * lib/math_.h (frexp): New declaration.
65571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65572         REPLACE_FREXP.
65573         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65574
65575 2007-03-21  Bruno Haible  <bruno@clisp.org>
65576
65577         * modules/isnanl-tests: New file.
65578         * tests/test-isnanl.c: New file.
65579
65580         * modules/isnanl: New file.
65581         * lib/isnanl.h: New file.
65582         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65583         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65584         gl_FUNC_ISNANL_WORKS.
65585         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65586         New macros.
65587
65588 2007-03-21  Bruno Haible  <bruno@clisp.org>
65589
65590         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65591         lib/isnanl.h.
65592         (Include): Update.
65593         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65594         * lib/vasnprintf.c: Update.
65595         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65596         tests/test-isnanl.h, remove tests/test-isnanl.c.
65597         (Makefile.am): Update.
65598         * tests/test-isnanl-nolibm.c: New file.
65599         * tests/test-isnanl.h: New file.
65600         * tests/test-isnanl.c: Remove file.
65601
65602 2007-03-21  Jim Meyering  <jim@meyering.net>
65603
65604         When trying to open ".", treat ESTALE like EACCES.
65605         * lib/savewd.c (savewd_save): Resort to forking not just upon
65606         failure with EACCES, but also when errno is ESTALE.
65607
65608 2007-03-20  Bruno Haible  <bruno@clisp.org>
65609
65610         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65611         Needed on AIX 5.1. Reported by Matthew Woehlke.
65612
65613 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65614
65615         Suggestions by Bruno Haible:
65616         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65617         our own.
65618         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65619         * modules/acl (Depends-on): Add gettext.
65620
65621 2007-03-19  Bruno Haible  <bruno@clisp.org>
65622
65623         * modules/iconvme: Remove file.
65624         * lib/iconvme.h: Remove file.
65625         * lib/iconvme.c: Remove file.
65626         * m4/iconvme.m4: Remove file.
65627
65628 2007-03-19  Bruno Haible  <bruno@clisp.org>
65629
65630         * doc/relocatable-maint.texi: Break long shell script line.
65631         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65632
65633 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65634
65635         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65636         handle file_has_acl.
65637         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65638         * lib/acl.c: Move header inclusions and related macro defns into
65639         lib/acl-internal.h.
65640         (S_ISLNK): Remove defn, since that's now done for us.
65641         (file_has_acl): Move to lib/file-has-acl.c.
65642         Call acl_trivial if available.  This is the crucial part of the fix.
65643         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65644         shared within the library.  Rewrite a bit, partly to make it compatible
65645         with the GNU coding style.
65646         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65647         Remove unnecessary double-quotes.
65648         Don't test for acl_to_text; the build will catch that.
65649         Replace acl_entries if it doesn't exist and it is needed.
65650         Check for -lsec and acl_trivial (as used on Solaris 10).
65651         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65652         lib/file-has-acl.c.
65653         (Depends-on): Add sys_stat, for S_ISLNK.
65654
65655 2007-03-19  Ben Pfaff  <blp@gnu.org>
65656
65657         * doc/gnulib.texi: Fix typos.
65658         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65659
65660 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65661
65662         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65663         If size is zero here, buf must be zero.
65664
65665 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65666
65667         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65668         <bruno@clisp.org>.
65669
65670 2007-03-18  Bruno Haible  <bruno@clisp.org>
65671
65672         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65673         Suggested by Eric Blake.
65674
65675 2007-03-18  Ben Pfaff  <blp@gnu.org>
65676
65677         * doc/relocatable.texi: Recommend using as prefix a directory
65678         that does not exist and will never be created.  Based on
65679         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65680         and others.
65681
65682 2007-03-17  Bruno Haible  <bruno@clisp.org>
65683
65684         * lib/fchownat.c: Include lchown.h.
65685
65686 2007-03-17  Bruno Haible  <bruno@clisp.org>
65687
65688         Fix endless loop when the given allocated size was > INT_MAX.
65689         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65690         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65691         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65692         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65693         * lib/sprintf.c (sprintf): Likewise.
65694
65695 2007-03-17  Bruno Haible  <bruno@clisp.org>
65696
65697         * tests/test-argp-2.sh (func_compare): Output a context diff.
65698
65699 2007-03-17  Bruno Haible  <bruno@clisp.org>
65700
65701         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65702         locale's decimal-point character.
65703
65704 2007-03-17  Bruno Haible  <bruno@clisp.org>
65705
65706         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65707         before comparing it. Needed because on some platforms (e.g. x86) a
65708         'long double' occupies less bytes than sizeof (long double).
65709
65710 2007-03-17  Bruno Haible  <bruno@clisp.org>
65711
65712         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65713         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65714         * tests/test-getaddrinfo.c (simple): Likewise.
65715         * tests/test-read-file.c (main): Likewise.
65716
65717 2007-03-17  Bruno Haible  <bruno@clisp.org>
65718
65719         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65720
65721 2007-03-17  Bruno Haible  <bruno@clisp.org>
65722
65723         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65724         unused variable.
65725
65726 2007-03-17  Bruno Haible  <bruno@clisp.org>
65727
65728         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65729         * tests/test-c-strncasecmp.c: Likewise.
65730
65731 2007-03-17  Bruno Haible  <bruno@clisp.org>
65732
65733         * modules/stdlib (Depends-on): Add unistd.
65734         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65735         Needed for MacOS X 10.3.
65736
65737 2007-03-17  Bruno Haible  <bruno@clisp.org>
65738
65739         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65740
65741 2007-03-17  Bruno Haible  <bruno@clisp.org>
65742
65743         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65744
65745 2007-03-17  Bruno Haible  <bruno@clisp.org>
65746
65747         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65748         to reflect files copied from gnulib (with or without modifications).
65749         Suggested by Jim Meyering.
65750
65751 2007-03-17  Eric Blake  <ebb9@byu.net>
65752
65753         * NEWS: Document stdlib change from 2007-02-18.
65754
65755 2007-03-17  Jim Meyering  <jim@meyering.net>
65756
65757         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65758         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65759         someone uses a name containing shell meta-characters.
65760         Reported by Alfred M. Szmidt.
65761
65762         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65763
65764 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65765
65766         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65767         and copy gettext configuration files only if configure.ac contains
65768         a use of AM_GNU_GETTEXT_VERSION.
65769
65770 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65771
65772         * build-aux/bootstrap (gnulib_name): New variable.
65773         (gnulib_tool_options): Use it.
65774
65775 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65776
65777         * tests/test-des.c: Use new namespace.
65778
65779 2007-03-15  Bruno Haible  <bruno@clisp.org>
65780
65781         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65782         Reported by James Youngman <jay@gnu.org>.
65783
65784 2007-03-15  Bruno Haible  <bruno@clisp.org>
65785
65786         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65787         declared prototype. Needed with cc on OSF/1 5.1.
65788
65789 2007-03-15  Bruno Haible  <bruno@clisp.org>
65790
65791         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65792         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65793         (struct gl_list_implementation): Add dispose_fn argument to the
65794         'create_empty', 'create' methods.
65795         (struct gl_list_impl_base): Add field 'dispose_fn'.
65796         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65797         argument.
65798         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
65799         dispose_fn argument.
65800         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
65801         dispose_fn on the dropped values.
65802         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
65803         dispose_fn argument.
65804         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
65805         dropped values.
65806         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
65807         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65808         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
65809         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65810         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
65811         argument.
65812         (gl_tree_list_free): Call dispose_fn on the dropped values.
65813         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65814         the dropped values.
65815         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65816         Add dispose_fn argument.
65817         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65818         Call dispose_fn on the dropped values.
65819         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65820         Add dispose_fn argument.
65821         (gl_sublist_create): Initialize the 'dispose_fn' field.
65822         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65823         * tests/test-array_list.c (main): Update.
65824         * tests/test-carray_list.c (main): Update.
65825         * tests/test-avltree_list.c (main): Update.
65826         * tests/test-rbtree_list.c (main): Update.
65827         * tests/test-avltreehash_list.c (main): Update.
65828         * tests/test-rbtreehash_list.c (main): Update.
65829         * tests/test-linked_list.c (main): Update.
65830         * tests/test-linkedhash_list.c (main): Update.
65831         * tests/test-array_oset.c (main): Update.
65832
65833 2007-03-15  Bruno Haible  <bruno@clisp.org>
65834
65835         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65836         (gl_oset_create_empty): Add dispose_fn argument.
65837         (struct gl_oset_implementation): Add dispose_fn argument to
65838         'create_empty' method.
65839         (struct gl_oset_impl_base): Add dispose_fn field.
65840         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65841         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65842         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65843         values.
65844         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65845         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65846         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65847         dropped value.
65848         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65849         dropped value.
65850         * tests/test-array_oset.c (main): Update.
65851         * tests/test-avltree_oset.c (main): Update.
65852         * tests/test-rbtree_oset.c (main): Update.
65853         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65854
65855 2007-03-13  Bruno Haible  <bruno@clisp.org>
65856
65857         * tests/test-stdbool.c (i): Update after last patch.
65858
65859 2007-03-12  Bruno Haible  <bruno@clisp.org>
65860
65861         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65862         the iswprint macro. Needed on Solaris 2.5.1.
65863
65864 2007-03-12  Bruno Haible  <bruno@clisp.org>
65865
65866         * tests/test-printf-frexp.c (main): Declare x as volatile.
65867
65868 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65869
65870         * doc/gnulib.texi (Build robot for gnulib): New section.
65871
65872 2007-03-12  Jim Meyering  <jim@meyering.net>
65873
65874         * build-aux/bootstrap: New file.
65875         * build-aux/bootstrap.conf: New file, from coreutils.
65876
65877 2007-03-11  Bruno Haible  <bruno@clisp.org>
65878
65879         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65880
65881 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65882
65883         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65884         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65885         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65886
65887 2007-03-11  Bruno Haible  <bruno@clisp.org>
65888
65889         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65890         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65891
65892 2007-03-11  Bruno Haible  <bruno@clisp.org>
65893
65894         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65895         formula. Needed for SunPRO C 5.0.
65896
65897 2007-03-11  Bruno Haible  <bruno@clisp.org>
65898
65899         * modules/long-options (Depends-on): Add getopt.
65900
65901 2007-03-11  Bruno Haible  <bruno@clisp.org>
65902
65903         * modules/modechange (Depends-on): Add stdbool.
65904
65905 2007-03-11  Bruno Haible  <bruno@clisp.org>
65906
65907         * modules/i-ring (Depends-on): Add stdbool.
65908
65909 2007-03-11  Bruno Haible  <bruno@clisp.org>
65910
65911         * modules/gc-des (Depends-on): Add stdbool.
65912
65913 2007-03-11  Bruno Haible  <bruno@clisp.org>
65914
65915         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
65916
65917 2007-03-11  Bruno Haible  <bruno@clisp.org>
65918
65919         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
65920
65921 2007-03-11  Bruno Haible  <bruno@clisp.org>
65922
65923         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
65924
65925 2007-03-11  Bruno Haible  <bruno@clisp.org>
65926
65927         * lib/vasnprintf.c (sprintf): Undefine.
65928
65929 2007-03-11  Bruno Haible  <bruno@clisp.org>
65930
65931         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
65932         initializers in SunPRO C and Compaq C compilers.
65933
65934 2007-03-11  Bruno Haible  <bruno@clisp.org>
65935
65936         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
65937         decrementing code ANSI C compliant.
65938
65939 2007-03-11  Bruno Haible  <bruno@clisp.org>
65940
65941         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
65942         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
65943
65944 2007-03-11  Bruno Haible  <bruno@clisp.org>
65945
65946         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
65947         <stdbool.h> substitute doesn't pass.
65948
65949 2007-03-11  Bruno Haible  <bruno@clisp.org>
65950
65951         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
65952
65953 2007-03-11  Bruno Haible  <bruno@clisp.org>
65954
65955         * gnulib-tool (func_create_megatestdir): Create also an autobuild
65956         script, for submission to autobuild.josefsson.org.
65957
65958 2007-03-10  Bruno Haible  <bruno@clisp.org>
65959
65960         * modules/canonicalize-lgpl-tests: New file.
65961         * tests/test-canonicalize-lgpl.sh: New file.
65962         * tests/test-canonicalize-lgpl.c: New file.
65963
65964         * modules/c-strcase-tests: New file.
65965         * tests/test-c-strcase.sh: New file.
65966         * tests/test-c-strcasecmp.c: New file.
65967         * tests/test-c-strncasecmp.c: New file.
65968
65969         * modules/atexit-tests: New file.
65970         * tests/test-atexit.sh: New file.
65971         * tests/test-atexit.c: New file.
65972
65973 2007-03-10  Bruno Haible  <bruno@clisp.org>
65974
65975         * tests/test-binary-io.sh: Use temporary filenames that are not so
65976         likely to clash with those of other tests (in a parallel make).
65977         * tests/test-binary-io.c: Likewise.
65978
65979 2007-03-10  Bruno Haible  <bruno@clisp.org>
65980
65981         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
65982         fallback; use #error instead.
65983         Suggested by Simon Josefsson.
65984
65985 2007-03-10  Bruno Haible  <bruno@clisp.org>
65986
65987         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
65988         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
65989         first and the last.
65990
65991 2007-03-10  Bruno Haible  <bruno@clisp.org>
65992
65993         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
65994
65995 2007-03-10  Bruno Haible  <bruno@clisp.org>
65996
65997         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
65998         "make distcheck".
65999         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66000         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66001         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66002
66003 2007-03-10  Bruno Haible  <bruno@clisp.org>
66004
66005         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66006         variable.
66007         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66008         variable.
66009
66010 2007-03-09  Eric Blake  <ebb9@byu.net>
66011         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66012
66013         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66014         types are not being provided by gnulib.
66015         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66016         types are supported.
66017
66018 2007-03-10  Bruno Haible  <bruno@clisp.org>
66019
66020         * lib/stdio_.h (__attribute__): New macro.
66021         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66022         vsprintf): Specify __attribute__ __format__ for GCC.
66023         Suggested by Eric Blake.
66024
66025 2007-03-09  Bruno Haible  <bruno@clisp.org>
66026
66027         * modules/printf-posix-tests: New file.
66028         * tests/test-printf-posix.sh: New file.
66029         * tests/test-printf-posix.c: New file.
66030
66031         * modules/printf-posix: New file.
66032         * lib/printf.c: New file.
66033         * m4/printf-posix-rpl.m4: New file.
66034         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66035         REPLACE_PRINTF.
66036         * lib/stdio_.h (printf): New declaration.
66037         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66038         ____strfmon____): New macros.
66039         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66040         REPLACE_PRINTF.
66041
66042 2007-03-09  Bruno Haible  <bruno@clisp.org>
66043
66044         * tests/test-vasnprintf-posix2.sh: New file.
66045         * tests/test-vasnprintf-posix2.c: New file.
66046         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66047         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66048         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66049
66050         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66051         a locale dependent decimal point, rather than always '.'.
66052
66053 2007-03-09  Eric Blake  <ebb9@byu.net>
66054
66055         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66056         spite of platforms like Tandem/NSK that define it to -1.
66057
66058 2007-03-08  Bruno Haible  <bruno@clisp.org>
66059
66060         * modules/vprintf-posix-tests: New file.
66061         * tests/test-vprintf-posix.sh: New file.
66062         * tests/test-vprintf-posix.c: New file.
66063         * tests/test-printf-posix.h: New file.
66064
66065         * modules/vprintf-posix: New file.
66066         * lib/vprintf.c: New file.
66067         * m4/vprintf-posix.m4: New file.
66068         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66069         REPLACE_VPRINTF.
66070         * lib/stdio_.h (vprintf): New declaration.
66071         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66072         REPLACE_VPRINTF.
66073
66074 2007-03-08  Bruno Haible  <bruno@clisp.org>
66075
66076         * modules/fprintf-posix-tests: New file.
66077         * tests/test-fprintf-posix.sh: New file.
66078         * tests/test-fprintf-posix.c: New file.
66079
66080         * modules/fprintf-posix: New file.
66081         * lib/fprintf.c: New file.
66082         * m4/fprintf-posix.m4: New file.
66083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66084         REPLACE_FPRINTF.
66085         * lib/stdio_.h (fprintf): New declaration.
66086         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66087         REPLACE_FPRINTF.
66088
66089 2007-03-08  Bruno Haible  <bruno@clisp.org>
66090
66091         * modules/vfprintf-posix-tests: New file.
66092         * tests/test-vfprintf-posix.sh: New file.
66093         * tests/test-vfprintf-posix.c: New file.
66094         * tests/test-fprintf-posix.h: New file.
66095         * tests/test-fprintf-posix.out: New file.
66096
66097         * modules/vfprintf-posix: New file.
66098         * lib/vfprintf.c: New file.
66099         * m4/vfprintf-posix.m4: New file.
66100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66101         REPLACE_VFPRINTF.
66102         * lib/stdio_.h (vfprintf): New declaration.
66103         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66104         REPLACE_VFPRINTF.
66105
66106 2007-03-08  Bruno Haible  <bruno@clisp.org>
66107
66108         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66109
66110 2007-03-08  Bruno Haible  <bruno@clisp.org>
66111
66112         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66113         instead of 'expr' invocations.
66114         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66115         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66116         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66117         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66118         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66119         Suggested by Paul Eggert.
66120
66121 2007-03-08  Bruno Haible  <bruno@clisp.org>
66122
66123         * modules/fseterr-tests: New file.
66124         * tests/test-fseterr.c: New file.
66125
66126         * modules/fseterr: New file.
66127         * lib/fseterr.h: New file.
66128         * lib/fseterr.c: New file.
66129
66130 2007-03-08  Bruno Haible  <bruno@clisp.org>
66131
66132         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66133         * lib/getopt_.h: Likewise.
66134         * lib/mbswidth.h: Likewise.
66135         * lib/setenv.h: Likewise.
66136         * lib/vasnprintf.h: Likewise.
66137         * lib/vasprintf.h: Likewise.
66138         * lib/verror.h: Likewise.
66139         * lib/xsetenv.h: Likewise.
66140         * lib/xvasprintf.h: Likewise.
66141
66142 2007-03-08  Jim Meyering  <jim@meyering.net>
66143
66144         * users.txt: Add parted.
66145
66146         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66147
66148 2007-03-07  Bruno Haible  <bruno@clisp.org>
66149
66150         * m4/printf.m4: Make the shell script snippets copy&pastable.
66151
66152 2007-03-02  Bruno Haible  <bruno@clisp.org>
66153
66154         * lib/netinet_in_.h: New file.
66155         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66156         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66157         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66158         (Depends-on): Add absolute-header.
66159         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66160         into netinet/in.h.
66161
66162 2007-03-03  Bruno Haible  <bruno@clisp.org>
66163
66164         * lib/sys_select_.h: New file.
66165         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66166         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66167         * modules/sys_select (Files): Add lib/sys_select_.h.
66168         (Depends-on): Add absolute-header.
66169         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66170         into sys/select.h.
66171
66172 2007-03-02  Bruno Haible  <bruno@clisp.org>
66173
66174         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66175         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66176         values.
66177         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66178         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66179         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66180         * modules/sys_socket (Depends-on): Add absolute-header.
66181         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66182         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66183         (Include): Remove requirement of inclusion of <sys/types.h>.
66184
66185 2007-03-02  Bruno Haible  <bruno@clisp.org>
66186
66187         * lib/byteswap_.h (bswap_32): Fix formula.
66188
66189 2007-03-06  Bruno Haible  <bruno@clisp.org>
66190
66191         * modules/sprintf-posix-tests: New file.
66192         * tests/test-sprintf-posix.c: New file.
66193
66194         * modules/sprintf-posix: New file.
66195         * lib/sprintf.c: New file.
66196         * m4/sprintf-posix.m4: New file.
66197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66198         REPLACE_SPRINTF.
66199         * lib/stdio_.h (sprintf): New declaration.
66200         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66201         REPLACE_SPRINTF.
66202
66203 2007-03-06  Bruno Haible  <bruno@clisp.org>
66204
66205         * modules/vsprintf-posix-tests: New file.
66206         * tests/test-vsprintf-posix.c: New file.
66207         * tests/test-sprintf-posix.h: New file.
66208
66209         * modules/vsprintf-posix: New file.
66210         * lib/vsprintf.c: New file.
66211         * m4/vsprintf-posix.m4: New file.
66212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66213         REPLACE_VSPRINTF.
66214         * lib/stdio_.h (vsprintf): New declaration.
66215         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66216         REPLACE_VSPRINTF.
66217
66218 2007-03-06  Bruno Haible  <bruno@clisp.org>
66219
66220         * modules/vsnprintf (Depend-on): Remove minmax.
66221
66222 2007-03-06  Bruno Haible  <bruno@clisp.org>
66223
66224         * modules/snprintf-posix-tests: New file.
66225         * tests/test-snprintf-posix.c: New file.
66226
66227         * modules/snprintf-posix: New file.
66228         * m4/snprintf-posix.m4: New file.
66229         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66230         gl_FUNC_SNPRINTF.
66231         (gl_FUNC_SNPRINTF): Invoke it.
66232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66233         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66234         is set.
66235         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66236
66237 2007-03-06  Bruno Haible  <bruno@clisp.org>
66238
66239         * modules/vsnprintf-posix-tests: New file.
66240         * tests/test-vsnprintf-posix.c: New file.
66241         * tests/test-snprintf-posix.h: New file.
66242
66243         * modules/vsnprintf-posix: New file.
66244         * m4/vsnprintf-posix.m4: New file.
66245         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66246         gl_FUNC_VSNPRINTF.
66247         (gl_FUNC_VSNPRINTF): Invoke it.
66248         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66249         * lib/stdio_.h (vsnprintf): Define as a replacement if
66250         REPLACE_VSNPRINTF is set.
66251         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66252
66253 2007-03-06  Bruno Haible  <bruno@clisp.org>
66254
66255         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66256         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66257
66258 2007-03-06  Bruno Haible  <bruno@clisp.org>
66259
66260         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66261         (asinl): Declare also if HAVE_DECL_ASINL is set.
66262         (atanl): Declare also if HAVE_DECL_ATANL is set.
66263         (ceill): Declare also if HAVE_DECL_CEILL is set.
66264         (cosl): Declare also if HAVE_DECL_COSL is set.
66265         (expl): Declare also if HAVE_DECL_EXPL is set.
66266         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66267         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66268         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66269         (logl): Declare also if HAVE_DECL_LOGL is set.
66270         (sinl): Declare also if HAVE_DECL_SINL is set.
66271         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66272         (tanl): Declare also if HAVE_DECL_TANL is set.
66273         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66275         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66276         declaration of frexpl, ldexpl.
66277         * modules/printf-frexpl (Depends-on): Add math.
66278         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66279
66280 2007-03-05  Bruno Haible  <bruno@clisp.org>
66281
66282         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66283         frexpl and ldexpl are declared.
66284         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66285
66286 2007-03-05  Bruno Haible  <bruno@clisp.org>
66287
66288         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66289         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66290
66291 2007-03-05  Bruno Haible  <bruno@clisp.org>
66292
66293         * lib/stdio_.h: Include <stddef.h>.
66294
66295 2007-03-05  Bruno Haible  <bruno@clisp.org>
66296
66297         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66298
66299 2007-03-05  Bruno Haible  <bruno@clisp.org>
66300
66301         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66302         NetBSD 4, from Ralf Wildenhues.
66303
66304 2007-03-04  Bruno Haible  <bruno@clisp.org>
66305
66306         * lib/vasprintf.h: Update #if logic for the case when the functions
66307         exist but are overridden.
66308
66309 2007-03-04  Bruno Haible  <bruno@clisp.org>
66310
66311         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66312         implementations: glibc-2.4 and MacOS X 10.3.
66313         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66314         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66315         * tests/test-vasprintf-posix.c (test_function): Likewise.
66316
66317 2007-03-04  Bruno Haible  <bruno@clisp.org>
66318
66319         * modules/vasprintf-posix-tests: New file.
66320         * tests/test-vasprintf-posix.c: New file.
66321
66322         * modules/vasprintf-posix: New file.
66323         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66324         defined.
66325         * m4/vasprintf-posix.m4: New file.
66326         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66327         gl_FUNC_VASPRINTF.
66328         (gl_FUNC_VASPRINTF): Invoke it.
66329         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66330         here.
66331         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66332
66333 2007-03-04  Bruno Haible  <bruno@clisp.org>
66334
66335         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66336         REPLACE_GETTIMEOFDAY.
66337         * modules/sys_time (Makefile.am): Likewise.
66338         * m4/sys_time_h.m4: Likewise.
66339         * m4/gettimeofday.m4: Likewise.
66340
66341 2007-03-04  Bruno Haible  <bruno@clisp.org>
66342
66343         * modules/vasnprintf-posix-tests: New file.
66344         * tests/test-vasnprintf-posix.c: New file.
66345
66346         * modules/vasnprintf-posix: New file.
66347         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66348         printf-frexpl.h.
66349         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66350         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66351         REPLACE_VASNPRINTF is defined.
66352         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66353         gl_FUNC_VASNPRINTF.
66354         (gl_FUNC_VASNPRINTF): Invoke it.
66355         * m4/vasnprintf-posix.m4: New file.
66356         * m4/printf.m4: New file.
66357
66358 2007-03-04  Bruno Haible  <bruno@clisp.org>
66359
66360         Compile progreloc.c only if --enable-relocatable is specified.
66361         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66362         if --enable-relocatable was specified.
66363         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66364         lib_SOURCES.
66365
66366 2007-03-04  Jim Meyering  <jim@meyering.net>
66367
66368         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66369         Use it consistently, rather than enumerating errno constants.
66370
66371 2007-03-04  Bruno Haible  <bruno@clisp.org>
66372
66373         * modules/xvasprintf-tests: New file.
66374         * tests/test-xvasprintf.c: New file.
66375
66376         * modules/vasprintf-tests: New file.
66377         * tests/test-vasprintf.c: New file.
66378
66379         * modules/vasnprintf-tests: New file.
66380         * tests/test-vasnprintf.c: New file.
66381
66382         * modules/vsnprintf-tests: New file.
66383         * tests/test-vsnprintf.c: New file.
66384
66385         * modules/snprintf-tests: New file.
66386         * tests/test-snprintf.c: New file.
66387
66388 2007-03-04  Bruno Haible  <bruno@clisp.org>
66389
66390         Compile relocatable.c only if --enable-relocatable is specified.
66391         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66392         gl_RELOCATABLE_LIBRARY.
66393         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66394         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66395         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66396         gl_RELOCATABLE_LIBRARY.
66397         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66398         (Makefile.am): Remove lib_SOURCES.
66399         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66400         gl_RELOCATABLE_LIBRARY.
66401         (Makefile.am): Remove lib_SOURCES.
66402         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66403         always.
66404         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66405         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66406
66407 2007-03-04  Bruno Haible  <bruno@clisp.org>
66408
66409         * modules/argmatch-tests: New file.
66410         * tests/test-argmatch.c: New file.
66411
66412         * tests/test-allocsa.c (main): Halve the number of loop runs.
66413
66414         * modules/alloca-opt-tests: New file.
66415         * tests/test-alloca-opt.c: New file.
66416
66417 2007-03-04  Jim Meyering  <jim@meyering.net>
66418
66419         Work around difference between Linux ACLs and Solaris 10 ZFS.
66420         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66421         for EINVAL.
66422
66423 2007-03-03  Bruno Haible  <bruno@clisp.org>
66424
66425         * modules/relocatable-prog (Depends-on): Add back progreloc's
66426         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66427
66428 2007-03-03  Bruno Haible  <bruno@clisp.org>
66429
66430         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66431         * modules/relocatable-lib: New file.
66432
66433 2007-03-03  Bruno Haible  <bruno@clisp.org>
66434
66435         * modules/relocatable-prog: Renamed from modules/relocatable.
66436         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66437
66438 2007-03-03  Bruno Haible  <bruno@clisp.org>
66439
66440         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66441         m4/relocatable-lib.m4.
66442         (Depends-on): Remove 'relocatable'.
66443         (configure.ac): Add gl_RELOCATABLE_NOP.
66444
66445 2007-03-03  Bruno Haible  <bruno@clisp.org>
66446
66447         * modules/relocatable-prog-wrapper: New file.
66448         * modules/relocatable (Depends-on): Add it. Remove all other
66449         dependencies except progname.
66450         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66451
66452         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66453         (gl_FUNC_STRERROR): Nop.
66454         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66455
66456         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66457         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66458
66459         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66460         (gl_FUNC_READLINK): Update.
66461
66462         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66463
66464 2007-03-03  Bruno Haible  <bruno@clisp.org>
66465
66466         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66467         * modules/xreadlink (Depends-on): Add unistd.
66468         * modules/xreadlink-with-size (Depends-on): Likewise.
66469
66470 2007-03-03  Bruno Haible  <bruno@clisp.org>
66471
66472         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66473         extracted from gt_FUNC_SETENV.
66474         (gt_FUNC_SETENV): Remove macro.
66475         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66476         remove gt_FUNC_SETENV.
66477
66478 2007-03-03  Bruno Haible  <bruno@clisp.org>
66479
66480         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66481         ENABLE_RELOCATABLE here.
66482         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66483
66484 2007-03-03  Bruno Haible  <bruno@clisp.org>
66485
66486         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66487         * tests/test-rbtreehash_list.c: Include progname.h.
66488         (main): Call set_program_name.
66489
66490         * modules/rbtree-oset-tests (Depends-on): Add progname.
66491         * tests/test-rbtree_oset.c: Include progname.h.
66492         (main): Call set_program_name.
66493
66494         * modules/rbtree-list-tests (Depends-on): Add progname.
66495         * tests/test-rbtree_list.c: Include progname.h.
66496         (main): Call set_program_name.
66497
66498         * modules/linked-list-tests (Depends-on): Add progname.
66499         * tests/test-linked_list.c: Include progname.h.
66500         (main): Call set_program_name.
66501
66502 2007-03-03  Bruno Haible  <bruno@clisp.org>
66503
66504         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66505         All uses of __restrict changed to _Restrict_.
66506         * lib/glob_.h (__restrict): Remove macro.
66507
66508 2007-03-02  Bruno Haible  <bruno@clisp.org>
66509
66510         * modules/gettext (configure.ac): Require gettext infrastructure
66511         from version 0.16.1.
66512
66513 2007-03-02  Bruno Haible  <bruno@clisp.org>
66514
66515         * modules/linkedhash-list-tests (Depends-on): Add progname.
66516         * tests/test-linkedhash_list.c: Include progname.h.
66517         (main): Call set_program_name.
66518
66519         * modules/carray-list-tests (Depends-on): Add progname.
66520         * tests/test-carray_list.c: Include progname.h.
66521         (main): Call set_program_name.
66522
66523         * modules/avltreehash-list-tests (Depends-on): Add progname.
66524         * tests/test-avltreehash_list.c: Include progname.h.
66525         (main): Call set_program_name.
66526
66527         * modules/avltree-oset-tests (Depends-on): Add progname.
66528         * tests/test-avltree_oset.c: Include progname.h.
66529         (main): Call set_program_name.
66530
66531         * modules/avltree-list-tests (Depends-on): Add progname.
66532         * tests/test-avltree_list.c: Include progname.h.
66533         (main): Call set_program_name.
66534
66535         * modules/array-oset-tests (Depends-on): Add progname.
66536         * tests/test-array_oset.c: Include progname.h.
66537         (main): Call set_program_name.
66538
66539         * modules/array-list-tests (Depends-on): Add progname.
66540         * tests/test-array_list.c: Include progname.h.
66541         (main): Call set_program_name.
66542
66543         * modules/argp-tests (Depends-on): Add progname.
66544         * tests/test-argp.c: Include argp.h first. Include progname.h.
66545         (main): Call set_program_name.
66546
66547 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66548
66549         * doc/gnulib-tool.texi (Initial import): Reword description of
66550         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66551         limited effect even if defined after the first system include.
66552
66553 2007-03-01  Bruno Haible  <bruno@clisp.org>
66554
66555         * build-aux/config.libpath: Update to libtool-1.5.22.
66556         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66557
66558 2007-03-01  Bruno Haible  <bruno@clisp.org>
66559
66560         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66561         foo_CFLAGS.
66562         Reported by Ralf Wildenhues.
66563
66564 2007-03-01  Bruno Haible  <bruno@clisp.org>
66565
66566         * build-aux/install-reloc: Remove object files left over by some
66567         compilers.
66568         Reported by Ralf Wildenhues.
66569
66570 2007-03-01  Bruno Haible  <bruno@clisp.org>
66571
66572         * build-aux/install-reloc: Break long lines.
66573
66574 2007-03-01  Bruno Haible  <bruno@clisp.org>
66575
66576         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66577         Reported by Ralf Wildenhues.
66578
66579 2007-03-01  Bruno Haible  <bruno@clisp.org>
66580
66581         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66582         include ordering constraints.
66583
66584 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66585
66586         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66587         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66588         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66589         as another example.
66590         * lib/time_.h: Fix misspelling.
66591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66592         Require gl_HEADER_TIME_H_DEFAULTS.
66593         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66594         * m4/time_r.m4 (gl_TIME_R): Likewise.
66595         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66596
66597 2007-03-01  Bruno Haible  <bruno@clisp.org>
66598
66599         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66600         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66601
66602 2007-03-01  Jim Meyering  <jim@meyering.net>
66603
66604         * modules/xreadlink (Maintainer): Add my name.
66605         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66606
66607 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66608             Bruno Haible  <bruno@clisp.org>
66609
66610         * build-aux/install-reloc: Compile also c-ctype.c.
66611         * build-aux/relocatable.sh.in: New file.
66612         * doc/relocatable.texi: New file.
66613         * doc/relocatable-maint.texi: New file.
66614         * doc/gnulib.texi: Include relocatable-maint.texi.
66615         * lib/progreloc.c: Include unistd.h unconditionally.
66616         * lib/relocwrapper.c: Include unistd.h unconditionally.
66617         Include c-ctype.h.
66618         (add_dotbin): Use c_tolower.
66619         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66620         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66621         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66622         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66623         to m4/relocatable-lib.m4.
66624         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66625         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66626         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66627         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66628         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66629         * modules/relocatable: New file.
66630         * modules/relocatable-lib: New file.
66631         * modules/relocatable-script: New file.
66632
66633 2007-02-28  Bruno Haible  <bruno@clisp.org>
66634
66635         Import --enable-relocatable infrastructure.
66636         * build-aux/config.libpath: New file, from GNU gettext.
66637         * build-aux/install-reloc: New file, from GNU gettext.
66638         * build-aux/reloc-ldflags: New file, from GNU gettext.
66639         * lib/relocatable.h: New file, from GNU gettext.
66640         * lib/relocatable.c: New file, from GNU gettext.
66641         * lib/relocwrapper.c: New file, from GNU gettext.
66642         * m4/relocatable.m4: New file, from GNU gettext.
66643
66644 2007-02-28  Bruno Haible  <bruno@clisp.org>
66645
66646         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66647
66648         * modules/xreadlink: New file, from GNU gettext with modifications.
66649         * lib/xreadlink.c: New file, from GNU gettext.
66650         * lib/xreadlink.h: Add comments.
66651         (xreadlink): New declaration.
66652
66653         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66654         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66655         lib/xreadlink-with-size.c.
66656         (configure.ac): Remove gl_XREADLINK invocation.
66657         (Makefile.am): Augment lib_SOURCES.
66658         * m4/xreadlink.m4: Remove file.
66659         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66660         (xreadlink_with_size): Renamed from xreadink.
66661         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66662         * modules/canonicalize (Depends-on): Replace xreadlink with
66663         xreadlink-with-size.
66664         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66665
66666 2007-02-25  Jim Meyering  <jim@meyering.net>
66667
66668         * build-aux/announce-gen: When complaining about excess arguments,
66669         list them.
66670
66671 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66672
66673         * README: Document signed integer overflow situation more
66674         accurately.
66675
66676 2007-02-25  Bruno Haible  <bruno@clisp.org>
66677
66678         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66679         'a' or 'A' conversion.
66680
66681 2007-02-25  Bruno Haible  <bruno@clisp.org>
66682
66683         * modules/filename: Renamed from modules/pathname.
66684         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66685         lib/concatpath.c with lib/concat-filename.c.
66686         (Makefile.am): Update.
66687         (Include): Replace pathname.h with filename.h.
66688         * lib/filename.h: Renamed from lib/pathname.h.
66689         (concatenated_filename): Renamed from concatenated_pathname.
66690         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66691         (concatenated_filename): Renamed from concatenated_pathname.
66692         * lib/findprog.c: Include filename.h instead of pathname.h.
66693         (find_in_path): Update.
66694         * lib/javacomp.c: Include filename.h instead of pathname.h.
66695         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66696         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66697         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66698         is_oldgcj_14_13_usable, is_javac_usable): Update.
66699         * lib/javaexec.c: Include filename.h instead of pathname.h.
66700         (execute_java_class): Update.
66701         * modules/findprog: Update.
66702         * modules/javacomp: Update.
66703         * modules/javaexec: Update.
66704         * MODULES.html.sh (File system functions): Add 'filename', remove
66705         'pathname'.
66706
66707 2007-02-25  Bruno Haible  <bruno@clisp.org>
66708
66709         * modules/printf-frexpl-tests: New file.
66710         * tests/test-printf-frexpl.c: New file.
66711
66712         * modules/printf-frexpl: New file.
66713         * lib/printf-frexpl.h: New file.
66714         * lib/printf-frexpl.c: New file.
66715         * m4/printf-frexpl.m4: New file.
66716
66717 2007-02-25  Bruno Haible  <bruno@clisp.org>
66718
66719         * modules/printf-frexp-tests: New file.
66720         * tests/test-printf-frexp.c: New file.
66721
66722         * modules/printf-frexp: New file.
66723         * lib/printf-frexp.h: New file.
66724         * lib/printf-frexp.c: New file.
66725         * m4/printf-frexp.m4: New file.
66726
66727 2007-02-25  Bruno Haible  <bruno@clisp.org>
66728
66729         Assume automake >= 1.10 for the tests.
66730         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66731         * modules/arctwo-tests: Likewise.
66732         * modules/argp-tests: Likewise.
66733         * modules/avltree-list-tests: Likewise.
66734         * modules/avltree-oset-tests: Likewise.
66735         * modules/avltreehash-list-tests: Likewise.
66736         * modules/carray-list-tests: Likewise.
66737         * modules/crc-tests: Likewise.
66738         * modules/des-tests: Likewise.
66739         * modules/gc-arcfour-tests: Likewise.
66740         * modules/gc-arctwo-tests: Likewise.
66741         * modules/gc-des-tests: Likewise.
66742         * modules/gc-hmac-md5-tests: Likewise.
66743         * modules/gc-hmac-sha1-tests: Likewise.
66744         * modules/gc-md2-tests: Likewise.
66745         * modules/gc-md4-tests: Likewise.
66746         * modules/gc-md5-tests: Likewise.
66747         * modules/gc-pbkdf2-sha1-tests: Likewise.
66748         * modules/gc-rijndael-tests: Likewise.
66749         * modules/gc-sha1-tests: Likewise.
66750         * modules/gc-tests: Likewise.
66751         * modules/getaddrinfo-tests: Likewise.
66752         * modules/hmac-md5-tests: Likewise.
66753         * modules/hmac-sha1-tests: Likewise.
66754         * modules/linked-list-tests: Likewise.
66755         * modules/linkedhash-list-tests: Likewise.
66756         * modules/lock-tests: Likewise.
66757         * modules/md2-tests: Likewise.
66758         * modules/md4-tests: Likewise.
66759         * modules/md5-tests: Likewise.
66760         * modules/rbtree-list-tests: Likewise.
66761         * modules/rbtree-oset-tests: Likewise.
66762         * modules/rbtreehash-list-tests: Likewise.
66763         * modules/read-file-tests: Likewise.
66764         * modules/rijndael-tests: Likewise.
66765         * modules/stdint-tests: Likewise.
66766         * modules/tls-tests: Likewise.
66767
66768 2007-02-24  Bruno Haible  <bruno@clisp.org>
66769
66770         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66771         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66772         function; instead check whether isnan with a double argument links.
66773         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66774         function; instead check whether isnan with a 'long double' argument
66775         links.
66776         Reported by Eric Blake <ebb9@byu.net>.
66777
66778 2007-02-24  Bruno Haible  <bruno@clisp.org>
66779
66780         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66781         defined.
66782         * lib/isnanl.c: Remove all code. Just include isnan.c.
66783         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66784
66785 2007-02-25  Jim Meyering  <jim@meyering.net>
66786
66787         Avoid conflicting types for 'unsetenv' on FreeBSD.
66788         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66789         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66790         in stdlib.h.
66791
66792 2007-02-24  Bruno Haible  <bruno@clisp.org>
66793
66794         * modules/isnanl-nolibm-tests: New file.
66795         * tests/test-isnanl.c: New file.
66796
66797         * modules/isnanl-nolibm: New file.
66798         * lib/isnanl.h: New file.
66799         * lib/isnanl.c: New file.
66800         * m4/isnanl.m4: New file.
66801
66802 2007-02-24  Bruno Haible  <bruno@clisp.org>
66803
66804         * modules/isnan-nolibm-tests: New file.
66805         * tests/test-isnan.c: New file.
66806
66807         * modules/isnan-nolibm: New file.
66808         * lib/isnan.h: New file.
66809         * lib/isnan.c: New file.
66810         * m4/isnan.m4: New file.
66811
66812 2007-02-24  Bruno Haible  <bruno@clisp.org>
66813
66814         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66815         assume that an exponent fits in 20 bits.
66816
66817 2007-02-24  Jim Meyering  <jim@meyering.net>
66818
66819         * m4/regex.m4: Update the description of the configure-time option,
66820         --without-included-regex, to state accurately what the defaults are,
66821         and perhaps to give people an idea why using this option is risky.
66822
66823 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66824
66825         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66826         loops on small arguments.  This attempts to avoid the problem
66827         Bruno Haible reported for AIX 4.3.2 in
66828         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66829
66830 2007-02-23  Bruno Haible  <bruno@clisp.org>
66831
66832         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66833         Needed for help2man.
66834
66835 2007-02-23  Karl Berry  <karl@gnu.org>
66836
66837         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66838         exists, foo.h should be cvs-ignored, not committed.
66839
66840 2007-02-23  Eric Blake  <ebb9@byu.net>
66841
66842         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66843         * lib/stat-time.h (includes): Likewise.
66844         * lib/utimecmp.c (includes): Likewise.
66845         * lib/utimens.h (includes): Likewise.
66846         * lib/getdate.y (includes): Also include "timespec.h" for use
66847         internal to the module.
66848         * modules/utimens (Depends-on): Revert yesterday's patch.
66849         * modules/nanosleep (Depends-on): Add missing dependency.
66850
66851 2007-02-22  Bruno Haible  <bruno@clisp.org>
66852
66853         * lib/glob.c: Don't include getlogin_r.h.
66854
66855 2007-02-22  Jim Meyering  <jim@meyering.net>
66856
66857         * modules/utimens (Depends-on): Add timespec, required for
66858         utimens.h's inclusion of timespec.h.
66859
66860 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66861
66862         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66863         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66864         Schwab in
66865         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66866         I'll try to think of a better way to fix the Solaris problem.
66867
66868         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66869         like glibc; on Solaris 10, it fails with errno == EINVAL.
66870         POSIX says the behavior is unspecified if the first argument is NULL,
66871         so play it safe and never pass NULL to the system getcwd.
66872
66873 2007-02-21  Jim Meyering  <jim@meyering.net>
66874
66875         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66876         of gettimeofday.  It would conflict with the one now always
66877         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66878         an IRIX 6.5 build failure.
66879
66880 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66881
66882         Minor fixups to port to Solaris 10 with Sun C 5.8.
66883         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66884         * modules/getcwd (Depends-on): Add dirfd.
66885         * lib/putenv.c (putenv): #undef it.
66886         (rpl_putenv): New decl.
66887         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66888
66889 2007-02-20  Bruno Haible  <bruno@clisp.org>
66890
66891         * modules/stdio-tests: New file.
66892         * tests/test-stdio.c: New file.
66893
66894         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66895         (Depends-on): Add stdio.
66896         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66897         (Include): Use <stdio.h> instead of vsnprintf.h.
66898         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66899         HAVE_DECL_VSNPRINTF.
66900         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66901
66902         * modules/snprintf (Files): Remove lib/snprintf.h.
66903         (Depends-on): Add stdio.
66904         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66905         (Include): Use <stdio.h> instead of snprintf.h.
66906         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66907         HAVE_DECL_SNPRINTF.
66908         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66909         * lib/getaddrinfo.c: Likewise.
66910
66911         * modules/stdio: New file.
66912         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66913         * lib/snprintf.h: Remove file.
66914         * lib/vsnprintf.h: Remove file.
66915         * lib/.cppi-disable: Remove snprintf.h.
66916         * m4/stdio_h.m4: New file.
66917         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
66918
66919 2007-02-20  Jim Meyering  <jim@meyering.net>
66920
66921         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
66922         used by e.g., mingw.  From Bruno Haible.
66923
66924 2007-02-19  Bruno Haible  <bruno@clisp.org>
66925
66926         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
66927         warnings.
66928         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66929
66930 2007-02-19  Bruno Haible  <bruno@clisp.org>
66931
66932         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
66933         from mingw users.
66934
66935 2007-02-19  Bruno Haible  <bruno@clisp.org>
66936
66937         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
66938         warnings.
66939         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
66940
66941 2007-02-19  Jim Meyering  <jim@meyering.net>
66942
66943         Don't use FD after a successful "fdopendir (fd)".
66944         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
66945         Reset it by calling dirfd on the just-obtained DIR*.
66946
66947         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
66948         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
66949
66950 2007-02-18  Bruno Haible  <bruno@clisp.org>
66951
66952         * lib/readlink.c: Include <unistd.h>.
66953         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
66954         HAVE_READLINK.
66955         * modules/readlink (Depends-on): Add unistd.
66956         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66957         (Include): Add <unistd.h>.
66958
66959         * lib/getlogin_r.h: Remove file.
66960         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
66961         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
66962         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
66963         HAVE_DECL_GETLOGIN_R.
66964         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
66965         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66966         (Include): Use <unistd.h> instead of getlogin_r.h.
66967
66968         * lib/getcwd.h: Remove file.
66969         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
66970         * lib/xgetcwd.c: Likewise.
66971         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
66972         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
66973         * modules/getcwd (Files): Remove lib/getcwd.h.
66974         (Depends-on): Add unistd.
66975         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66976         (Include): Use <unistd.h> instad of getcwd.h.
66977
66978         * lib/ftruncate.c: Include <unistd.h> first.
66979         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
66980         Set HAVE_FTRUNCATE.
66981         * modules/ftruncate (Depends-on): Add unistd.
66982         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66983
66984         * lib/fchdir.c: Include <unistd.h> first.
66985         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
66986         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
66987         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
66988         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66989         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
66990
66991         * lib/dup2.c: Include <unistd.h> first.
66992         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
66993         HAVE_DUP2.
66994         * modules/dup2 (Depends-on): Add unistd.
66995         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66996
66997         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
66998         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
66999         REPLACE_CHOWN. Don't define chown as a macro here.
67000         * modules/chown (Depends-on): Add unistd.
67001         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67002
67003         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67004         Add definition for GL_LINK_WARNING.
67005         (chown, dup2): New declarations.
67006         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67007         link warning.
67008         (ftruncate): New declaration.
67009         (getcwd): New declaration, taken from old getcwd.h.
67010         (getlogin_r): New declaration, taken from old getlogin_r.h.
67011         (readlink): New declaration.
67012         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67013         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67014         (gl_PREREQ_UNISTD): Remove macro.
67015         (gl_UNISTD_MODULE_INDICATOR): New macro.
67016         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67017         many new variables. Don't set UNISTD_H.
67018         * modules/unistd (Description): Change.
67019         (Depends-on): Add link-warning.
67020         (configure.ac): Update.
67021         (Makefile.am): Create unistd.h always. Substitute many new variables
67022         into it.
67023
67024 2007-02-18  Bruno Haible  <bruno@clisp.org>
67025
67026         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67027         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67028         HAVE_GETSUBOPT.
67029         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67030         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67031         * lib/getsubopt.h: Remove file.
67032         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67033         (Depends-on): Add stdlib.
67034         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67035         (Includes): Use <stdlib.h> instead of getsubopt.h.
67036         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67037         Set HAVE_GETSUBOPT.
67038         * lib/getsubopt.c: Don't include getsubopt.h.
67039
67040 2007-02-18  Bruno Haible  <bruno@clisp.org>
67041
67042         * modules/fchdir (Depends-on): Add dup2.
67043
67044 2007-02-18  Bruno Haible  <bruno@clisp.org>
67045
67046         * lib/stdlib_.h: Handle glibc's special invocation convention
67047         specially.
67048
67049 2007-02-18  Bruno Haible  <bruno@clisp.org>
67050
67051         * modules/stdlib-tests: New file.
67052         * tests/test-stdlib.c: New file.
67053
67054         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67055         (Depends-on): Add stdlib.
67056         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67057         (Includes): Use <stdlib.h> instead of mkstemp.h.
67058         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67059         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67060         * lib/mkstemp.c: Don't include mkstemp.h.
67061         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67062         * lib/stdlib--.h: Don't include mkstemp.h.
67063
67064         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67065         (Depends-on): Add stdlib.
67066         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67067         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67068         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67069         HAVE_MKDTEMP.
67070         * lib/mkdtemp.c: Don't include mkdtemp.h.
67071         * lib/clean-temp.c: Don't include mkdtemp.h.
67072
67073         * modules/exit (Files): Remove lib/exit.h.
67074         (Depends-on): Add stdlib.
67075         (Makefile.am): Remove lib_SOURCES.
67076         (Include): Use <stdlib.h> instead of exit.h.
67077         * lib/argmatch.c: Don't include exit.h.
67078         * lib/execute.c: Likewise.
67079         * lib/pagealign_alloc.c: Likewise.
67080         * lib/pipe.c: Likewise.
67081         * lib/wait-process.c: Likewise.
67082         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67083         * lib/exitfail.c: Likewise.
67084         * lib/savewd.c: Likewise.
67085         * lib/xsetenv.c: Likewise.
67086
67087         * modules/stdlib: New file.
67088         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67089         and extra comments about mkstemp().
67090         * lib/exit.h: Remove file.
67091         * lib/mkdtemp.h: Remove file.
67092         * lib/mkstemp.h: Remove file.
67093         * m4/stdlib_h.m4: New file.
67094         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67095
67096 2007-02-18  Bruno Haible  <bruno@clisp.org>
67097
67098         * modules/math-tests: New file.
67099         * tests/test-math.c: New file.
67100
67101         * modules/math: New file.
67102         * modules/mathl (Files): Remove lib/mathl.h.
67103         (Depends-on): Add math.
67104         (Makefile.am): Don't mention mathl.h.
67105         (Include): Use <math.h> instead of mathl.h.
67106         * lib/math_.h: New file.
67107         * lib/mathl.h: Remove file.
67108         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67109         mathl.h.
67110         * lib/asinl.c: Likewise.
67111         * lib/atanl.c: Likewise.
67112         * lib/ceill.c: Likewise.
67113         * lib/cosl.c: Likewise.
67114         * lib/expl.c: Likewise.
67115         * lib/floorl.c: Likewise.
67116         * lib/frexpl.c: Likewise.
67117         * lib/ldexpl.c: Likewise.
67118         * lib/logl.c: Likewise.
67119         * lib/sincosl.c: Likewise.
67120         * lib/sinl.c: Likewise.
67121         * lib/sqrtl.c: Likewise.
67122         * lib/tanl.c: Likewise.
67123         * lib/trigl.c: Likewise.
67124         * m4/math_h.m4: New file.
67125         * MODULES.html.sh (Mathematics): Add math.
67126
67127 2007-02-17  Bruno Haible  <bruno@clisp.org>
67128
67129         * modules/wctype-tests: New file.
67130         * tests/test-wctype.c: New file.
67131
67132         * modules/wchar-tests: New file.
67133         * tests/test-wchar.c: New file.
67134
67135         * modules/unistd-tests: New file.
67136         * tests/test-unistd.c: New file.
67137
67138         * modules/time-tests: New file.
67139         * tests/test-time.c: New file.
67140
67141         * modules/sysexits-tests: New file.
67142         * tests/test-sysexits.c: New file.
67143
67144         * modules/sys_time-tests: New file.
67145         * tests/test-sys_time.c: New file.
67146
67147         * modules/sys_stat-tests: New file.
67148         * tests/test-sys_stat.c: New file.
67149
67150         * modules/sys_socket-tests: New file.
67151         * tests/test-sys_socket.c: New file.
67152
67153         * modules/sys_select-tests: New file.
67154         * tests/test-sys_select.c: New file.
67155
67156         * modules/string-tests: New file.
67157         * tests/test-string.c: New file.
67158
67159         * modules/stdbool-tests: New file.
67160         * tests/test-stdbool.c: New file.
67161
67162         * modules/netinet_in-tests: New file.
67163         * tests/test-netinet_in.c: New file.
67164
67165         * modules/inttypes-tests: New file.
67166         * tests/test-inttypes.c: New file.
67167
67168         * modules/fcntl-tests: New file.
67169         * tests/test-fcntl.c: New file.
67170
67171         * modules/byteswap-tests: New file.
67172         * tests/test-byteswap.c: New file.
67173
67174         * modules/arpa_inet-tests: New file.
67175         * tests/test-arpa_inet.c: New file.
67176
67177 2007-02-17  Bruno Haible  <bruno@clisp.org>
67178
67179         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67180         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67181         if the corresponding module is not enabled. Emit link warnings if
67182         the function is used nevertheless.
67183         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67184         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67185         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67186         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67187         * modules/inttypes (Depends-on): Add link-warning.
67188         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67189         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67190         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67191         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67192         * modules/imaxdiv (configure.ac): Likewise.
67193         * modules/strtoimax (configure.ac): Likewise.
67194         * modules/strtoumax (configure.ac): Likewise.
67195
67196 2007-02-17  Bruno Haible  <bruno@clisp.org>
67197
67198         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67199         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67200         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67201         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67202
67203 2007-02-17  Bruno Haible  <bruno@clisp.org>
67204
67205         * modules/link-warning: New file.
67206         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67207         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67208         * modules/string (Depends-on): Add link-warning.
67209         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67210         string.h.
67211         * MODULES.html.sh (Support for building libraries and executables): Add
67212         link-warning.
67213
67214 2007-02-17  Bruno Haible  <bruno@clisp.org>
67215
67216         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67217         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67218         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67219         long lines.
67220
67221 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67222             Bruno Haible  <bruno@clisp.org>
67223
67224         * modules/tmpfile: New file.
67225         * lib/tmpfile.c: New file.
67226         * m4/tmpfile.m4: New file.
67227         * MODULES.html.sh (func_all_modules): New section "Input/output".
67228
67229 2007-02-15  Bruno Haible  <bruno@clisp.org>
67230
67231         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67232         (supports_delete_on_close): New function.
67233         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67234
67235 2007-02-14  Bruno Haible  <bruno@clisp.org>
67236
67237         * modules/mbspcasecmp-tests: New file.
67238         * tests/test-mbspcasecmp.sh: New file.
67239         * tests/test-mbspcasecmp.c: New file.
67240
67241         New module mbspcasecmp.
67242         * modules/mbspcasecmp: New file.
67243         * lib/mbspcasecmp.c: New file.
67244         * lib/string_.h (strncasecmp): Change warning message.
67245         (mbspcasecmp): New declaration.
67246         * m4/mbspcasecmp.m4: New file.
67247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67248         GNULIB_MBSPCASECMP.
67249         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67250         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67251
67252 2007-02-14  Bruno Haible  <bruno@clisp.org>
67253
67254         * modules/mbsncasecmp-tests: New file.
67255         * tests/test-mbsncasecmp.sh: New file.
67256         * tests/test-mbsncasecmp.c: New file.
67257
67258         New module mbsncasecmp.
67259         * modules/mbsncasecmp: New file.
67260         * lib/mbsncasecmp.c: New file.
67261         * lib/string_.h (mbsncasecmp): New declaration.
67262         * m4/mbsncasecmp.m4: New file.
67263         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67264         GNULIB_MBSNCASECMP.
67265         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67266         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67267
67268 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67269
67270         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67271         Verify that it doesn't overlap with our flags.
67272         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67273         do not have the desired effect in multibyte locales; instead, use
67274         mbscasecmp.
67275         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67276         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67277         we don't require GNU fnmatch ourselves (if our users require it, they
67278         should do so explicitly).
67279
67280         Fix regex code so it doesn't rely on strcasecmp.
67281         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67282         Otherwise, include gnulib's langinfo.h.
67283         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67284         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67285         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67286         * modules/regex (FILES): Remove m4/codeset.m4.
67287         (Depends-on): Add localcharset.  Remove strcase.
67288
67289 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67290
67291         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67292         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67293
67294 2007-02-13  Bruno Haible  <bruno@clisp.org>
67295
67296         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67297         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67298
67299 2007-02-12  Bruno Haible  <bruno@clisp.org>
67300
67301         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67302         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67303         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67304         time warning rather than a link error.
67305
67306 2007-02-12  Bruno Haible  <bruno@clisp.org>
67307
67308         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67309         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67310         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67311
67312 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67313
67314         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67315         args, not 2.
67316
67317 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67318
67319         New module 'time', so that apps can include <time.h> as per
67320         POSIX and GNU instead of separate include files like time_r.h
67321         and timegm.h.  This implementation tries out a simpler approach
67322         for replacing decls in standard include files (as compared to
67323         the string module), somewhat as an experiment.
67324
67325         * config/srclist.txt: Comment out mktime.c for now.
67326         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67327         since it doesn't apply any more.  Use generic wording instead.
67328         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67329         'time'.
67330         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67331         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67332         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67333         Don't include <sys/types.h>; no longer needed since we assume C89.
67334         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67335         * lib/strftime.c: Likewise.
67336         * lib/time_r.c: Likewise.
67337         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67338         * lib/nanosleep.c: Include <time.h> first, to check interface.
67339         * lib/strptime.c: Likewise.
67340         * lib/time_r.c: Likewise.
67341         * lib/timegm.c: Likewise.
67342         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67343         needed.
67344         * lib/timegm.c: Don't include timegm.h; no longer needed.
67345         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67346         time.h now handles any problems in that area.
67347         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67348         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67349         that time.h defines struct timespec.
67350         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67351         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67352         handles that.
67353         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67354         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67355         needed.  Set REPLACE_LOCALTIME.
67356         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67357         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67358         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67359         nanosleep; time_h.m4 now does that.  Don't require
67360         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67361         module handles this now.
67362         * modules/getdate (Depends-on): Remove timespec.  Add time.
67363         * modules/nanosleep (Depends-on): Likewise.
67364         * modules/stat-time (Depends-on): Likewise.
67365         * modules/nanosleep (Include): Include time.h, not timespec.h.
67366         * modules/strptime (Files): Remove lib/strptime.h.
67367         (Depends-on): Add extensions, time.
67368         (Include): Include time.h, not strptime.h.
67369         * modules/time_r (Files): Remove lib/time_r.h.
67370         (Depends-on): Add time.
67371         (Include): Include time.h, not time_r.h.
67372         * modules/timegm: Likewise.
67373         * modules/timespec (Description): Now does timespec-related decls
67374         of our own, instead of struct timespec itself.
67375         (Depends-on): Add time; remove extensions.
67376         (Maintainer): Add self.
67377         * modules/utimecmp (Depends-on): Add time; remove timespec.
67378         * modules/utimens (Depends-on): Likewise.
67379         * modules/xnanosleep (Depends-on): Likewise.
67380
67381 2007-02-11  Bruno Haible  <bruno@clisp.org>
67382
67383         * lib/c-strstr.c: Include allocsa.h.
67384         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67385         * lib/c-strcasestr.c: Include allocsa.h.
67386         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67387         * lib/strcasestr.c: Include allocsa.h.
67388         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67389         * lib/mbsstr.c: Include allocsa.h.
67390         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67391         allocsa/freesa instead of malloc/free.
67392         * lib/mbscasestr.c: Include allocsa.h.
67393         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67394         allocsa/freesa instead of malloc/free.
67395         * modules/c-strstr (Depends-on): Add allocsa.
67396         * modules/c-strcasestr (Depends-on): Likewise.
67397         * modules/strcasestr (Depends-on): Likewise.
67398         * modules/mbsstr (Depends-on): Likewise.
67399         * modules/mbscasestr (Depends-on): Likewise.
67400
67401 2007-02-11  Bruno Haible  <bruno@clisp.org>
67402
67403         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67404
67405         * modules/mbsspn-tests: New file.
67406         * tests/test-mbsspn.sh: New file.
67407         * tests/test-mbsspn.c: New file.
67408
67409 2007-02-11  Bruno Haible  <bruno@clisp.org>
67410
67411         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67412
67413         * modules/mbspbrk-tests: New file.
67414         * tests/test-mbspbrk.sh: New file.
67415         * tests/test-mbspbrk.c: New file.
67416
67417 2007-02-11  Bruno Haible  <bruno@clisp.org>
67418
67419         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67420         unneeded cast.
67421
67422         * modules/mbscspn-tests: New file.
67423         * tests/test-mbscspn.sh: New file.
67424         * tests/test-mbscspn.c: New file.
67425
67426 2007-02-11  Bruno Haible  <bruno@clisp.org>
67427
67428         * modules/mbscasecmp-tests: New file.
67429         * tests/test-mbscasecmp.sh: New file.
67430         * tests/test-mbscasecmp.c: New file.
67431
67432 2007-02-11  Bruno Haible  <bruno@clisp.org>
67433
67434         Ensure O(n) worst-case complexity of mbscasestr.
67435         * lib/mbscasestr.c: Include stdbool.h.
67436         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67437         functions.
67438         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67439         the bookkeeping indicates that it's worth it.
67440         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67441
67442         * modules/mbscasestr-tests: New file.
67443         * tests/test-mbscasestr1.c: New file.
67444         * tests/test-mbscasestr2.sh: New file.
67445         * tests/test-mbscasestr2.c: New file.
67446         * tests/test-mbscasestr3.sh: New file.
67447         * tests/test-mbscasestr3.c: New file.
67448         * tests/test-mbscasestr4.sh: New file.
67449         * tests/test-mbscasestr4.c: New file.
67450         * m4/locale-tr.m4: New file.
67451
67452 2007-02-11  Bruno Haible  <bruno@clisp.org>
67453
67454         Ensure O(n) worst-case complexity of mbsstr.
67455         * lib/mbsstr.c: Include stdbool.h.
67456         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67457         functions.
67458         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67459         bookkeeping indicates that it's worth it.
67460         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67461
67462         * modules/mbsstr-tests: New file.
67463         * tests/test-mbsstr1.c: New file.
67464         * tests/test-mbsstr2.sh: New file.
67465         * tests/test-mbsstr2.c: New file.
67466         * tests/test-mbsstr3.sh: New file.
67467         * tests/test-mbsstr3.c: New file.
67468         * m4/locale-fr.m4: New file.
67469
67470 2007-02-11  Bruno Haible  <bruno@clisp.org>
67471
67472         * lib/mbsrchr.c (mbsrchr): Fix bug.
67473
67474         * modules/mbsrchr-tests: New file.
67475         * tests/test-mbsrchr.sh: New file.
67476         * tests/test-mbsrchr.c: New file.
67477
67478 2007-02-11  Bruno Haible  <bruno@clisp.org>
67479
67480         * lib/mbschr.c (mbschr): Fix bug.
67481
67482         * modules/mbschr-tests: New file.
67483         * tests/test-mbschr.sh: New file.
67484         * tests/test-mbschr.c: New file.
67485         * m4/locale-zh.m4: New file.
67486
67487 2007-02-11  Bruno Haible  <bruno@clisp.org>
67488
67489         Support for copying multibyte string iterators.
67490         * lib/mbiter.h: Include <string.h>.
67491         (mbiter_multi_copy): New function.
67492         (mbi_copy): New macro.
67493         * lib/mbuiter.h: Include <string.h>.
67494         (mbuiter_multi_copy): New function.
67495         (mbui_copy): New macro.
67496
67497 2007-02-11  Bruno Haible  <bruno@clisp.org>
67498
67499         New module mbslen.
67500         * modules/mbslen: New file.
67501         * lib/mbslen.c: New file.
67502         * lib/string_.h (mbslen): New declaration.
67503         * m4/mbslen.m4: New file.
67504         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67505         GNULIB_MBSLEN.
67506         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67507         * MODULES.html.sh (Internationalization functions): Add mbslen.
67508
67509 2007-02-11  Bruno Haible  <bruno@clisp.org>
67510
67511         Ensure O(n) worst-case complexity of strcasestr substitute.
67512         * lib/strcasestr.c: Include stdbool.h.
67513         (knuth_morris_pratt): New function.
67514         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67515         bookkeeping indicates that it's worth it.
67516         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67517
67518         * modules/strcasestr-tests: New file.
67519         * tests/test-strcasestr.c: New file.
67520
67521 2007-02-11  Bruno Haible  <bruno@clisp.org>
67522
67523         Ensure O(n) worst-case complexity of c_strcasestr.
67524         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67525         (knuth_morris_pratt): New function.
67526         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67527         the bookkeeping indicates that it's worth it.
67528         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67529
67530         * modules/c-strcasestr-tests: New file.
67531         * tests/test-c-strcasestr.c: New file.
67532
67533 2007-02-11  Bruno Haible  <bruno@clisp.org>
67534
67535         Ensure O(n) worst-case complexity of c_strstr.
67536         * lib/c-strstr.c: Include stdbool.h, string.h.
67537         (knuth_morris_pratt): New function.
67538         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67539         bookkeeping indicates that it's worth it.
67540         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67541
67542         * lib/c-strstr.c: Complete rewrite for maintainability.
67543
67544         * modules/c-strstr-tests: New file.
67545         * tests/test-c-strstr.c: New file.
67546
67547 2007-02-11  Bruno Haible  <bruno@clisp.org>
67548
67549         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67550         5.2.1 and earlier, whereby \055 was treated just like the range
67551         delimiter '-'.
67552         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67553
67554 2007-02-08  Bruno Haible  <bruno@clisp.org>
67555
67556         * modules/regex (Depends-on): Add stdbool.
67557         Reported by Dalibor Topic <robilad@kaffe.org>.
67558
67559 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67560
67561         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67562         Prefer returning from main to exiting from it.
67563         Remove unnecessary parens after sizeof.
67564
67565 2007-02-05  Bruno Haible  <bruno@clisp.org>
67566
67567         New module mbssep.
67568         * modules/mbssep: New file.
67569         * lib/mbssep.c: New file.
67570         * lib/string_.h (strsep): Add a conditional link warning.
67571         (mbssep): New declaration.
67572         * m4/mbssep.m4: New file.
67573         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67574         GNULIB_MBSSEP.
67575         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67576         * MODULES.html.sh (Internationalization functions): Add mbssep.
67577
67578 2007-02-05  Bruno Haible  <bruno@clisp.org>
67579
67580         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67581         Optimize search in case of 1 delimiter.
67582
67583 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67584
67585         * lib/acl.h: Include sys/types.h before sys/acl.h.
67586
67587 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67588
67589         Merge upstream fix for glibc bugzilla #3957:
67590
67591         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67592
67593         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67594         bit for RE_HAT_LISTS_NOT_NEWLINE.
67595         (build_charclass_op): Remove bogus comment.
67596
67597 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67598
67599         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67600
67601 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67602
67603         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67604         * lib/memmem.c [!defined _LIBC]: Include config.h.
67605
67606 2007-02-04  Bruno Haible  <bruno@clisp.org>
67607
67608         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67609         warning message.
67610
67611 2007-02-04  Bruno Haible  <bruno@clisp.org>
67612
67613         New module mbstok_r.
67614         * modules/mbstok_r: New file.
67615         * lib/mbstok_r.c: New file.
67616         * lib/string_.h (strtok_r): Change argument names to match the
67617         comments. Add a conditional link warning.
67618         (mbstok_r): New declaration.
67619         * m4/mbstok_r.m4: New file.
67620         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67621         GNULIB_MBSTOK_R.
67622         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67623         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67624
67625 2007-02-04  Bruno Haible  <bruno@clisp.org>
67626
67627         New module mbsspn.
67628         * modules/mbsspn: New file.
67629         * lib/mbsspn.c: New file.
67630         * lib/string_.h (strspn): Add a conditional link warning.
67631         (mbsspn): New declaration.
67632         * m4/mbsspn.m4: New file.
67633         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67634         GNULIB_MBSSPN.
67635         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67636         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67637
67638 2007-02-04  Bruno Haible  <bruno@clisp.org>
67639
67640         New module mbspbrk.
67641         * modules/mbspbrk: New file.
67642         * lib/mbspbrk.c: New file.
67643         * lib/string_.h (strpbrk): Add a conditional link warning.
67644         (mbspbrk): New declaration.
67645         * m4/mbspbrk.m4: New file.
67646         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67647         GNULIB_MBSPBRK.
67648         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67649         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67650
67651 2007-02-04  Bruno Haible  <bruno@clisp.org>
67652
67653         New module mbscspn.
67654         * modules/mbscspn: New file.
67655         * lib/mbscspn.c: New file.
67656         * lib/string_.h (strcspn): Add a conditional link warning.
67657         (mbscspn): New declaration.
67658         * m4/mbscspn.m4: New file.
67659         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67660         GNULIB_MBSCSPN.
67661         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67662         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67663
67664 2007-02-04  Bruno Haible  <bruno@clisp.org>
67665
67666         New module mbscasestr, reduced goal of strcasestr.
67667         * modules/mbscasestr: New file.
67668         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67669         (mbscasestr): Renamed from strcasestr.
67670         * lib/strcasestr.c: Don't include mbuiter.h.
67671         (strcasestr): Remove support for multibyte locales.
67672         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67673         Change the conditional link warning.
67674         (mbscasestr): New declaration.
67675         * m4/mbscasestr.m4: New file.
67676         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67677         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67678         REPLACE_STRCASESTR.
67679         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67680         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67681         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67682         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67683         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67684         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67685         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67686         (Depends-on): Remove mbuiter.
67687         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67688
67689 2007-02-04  Bruno Haible  <bruno@clisp.org>
67690
67691         Simplify handling of strncasecmp.
67692         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67693         the conditional link warning.
67694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67695         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67696         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67697         * modules/strcase (configure.ac): Don't invoke
67698         gl_STRING_MODULE_INDICATOR.
67699         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67700
67701 2007-02-04  Bruno Haible  <bruno@clisp.org>
67702
67703         New module mbscasecmp, reduced goal of strcasecmp.
67704         * modules/mbscasecmp: New file.
67705         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67706         (mbscasecmp): Renamed from strcasecmp.
67707         * lib/strcasecmp.c: Don't include mbuiter.h.
67708         (strcasecmp): Remove support for multibyte locales.
67709         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67710         Change the conditional link warning.
67711         (mbscasecmp): New declaration.
67712         * m4/mbscasecmp.m4: New file.
67713         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67714         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67715         REPLACE_STRCASECMP.
67716         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67717         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67718         GNULIB_MBSCASECMP.
67719         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67720         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67721         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67722         (Depends-on): Remove mbuiter.
67723         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67724
67725 2007-02-04  Bruno Haible  <bruno@clisp.org>
67726
67727         New module mbsstr. Remove module strstr.
67728         * modules/mbsstr: New file.
67729         * modules/strstr: Remove file.
67730         * lib/mbsstr.c: Renamed from lib/strstr.c.
67731         (mbsstr): Renamed from strstr.
67732         * lib/string_.h (strstr): Remove declaration. Change the conditional
67733         link warning.
67734         (mbsstr): New declaration.
67735         * m4/mbsstr.m4: New file.
67736         * m4/strstr.m4: Remove file.
67737         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67738         REPLACE_STRSTR.
67739         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67740         Don't initialize GNULIB_STRSTR.
67741         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67742         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67743         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67744         (Support for systems lacking ANSI C 89): Remove strstr.
67745
67746 2007-02-04  Bruno Haible  <bruno@clisp.org>
67747
67748         New module mbsrchr.
67749         * modules/mbsrchr: New file.
67750         * lib/mbsrchr.c: New file.
67751         * lib/string_.h (strrchr): Add a conditional link warning.
67752         (mbsrchr): New declaration.
67753         * m4/mbsrchr.m4: New file.
67754         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67755         GNULIB_MBSRCHR.
67756         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67757         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67758
67759 2007-02-04  Bruno Haible  <bruno@clisp.org>
67760
67761         New module mbschr.
67762         * modules/mbschr: New file.
67763         * lib/mbschr.c: New file.
67764         * lib/string_.h (strchr): Add a conditional link warning.
67765         (mbschr): New declaration.
67766         * m4/mbschr.m4: New file.
67767         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67768         GNULIB_MBSCHR.
67769         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67770         * MODULES.html.sh (Internationalization functions): Add mbschr.
67771
67772 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67773
67774         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67775
67776         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67777
67778 2007-02-04  Bruno Haible  <bruno@clisp.org>
67779
67780         New module description section 'configure.ac-early'.
67781         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67782         (func_get_autoconf_early_snippet): New function.
67783         (func_import, func_create_testdir): Use it. Remove special cases for
67784         modules 'extensions' and 'lock'.
67785         * modules/extensions (configure.ac-early): Require
67786         gl_USE_SYSTEM_EXTENSIONS.
67787         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67788
67789 2007-02-04  Bruno Haible  <bruno@clisp.org>
67790
67791         Make use of gcj-4.3's -fsource and -ftarget option.
67792         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67793         and if so try the options -fsource and -ftarget.
67794         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67795         source_version, ftarget_option, target_version arguments.
67796         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67797         (is_envjavac_oldgcj_14_14_usable): Renamed from
67798         is_envjavac_gcj_14_14_usable.
67799         (is_envjavac_oldgcj_14_13_usable): Renamed from
67800         is_envjavac_gcj_14_13_usable.
67801         (is_gcj_present): Update.
67802         (is_gcj_43, is_gcj43_usable): New functions.
67803         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
67804         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
67805         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
67806         try the options -fsource and -ftarget.
67807
67808 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67809
67810         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
67811         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67812         larger value.
67813
67814 2007-02-03  Jim Meyering  <jim@meyering.net>
67815
67816         Give tools a better chance to allocate space for very large buffers.
67817         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67818
67819         Make pwd and readlink work also when run with an unreadable parent dir
67820         on systems with openat support.
67821         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67822         provided getcwd function, even when we have openat support.
67823         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67824
67825 2007-02-02  Bruno Haible  <bruno@clisp.org>
67826
67827         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67828         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67829         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67830         portability problems if one of these functions is only used on specific
67831         platforms.
67832         Reported by Paul Eggert.
67833
67834 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67835
67836         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67837         is causing more trouble than it's curing.
67838         * lib/regex_internal.h (__mempcpy): Remove.
67839         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67840         (and make the code a tad smaller to boot).
67841         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67842
67843 2007-02-02  Jim Meyering  <jim@meyering.net>
67844
67845         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67846         section, not in the Makefile.am: one.
67847
67848 2007-02-02  Eric Blake  <ebb9@byu.net>
67849
67850         * lib/strchrnul.c: Always include config.h first.
67851
67852         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67853         gnulib strstr is not necessary here.
67854
67855 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67856
67857         * m4/socklen.m4: Fix typo.
67858
67859 2007-02-02  Eric Blake  <ebb9@byu.net>
67860
67861         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67862         * modules/netinet_in (Makefile.am): Likewise.
67863
67864 2007-02-01  Bruno Haible  <bruno@clisp.org>
67865
67866         * lib/string_.h (GL_LINK_WARNING): New macro.
67867         (strcasecmp, strstr, strcasestr): If provided by the system,
67868         conditionally define as a macro that leads to a warning instead of to
67869         an error.
67870         (strncasecmp): Conditionally define as a macro that leads to a warning.
67871
67872 2007-02-01  Karl Berry  <karl@gnu.org>
67873
67874         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67875
67876 2007-02-01  Bruno Haible  <bruno@clisp.org>
67877
67878         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67879         renamings.
67880
67881 2007-02-01  Eric Blake  <ebb9@byu.net>
67882
67883         * modules/regex (Depends-on): Revert dependence on mempcpy.
67884         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67885         module's definition of mempcpy.
67886         Reported by Paul Eggert.
67887
67888 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67889
67890         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67891         the symbol XYZ before redefining it.  This fixes a problem with
67892         programs that don't use XYZ, when compiled on systems that define
67893         XYZ to something else.
67894
67895 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67896
67897         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67898         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67899         writeable to group or other and (2) is intended to have a special
67900         mode bit that is set or cleared.  In such a case, the directory
67901         should be neither group- nor other-writeable until the special
67902         mode bits are right.
67903
67904 2007-01-31  Eric Blake  <ebb9@byu.net>
67905
67906         * modules/mountlist (Depends-on): Add strstr.
67907
67908         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67909         bug.
67910         * modules/string (Makefile.am): Remove redundant replacement.
67911         * modules/regex (Depends-on): Add mempcpy.
67912
67913 2007-01-31  Bruno Haible  <bruno@clisp.org>
67914
67915         New module description field 'Link'.
67916         * gnulib-tool (func_usage): Document --extract-link-directive.
67917         (sed_extract_prog): Recognize 'Link' directive.
67918         (func_get_link_directive): New function.
67919         (func_import): Show summary of link directives.
67920         Handle --extract-link-directive option.
67921         * modules/acl (Link): New section.
67922         * modules/clock-time (Link): New section.
67923         * modules/euidaccess (Link): New section.
67924         * modules/gettext (Link): New section.
67925         * modules/iconv (Link): New section.
67926         * modules/lock (Link): New section.
67927         * modules/nanosleep (Link): New section.
67928         * modules/readline (Link): New section.
67929
67930 2007-01-27  Bruno Haible  <bruno@clisp.org>
67931
67932         Enforce the use of gnulib modules for unportable <string.h> functions.
67933         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
67934         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
67935         (gl_HEADER_STRING_H_BODY): Require it.
67936         * lib/string_.h: If the gnulib module XYZ is not present, redefine
67937         the symbol XYZ to one that gives a link error.
67938         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
67939         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
67940         * modules/mempcpy (configure.ac): Likewise.
67941         * modules/memrchr (configure.ac): Likewise.
67942         * modules/stpcpy (configure.ac): Likewise.
67943         * modules/stpncpy (configure.ac): Likewise.
67944         * modules/strcase (configure.ac): Likewise.
67945         * modules/strcasestr (configure.ac): Likewise.
67946         * modules/strchrnul (configure.ac): Likewise.
67947         * modules/strdup (configure.ac): Likewise.
67948         * modules/strndup (configure.ac): Likewise.
67949         * modules/strnlen (configure.ac): Likewise.
67950         * modules/strpbrk (configure.ac): Likewise.
67951         * modules/strsep (configure.ac): Likewise.
67952         * modules/strstr (configure.ac): Likewise.
67953         * modules/strtok_r (configure.ac): Likewise.
67954
67955 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
67956
67957         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
67958
67959 2007-01-30  Jim Meyering  <jim@meyering.net>
67960
67961         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
67962
67963 2007-01-29  Bruno Haible  <bruno@clisp.org>
67964
67965         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
67966         * lib/execute.c: Likewise.
67967         * lib/pipe.c: Likewise.
67968         * lib/printf-args.h: Likewise.
67969         * lib/printf-args.c: Likewise.
67970         * lib/printf-parse.c: Likewise.
67971         * lib/vasnprintf.c: Likewise.
67972
67973 2007-01-29  Eric Blake  <ebb9@byu.net>
67974
67975         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
67976         declaration.
67977
67978 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
67979
67980         * lib/strptime.h (strptime): Use 'restrict' for args where
67981         POSIX requires this.
67982         * lib/strptime.c (strptime): Likewise.
67983         Change license notice from LGPL to GPL, since gnulib-tool will
67984         change this as needed.
67985         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
67986         defined.
67987         Include "strptime.h" first, to check interface.
67988         Do not #undef _LIBC and _NL_CURRENT.
67989         Do not include <stdlib.h>; no longer needed.
67990         Include "time_r.h" and declare ptime_locale_status
67991         only if _LIBC is not defined.
67992         (__P): Remove unused macro.
67993         (match_string): Bring back glibc version, but use it only if _LIBC
67994         is defined.
67995         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67996         Remove unnecessary assertion and abort() call.
67997         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
67998         * m4/strptime.m4: Fix serial number comment.
67999         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68000         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68001         (Depends-on): Add time_r.
68002
68003 2007-01-29  Bruno Haible  <bruno@clisp.org>
68004
68005         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68006         strptime.
68007         * modules/strptime (Depends-on): Add stdbool.
68008         * lib/strptime.h: Include <time.h> always. Add comments.
68009
68010 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68011
68012         * modules/strptime: New file.
68013         * lib/strptime.h: New file.
68014         * lib/strptime.c: New file.
68015         * m4/strptime.m4: New file.
68016
68017 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68018
68019         * MODULES.html.sh: New module mpsort.
68020         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68021
68022         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68023         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68024         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68025         All uses changed.
68026         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68027         All uses changed.
68028         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68029         to _Restrict_.
68030         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68031         the parameter matches the prototype.
68032
68033 2007-01-28  Jim Meyering  <jim@meyering.net>
68034
68035         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68036         sys/time.h here, reverting that part of the previous patch:
68037         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68038
68039 2007-01-28  Bruno Haible  <bruno@clisp.org>
68040
68041         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68042         value of $(SYS_TIME_H).
68043         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68044         remove it conditionally, too. [added by Jim Meyering]
68045         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68046         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68047         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68048         GETTIMEOFDAY_REPLACEMENT to 1.
68049
68050 2007-01-28  Bruno Haible  <bruno@clisp.org>
68051
68052         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68053         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68054         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68055         Set UNISTD_H instead of UNISTD_H2.
68056         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68057
68058 2007-01-28  Bruno Haible  <bruno@clisp.org>
68059
68060         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68061         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68062
68063 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68064
68065         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68066         (func_create_testdir): Ensure C locale for `grep' and `tr'
68067         character ranges.
68068         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68069         ACLOCAL_AMFLAGS parsing state machine.
68070
68071 2007-01-27  Bruno Haible  <bruno@clisp.org>
68072
68073         * modules/unistr/base: Update.
68074
68075 2007-01-27  Bruno Haible  <bruno@clisp.org>
68076
68077         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68078         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68079         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68080         modules/unistr/u32-mbtouc.
68081         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68082         * lib/unistr.h: Update.
68083         * lib/linebreak.c: Update.
68084         * modules/unistr/u32-mbtouc: Renamed from
68085         modules/unistr/u32-mbtouc-safe.
68086         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68087         * lib/unistr.h: Update.
68088         * lib/unistr/u32-to-u8.c: Update.
68089         * lib/unistr/u32-to-u16.c: Update.
68090
68091 2007-01-27  Bruno Haible  <bruno@clisp.org>
68092
68093         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68094         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68095         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68096         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68097         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68098         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68099         modules/unistr/u16-mbtouc.
68100         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68101         * lib/unistr.h: Update.
68102         * lib/linebreak.c: Update.
68103         * modules/linebreak: Update.
68104         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68105         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68106         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68107         * modules/unistr/u16-mbtouc: Renamed from
68108         modules/unistr/u16-mbtouc-safe.
68109         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68110         * lib/unistr.h: Update.
68111         * lib/unistr/u16-to-u8.c: Update.
68112         * modules/unistr/u16-to-u8: Update.
68113         * lib/unistr/u16-to-u32.c: Update.
68114         * modules/unistr/u16-to-u32: Update.
68115
68116 2007-01-27  Bruno Haible  <bruno@clisp.org>
68117
68118         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68119         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68120         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68121         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68122         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68123         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68124         modules/unistr/u8-mbtouc.
68125         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68126         * lib/unistr.h: Update.
68127         * lib/striconveh.c: Update.
68128         * modules/striconveh: Update.
68129         * lib/linebreak.c: Update.
68130         * modules/linebreak: Update.
68131         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68132         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68133         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68134         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68135         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68136         * lib/unistr.h: Update.
68137         * lib/striconveh.c: Update.
68138         * modules/striconveh: Update.
68139         * lib/unistr/u8-to-u16.c: Update.
68140         * modules/unistr/u8-to-u16: Update.
68141         * lib/unistr/u8-to-u32.c: Update.
68142         * modules/unistr/u8-to-u32: Update.
68143
68144 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68145
68146         Sync from Libtool.
68147         * lib/argz.c: Do not include strings.h nor memory.h, include
68148         string.h unconditionally.  Patch by Simon Josefsson.
68149
68150 2007-01-27  Bruno Haible  <bruno@clisp.org>
68151
68152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68153         from gl_HEADER_STRING_H_BODY.
68154         (gl_HEADER_STRING_H_BODY): Require it.
68155         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68156         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68157         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68158         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68159         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68160         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68161         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68162         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68163         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68164         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68165         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68166         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68167         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68168         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68169         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68170
68171 2007-01-27  Bruno Haible  <bruno@clisp.org>
68172
68173         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68174         check_PROGRAMS into noinst_PROGRAMS.
68175         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68176         check_PROGRAMS in this case.
68177         (func_import): Set for_test to false.
68178         (func_create_testdir): Set for_test to true.
68179
68180 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68181             Bruno Haible  <bruno@clisp.org>
68182
68183         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68184         (Depends-on): Add string.
68185         (Includes): Use <string.h> instead of strcasestr.h.
68186         * modules/string (Makefile.am): Also substitute the value of
68187         REPLACE_STRCASESTR.
68188         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68189         assume strcasestr is declared in <string.h> not <strings.h>. Also
68190         set REPLACE_STRCASESTR.
68191         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68192         REPLACE_STRCASESTR.
68193         * lib/strcasestr.h: Remove file.
68194         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68195         * lib/string_.h (strcasestr): New declaration.
68196
68197 2007-01-27  Bruno Haible  <bruno@clisp.org>
68198
68199         * lib/string_.h: Use 'extern'.
68200
68201 2007-01-27  Jim Meyering  <jim@meyering.net>
68202
68203         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68204         of set-but-not-used local, "q".
68205
68206         * lib/mempcpy.c: Include <config.h> before <string.h>.
68207         This fixes a compilation error on HP-UX, due to the system's
68208         "restrict"-using mempcpy prototype.
68209
68210 2007-01-26  Bruno Haible  <bruno@clisp.org>
68211
68212         Small optimization.
68213         * lib/javacomp.c: Include c-strstr.h.
68214          (is_envjavac_gcj): Use c_strstr instead of strstr.
68215         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68216
68217 2007-01-26  Bruno Haible  <bruno@clisp.org>
68218
68219         * MODULES.html.sh (Unicode string functions): Add the new modules.
68220
68221         * modules/uniconv/u32-strconv-to-locale: New file.
68222         * lib/uniconv/u32-strconv-to-locale.c: New file.
68223
68224         * modules/uniconv/u16-strconv-to-locale: New file.
68225         * lib/uniconv/u16-strconv-to-locale.c: New file.
68226
68227         * modules/uniconv/u8-strconv-to-locale: New file.
68228         * lib/uniconv/u8-strconv-to-locale.c: New file.
68229
68230         * modules/uniconv/u32-strconv-from-locale: New file.
68231         * lib/uniconv/u32-strconv-from-locale.c: New file.
68232
68233         * modules/uniconv/u16-strconv-from-locale: New file.
68234         * lib/uniconv/u16-strconv-from-locale.c: New file.
68235
68236         * modules/uniconv/u8-strconv-from-locale: New file.
68237         * lib/uniconv/u8-strconv-from-locale.c: New file.
68238
68239         * modules/uniconv/u32-strconv-to-enc: New file.
68240         * lib/uniconv/u32-strconv-to-enc.c: New file.
68241         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68242         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68243
68244         * modules/uniconv/u16-strconv-to-enc: New file.
68245         * lib/uniconv/u16-strconv-to-enc.c: New file.
68246         * lib/uniconv/u-strconv-to-enc.h: New file.
68247         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68248         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68249
68250         * modules/uniconv/u8-strconv-to-enc: New file.
68251         * lib/uniconv/u8-strconv-to-enc.c: New file.
68252         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68253         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68254
68255         * modules/uniconv/u32-strconv-from-enc: New file.
68256         * lib/uniconv/u32-strconv-from-enc.c: New file.
68257         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68258         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68259
68260         * modules/uniconv/u16-strconv-from-enc: New file.
68261         * lib/uniconv/u16-strconv-from-enc.c: New file.
68262         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68263         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68264
68265         * modules/uniconv/u8-strconv-from-enc: New file.
68266         * lib/uniconv/u8-strconv-from-enc.c: New file.
68267         * lib/uniconv/u-strconv-from-enc.h: New file.
68268         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68269         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68270
68271         * modules/uniconv/u32-conv-from-enc: New file.
68272         * lib/uniconv/u32-conv-from-enc.c: New file.
68273         * modules/uniconv/u32-conv-from-enc-tests: New file.
68274         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68275
68276         * modules/uniconv/u16-conv-from-enc: New file.
68277         * lib/uniconv/u16-conv-from-enc.c: New file.
68278         * lib/uniconv/u-conv-from-enc.h: New file.
68279         * modules/uniconv/u16-conv-from-enc-tests: New file.
68280         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68281
68282         * modules/uniconv/u8-conv-from-enc: New file.
68283         * lib/uniconv/u8-conv-from-enc.c: New file.
68284         * modules/uniconv/u8-conv-from-enc-tests: New file.
68285         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68286
68287         * modules/uniconv/base: New file.
68288         * lib/uniconv.h: New file.
68289
68290 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68291
68292         * doc/gnulib-tool.texi (Initial import): Update to match current
68293         behavior with strdup module.
68294         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68295         * lib/memmem.h: Remove; all uses removed.  This is now done
68296         by <string.h>.
68297         * lib/mempcpy.h: Likewise.
68298         * lib/memrchr.h: Likewise.
68299         * lib/stpcpy.h: Likewise.
68300         * lib/stpncpy.h: Likewise.
68301         * lib/strcase.h: Likewise.
68302         * lib/strchrnul.h: Likewise.
68303         * lib/strdup.h: Likewise.
68304         * lib/strndup.h: Likewise.
68305         * lib/strnlen.h: Likewise.
68306         * lib/strpbrk.h: Likewise.
68307         * lib/strsep.h: Likewise.
68308         * lib/strstr.h: Likewise.
68309         * lib/strtok_r.h: Likewise.
68310         * lib/string_.h: New file.
68311         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68312         Rely on <string.h> instead.
68313         * lib/canon-host.c: Likewise.
68314         * lib/chdir-long.c: Likewise.
68315         * lib/concatpath.c: Likewise.
68316         * lib/exclude.c: Likewise.
68317         * lib/fchdir.c: Likewise.
68318         * lib/getaddrinfo.c: Likewise.
68319         * lib/getcwd.c: Likewise.
68320         * lib/getsubopt.c: Likewise.
68321         * lib/glob.c: Likewise.
68322         * lib/hard-locale.c: Likewise.
68323         * lib/iconvme.c: Likewise.
68324         * lib/javacomp.c: Likewise.
68325         * lib/mempcpy.c: Likewise.
68326         * lib/memrchr.c: Likewise.
68327         * lib/regex_internal.h: Likewise.
68328         * lib/stpncpy.c: Likewise.
68329         * lib/strcasecmp.c: Likewise.
68330         * lib/strchrnul.c: Likewise.
68331         * lib/strdup.c: Likewise.
68332         * lib/striconv.c: Likewise.
68333         * lib/striconveh.c: Likewise.
68334         * lib/striconveha.c: Likewise.
68335         * lib/strncasecmp.c: Likewise.
68336         * lib/strndup.c: Likewise.
68337         * lib/strnlen.c: Likewise.
68338         * lib/strsep.c: Likewise.
68339         * lib/strstr.c: Likewise.
68340         * lib/strtok_r.c: Likewise.
68341         * lib/userspec.c: Likewise.
68342         * lib/w32spawn.h: Likewise.
68343         * lib/xstrndup.c: Likewise.
68344         * lib/mountlist.c (strstr): Remove decl.
68345         * m4/string_h.m4: New file.
68346         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68347         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68348         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68349         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68350         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68351         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68352         Set REPLACE_STRCASECMP if necessary.
68353         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68354         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68355         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68356         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68357         HAVE_DECL_STRDUP if necessary.
68358         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68359         since gl_FUNC_STRNDUP does that now.
68360         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68361         Check for decl here...
68362         (gl_PREREQ_STRNLEN): ... not here.
68363         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68364         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68365         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68366         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68367         necessary.
68368         * modules/string: New file.
68369         * modules/memmem (Files): Remove special-purpose include file.
68370         (Depends-on): Add string.
68371         (Include): Include <string.h>, not the removed file.
68372         * modules/mempcpy: Likewise.
68373         * modules/memrchr: Likewise.
68374         * modules/stpcpy: Likewise.
68375         * modules/stpncpy: Likewise.
68376         * modules/strcase: Likewise.
68377         * modules/strchrnul: Likewise.
68378         * modules/strdup: Likewise.
68379         * modules/strndup: Likewise.
68380         * modules/strnlen: Likewise.
68381         * modules/strpbrk: Likewise.
68382         * modules/strsep: Likewise.
68383         * modules/strstr: Likewise.
68384         * modules/strtok_r: Likewise.
68385         * tests/test-dirname.c: Don't include "strdup.h", since
68386         <string.h> now suffices.
68387         * tests/test-memmem.c: Don't include "memmem.h", since
68388         <string.h> now suffices.
68389
68390 2007-01-25  Bruno Haible  <bruno@clisp.org>
68391
68392         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68393         *resultp is 0.
68394
68395         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68396         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68397         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68398         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68399
68400         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68401         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68402         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68403         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68404         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68405         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68406
68407 2007-01-24  Bruno Haible  <bruno@clisp.org>
68408
68409         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68410         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68411         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68412         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68413         gl_FUNC_FTS_CORE.
68414         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68415         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68416         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68417         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68418         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68419         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68420         gl_FUNC_FCHOWNAT.
68421         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68422         gl_FUNC_STRFTIME.
68423         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68424         Reported by Ralf Wildenhues.
68425
68426 2007-01-24  Bruno Haible  <bruno@clisp.org>
68427
68428         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68429         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68430         gl_GETADDRINFO.
68431         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68432         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68433         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68434
68435 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68436
68437         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68438         Don't use 'exit'; just return from 'main'.
68439         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68440
68441         * lib/fnmatch_.h: Readjust white space and comments to match
68442         glibc, to avoid spurious diffs.
68443
68444 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68445
68446         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68447         2004-12-01 change by Jakub Jelinek, since this code won't compile
68448         if !LIBC.  Problem reported by Bob Proulx.
68449
68450 2007-01-23  Bruno Haible  <bruno@clisp.org>
68451
68452         * lib/striconveh.c: Include c-strcaseeq.h.
68453         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68454         * modules/striconveh (Depends-on): Add c-strcaseeq.
68455
68456 2007-01-23  Bruno Haible  <bruno@clisp.org>
68457
68458         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68459
68460         * modules/c-strcaseeq: New file.
68461         * lib/c-strcaseeq.h: New file.
68462
68463         * modules/streq: New file.
68464         * lib/streq.h: New file.
68465
68466 2007-01-23  Bruno Haible  <bruno@clisp.org>
68467
68468         * modules/striconveha-tests: New file.
68469         * tests/test-striconveha.c: New file.
68470
68471         * lib/striconveha.h: Include <stdbool.h>.
68472         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68473         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68474         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68475         (mem_iconveha): New function.
68476         (str_iconveha_notranslit): Renamed from str_iconveha.
68477         (str_iconveha): New function.
68478         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68479         c-strcase.
68480
68481 2007-01-23  Bruno Haible  <bruno@clisp.org>
68482
68483         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68484         encodings without forgiving before trying any encoding with handler.
68485         (str_iconveha): Try all encodings without forgiving before trying any
68486         encoding with handler.
68487
68488 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68489
68490         Import the following changes from libc.
68491
68492         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68493
68494         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68495
68496         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68497
68498         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68499         normal_bracket label.
68500
68501         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68502
68503         [BZ #361]
68504         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68505         to normal_bracket after fetching the next character.
68506
68507 2007-01-22  Bruno Haible  <bruno@clisp.org>
68508
68509         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68510         argument.
68511         * lib/striconveh.c (iconv_carefully_1): New function.
68512         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68513         argument.
68514         (str_cd_iconveh): Update.
68515         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68516         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68517         * tests/test-striconveh.c (MAGIC): New macro.
68518         (new_offsets): New function.
68519         (main): Test call with and without offsets.
68520
68521 2007-01-22  Bruno Haible  <bruno@clisp.org>
68522
68523         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68524         * modules/sys_select (Makefile.am): Likewise.
68525         * modules/sys_socket (Makefile.am): Likewise.
68526         * modules/sys_time (Makefile.am): Likewise.
68527
68528 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68529
68530         * modules/gettimeofday (License): Change from GPL to LGPL, since
68531         gettimeofday is a library function.
68532
68533 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68534
68535         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68536
68537 2007-01-21  Bruno Haible  <bruno@clisp.org>
68538
68539         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68540
68541 2007-01-21  Bruno Haible  <bruno@clisp.org>
68542
68543         * modules/striconveha: New file.
68544         * lib/striconveha.h: New file.
68545         * lib/striconveha.c: New file.
68546         * MODULES.html.sh (Internationalization functions): Add striconveha.
68547         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68548         string.
68549         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68550
68551 2007-01-21  Bruno Haible  <bruno@clisp.org>
68552
68553         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68554         * lib/striconveh.c (str_iconveh): Likewise.
68555
68556 2007-01-21  Bruno Haible  <bruno@clisp.org>
68557
68558         * lib/striconveh.h (mem_iconveh): New declaration.
68559         * lib/striconveh.c (mem_iconveh): New function.
68560         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68561
68562 2007-01-21  Bruno Haible  <bruno@clisp.org>
68563
68564         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68565
68566         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68567         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68568         original result buffer.
68569         (str_cd_iconveh): Update.
68570         * tests/test-striconveh.c (main): Update.
68571
68572         * lib/striconv.h (mem_cd_iconv): Change specification.
68573         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68574         result buffer.
68575         (str_cd_iconv): Update.
68576         * tests/test-striconv.c (main): Update.
68577
68578 2007-01-21  Bruno Haible  <bruno@clisp.org>
68579
68580         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68581
68582 2007-01-20  Jim Meyering  <jim@meyering.net>
68583
68584         * lib/userspec.c (parse_with_separator): If a user or group string
68585         starts with "+", skip the corresponding name-to-ID look-up, since
68586         such a look-up must fail: user and group names may not include "+".
68587
68588 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68589
68590         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68591         since we now assume the sys_time module.
68592         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68593         check for sys/time.h; no longer needed.
68594         * modules/poll (Depends-on): Depend on sys_time.
68595
68596 2007-01-18  Bruno Haible  <bruno@clisp.org>
68597
68598         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68599         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68600
68601         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68602         gettimeofday.
68603
68604         * tests/test-gettimeofday.c: Include <time.h>.
68605         (dummy): Remove variable.
68606
68607         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68608         gl_HEADER_SYS_TIME_H.
68609         (gl_HEADER_SYS_TIME_H): New macro.
68610
68611         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68612         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68613         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68614         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68615         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68616         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68617         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68618         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68619         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68620         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68621         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68622
68623         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68624         last change; it caused a compilation error when cross-compiling to
68625         Cygwin.
68626
68627 2007-01-18  Jim Meyering  <jim@meyering.net>
68628
68629         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68630         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68631         than the race-prone "test -d sys || mkdir sys".
68632         (configure.ac): Use AC_PROG_MKDIR_P.
68633         * modules/sys_select: Likewise.
68634         * modules/sys_socket: Likewise.
68635         * modules/sys_time: Likewise.
68636
68637 2007-01-18  Eric Blake  <ebb9@byu.net>
68638
68639         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68640         replace gettimeofday.
68641         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68642         name, to avoid infinite recursion.
68643
68644 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68645
68646         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68647         module sys_time.
68648         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68649         assume timespec.h defines struct timeval.
68650         * lib/settime.c: Likewise.
68651         * lib/utimens.c: Likewise.
68652         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68653         since we now assume the gettimeofday module.
68654         * lib/tempname.c (__gen_tempname): Likewise.
68655         * lib/gettimeofday.h: Remove.
68656         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68657         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68658         Include <time.h>, for 'time()'.
68659         (localtime_buffer_addr): Also use this workaround if
68660         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68661         to simplify the uses.  All uses changed.
68662         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68663         that #undef is inside {}, and 'const' follows type name consistently.
68664         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68665         (gettimeofday): Do not use the maximum possible value for
68666         tv->tv_usec, since that might break usages other than ls.c.
68667         Instead, we'll leave ls.c alone.  This undoes today's patch
68668         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68669         we've never observed the problem but might as well keep the
68670         canary.
68671         * lib/nanosleep.c: Include timespec.h first, for interface check.
68672         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68673         now assume the sys_time module.
68674         * lib/tempname.c: Likewise.
68675         * lib/timespec.h: Likewise.
68676         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68677         needed.
68678         * lib/strftime.c: Likewise.
68679         * lib/timespec.h: Likewise.
68680         * lib/posixtm.c: Include posixtm.h first, for interface check.
68681         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68682         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68683         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68684         * lib/sys_time_.h: New file.
68685         * lib/timespec.h (struct timespec): Use long int, not long.
68686         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68687         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68688         Remove obsolescent call to AC_HEADER_TIME.
68689         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68690         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68691         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68692         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68693         Likewise.
68694         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68695         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68696         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68697         into the sys_time module.  Check for gettimeofday just once.
68698         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68699         for gettimeofday signature to just check the signature.  Merely
68700         compile it, since linking doesn't test signature.  Improve test for
68701         whether gettimeofday.o is actually needed.
68702         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68703         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68704         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68705         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68706         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68707         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68708         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68709         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68710         than worrying about sys/time.h.
68711         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68712         Don't bother worrying about TIME_WITH_SYS_TIME.
68713         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68714         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68715         * m4/sys_time_h.m4: New file.
68716         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68717         Don't include sys/time.h.  Return from main rather than exiting.
68718         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68719         all uses changed.
68720         * modules/gethrxtime (Depends-on): Add sys_time.
68721         * modules/gettime (Depends-on): Likewise.
68722         * modules/gettimeofday (Depends-on): Likewise.
68723         * modules/nanosleep (Depends-on): Likewise.
68724         * modules/settime (Depends-on): Likewise.
68725         * modules/tempname (Depends-on): Likewise.
68726         * modules/utimens (Depends-on): Likewise.
68727         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68728         (Include): Change back to <sys/time.h>.
68729         (Maintainer): Add self.
68730         * modules/sys_time: New file.
68731         * modules/tempname (Depends-on): Add gettimeofday.
68732         * tests/test-gettimeofday.c: Include <sys/time.h>
68733         rather than gettimeofday.h.
68734
68735 2007-01-17  Bruno Haible  <bruno@clisp.org>
68736
68737         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68738         the license default to GPL.
68739         (func_create_testdir): Don't complain if a module is LGPL and its
68740         tests module depends on GPLed modules.
68741
68742 2007-01-17  Bruno Haible  <bruno@clisp.org>
68743
68744         * lib/gettimeofday.c (gettimeofday): Add code for the case
68745         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68746         maximum possible value for tv->tv_usec, rather than the minimum one.
68747
68748 2005-10-08  Martin Lambers  <marlam@marlam.de>
68749 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68750 2007-01-16  Bruno Haible  <bruno@clisp.org>
68751
68752         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68753         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68754         gl_FUNC_GETTIMEOFDAY.
68755         (Include): Add gettimeofday.h.
68756         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68757         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68758         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68759         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68760         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68761         * lib/gettimeofday.h: New file.
68762         * lib/gettimeofday.c: Include <sys/timeb.h>.
68763         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68764         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68765         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68766         fall back on time().
68767
68768         * tests/test-gettimeofday.c: New file.
68769         * modules/gettimeofday-tests: New file.
68770
68771 2007-01-16  Eric Blake  <ebb9@byu.net>
68772
68773         * modules/fnmatch (Depends-on): Depend on wchar.
68774         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68775         * m4/fnmatch.m4: Likewise.
68776         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68777         * m4/mbchar.m4: Likewise.
68778         * modules/mbswidth (Depends-on): Depend on wchar.
68779         * lib/mbswidth.c: Assume <wchar.h>.
68780         * m4/mbswidth.m4: Likewise.
68781         * modules/quotearg (Depends-on): Depend on wchar.
68782         * lib/quotearg.c: Assume <wchar.h>.
68783         * m4/quotearg.m4: Likewise.
68784         * modules/regex (Depends-on): Depend on wchar.
68785         * lib/regex_internal.h: Assume <wchar.h>.
68786         * m4/regex.m4: Likewise.
68787         * modules/stdint (Depends-on): Depend on wchar.
68788         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68789         * m4/stdint.m4: Likewise.
68790         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68791         * modules/strftime (Depends-on): Depend on wchar.
68792         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68793         * modules/strtol (Depends-on): Depend on wchar.
68794         * lib/strtol.c: Assume <wchar.h>.
68795         * modules/wcwidth (Depends-on): Depend on wchar.
68796         * lib/wcwidth.h: Assume <wchar.h>.
68797         * m4/wcwidth.m4: Likewise.
68798
68799 2007-01-16  Bruno Haible  <bruno@clisp.org>
68800
68801         * modules/csharpexec-script: New, created from...
68802         * modules/csharpexec: ... this.
68803
68804 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
68805
68806         * modules/javaexec-script: New, created from...
68807         * modules/javaexec: ... this.
68808
68809 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68810
68811         * modules/poll (Dependencies): Add sys_select.
68812
68813 2007-01-15  Jim Meyering  <jim@meyering.net>
68814
68815         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68816         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68817         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68818         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68819
68820 2007-01-15  Bruno Haible  <bruno@clisp.org>
68821
68822         * modules/striconveh: New file.
68823         * lib/striconveh.h: New file.
68824         * lib/striconveh.c: New file.
68825         * MODULES.html.sh (Internationalization functions): Add striconveh.
68826
68827         * modules/striconveh-tests: New file.
68828         * tests/test-striconveh.c: New file.
68829
68830 2007-01-15  Bruno Haible  <bruno@clisp.org>
68831
68832         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68833         not from GNU libiconv or GNU libc.
68834
68835 2007-01-15  Bruno Haible  <bruno@clisp.org>
68836
68837         * doc/gnulib-intro.texi (Copyright): Explain the different license
68838         terms for module descriptions, autoconf macros, tests, documentation.
68839
68840 2007-01-14  Bruno Haible  <bruno@clisp.org>
68841
68842         * modules/striconv-tests: New file.
68843         * tests/test-striconv.c: New file.
68844
68845 2007-01-14  Bruno Haible  <bruno@clisp.org>
68846
68847         * modules/iconv-tests: New file.
68848         * tests/test-iconv.c: New file.
68849
68850 2007-01-14  Bruno Haible  <bruno@clisp.org>
68851
68852         * gnulib-tool (func_get_license): For test modules, use the license of
68853         the main module.
68854
68855 2007-01-14  Bruno Haible  <bruno@clisp.org>
68856
68857         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68858         if iconv is found to exist.
68859
68860 2007-01-14  Bruno Haible  <bruno@clisp.org>
68861
68862         * modules/c-ctype-tests: New file.
68863         * tests/test-c-ctype.c: New file.
68864
68865 2007-01-14  Bruno Haible  <bruno@clisp.org>
68866
68867         * modules/binary-io-tests: New file.
68868         * tests/test-binary-io.sh: New file.
68869         * tests/test-binary-io.c: New file.
68870
68871 2007-01-14  Bruno Haible  <bruno@clisp.org>
68872
68873         * modules/array-oset-tests: New file.
68874         * tests/test-array_oset.c: New file.
68875
68876 2007-01-14  Bruno Haible  <bruno@clisp.org>
68877
68878         * modules/array-list-tests: New file.
68879         * tests/test-array_list.c: New file.
68880
68881 2007-01-14  Bruno Haible  <bruno@clisp.org>
68882
68883         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68884         and make.
68885         Reported by Simon Josefsson in
68886         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68887
68888 2007-01-14  Bruno Haible  <bruno@clisp.org>
68889
68890         * modules/allocsa-tests: New file.
68891         * tests/test-allocsa.c: New file.
68892
68893 2007-01-14  Bruno Haible  <bruno@clisp.org>
68894
68895         * modules/fchdir (Depends-on): Add absolute-header.
68896         * modules/unistd (Depends-on): Likewise.
68897
68898 2006-12-30  Bruno Haible  <bruno@clisp.org>
68899
68900         * modules/fchdir: New file.
68901         * modules/unistd (Files): Add lib/unistd_.h.
68902         (Makefile.am): Generate unistd.h from unistd_.h.
68903         * lib/fchdir.c: New file.
68904         * lib/dirent_.h: New file.
68905         * lib/unistd_.h: New file.
68906         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68907         * m4/fchdir.m4: New file.
68908         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68909         (gl_HEADER_UNISTD): Invoke it.
68910         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68911         function.
68912         * lib/backupfile.c (opendir, closedir): Undefine.
68913         * lib/chown.c (open, close): Undefine.
68914         * lib/clean-temp.c (open, close): Undefine.
68915         * lib/copy-file.c (open, close): Undefine.
68916         * lib/execute.c (open, close): Undefine.
68917         * lib/fsusage.c (open, close): Undefine.
68918         * lib/gc-gnulib.c (open, close): Undefine.
68919         * lib/getcwd.c (opendir, closedir): Undefine.
68920         * lib/glob.c (opendir, closedir): Undefine.
68921         * lib/javacomp.c (open, close): Undefine.
68922         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
68923         * lib/openat-proc.c (open, close): Undefine.
68924         * lib/pagealign_alloc.c (open, close): Undefine.
68925         * lib/pipe.c (open, close): Undefine.
68926         * lib/progreloc.c (open, close): Undefine.
68927         * lib/savedir.c (opendir, closedir): Undefine.
68928         * lib/utime.c (open, close): Undefine.
68929         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
68930
68931 2007-01-10  Bruno Haible  <bruno@clisp.org>
68932
68933         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
68934
68935 2007-01-12  Eric Blake  <ebb9@byu.net>
68936
68937         Provide a robust <wchar.h>.  Further simplifications are now
68938         possible in other modules, but not included here.
68939         * modules/wchar: New module.
68940         * m4/wchar.m4: New file.
68941         * lib/wchar_.h: Likewise.
68942         * modules/mbchar (Depends-on): Depend on wchar, as the first use
68943         of the new module.
68944         * MODULES.html.sh (Extended multibyte and wide character utilities):
68945         New section.
68946
68947 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
68948
68949         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
68950         to a reasonable default for memory allocation.
68951         (xreadlink): Don't allocate a huge buffer, to work around a buggy
68952         file system that reports garbage st_size values for symlinks.
68953         Problem reported by Liyang Hu.
68954
68955 2007-01-11  Simon Josefsson  <simon@josefsson.org>
68956
68957         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
68958         Emacs .#* auto-save files).
68959
68960 2007-01-11  Bruno Haible  <bruno@clisp.org>
68961
68962         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
68963         directory.
68964
68965 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68966
68967         Use @...@ consistently in lib/wctype_.h.
68968         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
68969         on it being set to 1 or 0.
68970         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
68971         go back to AC_SUBSTing it.
68972         * modules/wctype (Makefile.am): Undo previous change.
68973
68974 2007-01-10  Eric Blake  <ebb9@byu.net>
68975
68976         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
68977         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
68978         * modules/wctype (Makefile.am): Likewise.
68979         Reported by Chris McGuire.
68980
68981 2007-01-10  Jim Meyering  <jim@meyering.net>
68982
68983         fts.c: a small readability/maintainability improvement
68984         * lib/fts.c (fts_read): Make this code slightly more readable and
68985         maintainable by hoisting the "sp->fts_cur = p" assignments to
68986         immediately follow the statements that set P.  Derived from
68987         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
68988
68989 2007-01-10  Eric Blake  <ebb9@byu.net>
68990
68991         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
68992         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
68993         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68994         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
68995         Reported by Chris McGuire.
68996
68997 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68998
68999         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69000         in sed script.
69001
69002 2007-01-09  Bruno Haible  <bruno@clisp.org>
69003
69004         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69005         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69006         variables.
69007         (func_module): Use them.
69008
69009 2007-01-09  Bruno Haible  <bruno@clisp.org>
69010
69011         * modules/unistr/base: New file.
69012         * lib/unistr.h: New file.
69013
69014         * modules/unistr/u8-to-u16: New file.
69015         * lib/unistr/u8-to-u16.c: New file.
69016
69017         * modules/unistr/u8-to-u32: New file.
69018         * lib/unistr/u8-to-u32.c: New file.
69019
69020         * modules/unistr/u16-to-u8: New file.
69021         * lib/unistr/u16-to-u8.c: New file.
69022
69023         * modules/unistr/u16-to-u32: New file.
69024         * lib/unistr/u16-to-u32.c: New file.
69025
69026         * modules/unistr/u32-to-u8: New file.
69027         * lib/unistr/u32-to-u8.c: New file.
69028
69029         * modules/unistr/u32-to-u16: New file.
69030         * lib/unistr/u32-to-u16.c: New file.
69031
69032         * modules/unistr/u8-check: New file.
69033         * modules/unistr/u16-check: New file.
69034         * modules/unistr/u32-check: New file.
69035         * lib/unistr/u8-check.c: New file.
69036         * lib/unistr/u16-check.c: New file.
69037         * lib/unistr/u32-check.c: New file.
69038
69039         * modules/unistr/u8-chr: New file.
69040         * modules/unistr/u16-chr: New file.
69041         * modules/unistr/u32-chr: New file.
69042         * lib/unistr/u8-chr.c: New file.
69043         * lib/unistr/u16-chr.c: New file.
69044         * lib/unistr/u32-chr.c: New file.
69045
69046         * modules/unistr/u8-cmp: New file.
69047         * modules/unistr/u16-cmp: New file.
69048         * modules/unistr/u32-cmp: New file.
69049         * lib/unistr/u8-cmp.c: New file.
69050         * lib/unistr/u16-cmp.c: New file.
69051         * lib/unistr/u32-cmp.c: New file.
69052
69053         * modules/unistr/u8-cpy: New file.
69054         * modules/unistr/u16-cpy: New file.
69055         * modules/unistr/u32-cpy: New file.
69056         * lib/unistr/u8-cpy.c: New file.
69057         * lib/unistr/u16-cpy.c: New file.
69058         * lib/unistr/u32-cpy.c: New file.
69059         * lib/unistr/u-cpy.h: New file.
69060
69061         * modules/unistr/u8-cpy-alloc: New file.
69062         * modules/unistr/u16-cpy-alloc: New file.
69063         * modules/unistr/u32-cpy-alloc: New file.
69064         * lib/unistr/u8-cpy-alloc.c: New file.
69065         * lib/unistr/u16-cpy-alloc.c: New file.
69066         * lib/unistr/u32-cpy-alloc.c: New file.
69067         * lib/unistr/u-cpy-alloc.h: New file.
69068
69069         * modules/unistr/u8-endswith: New file.
69070         * modules/unistr/u16-endswith: New file.
69071         * modules/unistr/u32-endswith: New file.
69072         * lib/unistr/u8-endswith.c: New file.
69073         * lib/unistr/u16-endswith.c: New file.
69074         * lib/unistr/u32-endswith.c: New file.
69075         * lib/unistr/u-endswith.h: New file.
69076
69077         * modules/unistr/u8-mblen: New file.
69078         * modules/unistr/u16-mblen: New file.
69079         * modules/unistr/u32-mblen: New file.
69080         * lib/unistr/u8-mblen.c: New file.
69081         * lib/unistr/u16-mblen.c: New file.
69082         * lib/unistr/u32-mblen.c: New file.
69083
69084         * modules/unistr/u8-mbtouc: New file.
69085         * modules/unistr/u16-mbtouc: New file.
69086         * modules/unistr/u32-mbtouc: New file.
69087         * lib/unistr/u8-mbtouc.c: New file.
69088         * lib/unistr/u16-mbtouc.c: New file.
69089         * lib/unistr/u32-mbtouc.c: New file.
69090
69091         * modules/unistr/u8-mbtouc-safe: New file.
69092         * modules/unistr/u16-mbtouc-safe: New file.
69093         * modules/unistr/u32-mbtouc-safe: New file.
69094         * lib/unistr/u8-mbtouc-safe.c: New file.
69095         * lib/unistr/u16-mbtouc-safe.c: New file.
69096         * lib/unistr/u32-mbtouc-safe.c: New file.
69097
69098         * modules/unistr/u8-move: New file.
69099         * modules/unistr/u16-move: New file.
69100         * modules/unistr/u32-move: New file.
69101         * lib/unistr/u8-move.c: New file.
69102         * lib/unistr/u16-move.c: New file.
69103         * lib/unistr/u32-move.c: New file.
69104         * lib/unistr/u-move.h: New file.
69105
69106         * modules/unistr/u8-next: New file.
69107         * modules/unistr/u16-next: New file.
69108         * modules/unistr/u32-next: New file.
69109         * lib/unistr/u8-next.c: New file.
69110         * lib/unistr/u16-next.c: New file.
69111         * lib/unistr/u32-next.c: New file.
69112
69113         * modules/unistr/u8-prev: New file.
69114         * modules/unistr/u16-prev: New file.
69115         * modules/unistr/u32-prev: New file.
69116         * lib/unistr/u8-prev.c: New file.
69117         * lib/unistr/u16-prev.c: New file.
69118         * lib/unistr/u32-prev.c: New file.
69119
69120         * modules/unistr/u8-set: New file.
69121         * modules/unistr/u16-set: New file.
69122         * modules/unistr/u32-set: New file.
69123         * lib/unistr/u8-set.c: New file.
69124         * lib/unistr/u16-set.c: New file.
69125         * lib/unistr/u32-set.c: New file.
69126         * lib/unistr/u-set.h: New file.
69127
69128         * modules/unistr/u8-startswith: New file.
69129         * modules/unistr/u16-startswith: New file.
69130         * modules/unistr/u32-startswith: New file.
69131         * lib/unistr/u8-startswith.c: New file.
69132         * lib/unistr/u16-startswith.c: New file.
69133         * lib/unistr/u32-startswith.c: New file.
69134         * lib/unistr/u-startswith.h: New file.
69135
69136         * modules/unistr/u8-stpcpy: New file.
69137         * modules/unistr/u16-stpcpy: New file.
69138         * modules/unistr/u32-stpcpy: New file.
69139         * lib/unistr/u8-stpcpy.c: New file.
69140         * lib/unistr/u16-stpcpy.c: New file.
69141         * lib/unistr/u32-stpcpy.c: New file.
69142         * lib/unistr/u-stpcpy.h: New file.
69143
69144         * modules/unistr/u8-stpncpy: New file.
69145         * modules/unistr/u16-stpncpy: New file.
69146         * modules/unistr/u32-stpncpy: New file.
69147         * lib/unistr/u8-stpncpy.c: New file.
69148         * lib/unistr/u16-stpncpy.c: New file.
69149         * lib/unistr/u32-stpncpy.c: New file.
69150         * lib/unistr/u-stpncpy.h: New file.
69151
69152         * modules/unistr/u8-strcat: New file.
69153         * modules/unistr/u16-strcat: New file.
69154         * modules/unistr/u32-strcat: New file.
69155         * lib/unistr/u8-strcat.c: New file.
69156         * lib/unistr/u16-strcat.c: New file.
69157         * lib/unistr/u32-strcat.c: New file.
69158         * lib/unistr/u-strcat.h: New file.
69159
69160         * modules/unistr/u8-strchr: New file.
69161         * modules/unistr/u16-strchr: New file.
69162         * modules/unistr/u32-strchr: New file.
69163         * lib/unistr/u8-strchr.c: New file.
69164         * lib/unistr/u16-strchr.c: New file.
69165         * lib/unistr/u32-strchr.c: New file.
69166
69167         * modules/unistr/u8-strcmp: New file.
69168         * modules/unistr/u16-strcmp: New file.
69169         * modules/unistr/u32-strcmp: New file.
69170         * lib/unistr/u8-strcmp.c: New file.
69171         * lib/unistr/u16-strcmp.c: New file.
69172         * lib/unistr/u32-strcmp.c: New file.
69173
69174         * modules/unistr/u8-strcpy: New file.
69175         * modules/unistr/u16-strcpy: New file.
69176         * modules/unistr/u32-strcpy: New file.
69177         * lib/unistr/u8-strcpy.c: New file.
69178         * lib/unistr/u16-strcpy.c: New file.
69179         * lib/unistr/u32-strcpy.c: New file.
69180         * lib/unistr/u-strcpy.h: New file.
69181
69182         * modules/unistr/u8-strcspn: New file.
69183         * modules/unistr/u16-strcspn: New file.
69184         * modules/unistr/u32-strcspn: New file.
69185         * lib/unistr/u8-strcspn.c: New file.
69186         * lib/unistr/u16-strcspn.c: New file.
69187         * lib/unistr/u32-strcspn.c: New file.
69188         * lib/unistr/u-strcspn.h: New file.
69189
69190         * modules/unistr/u8-strdup: New file.
69191         * modules/unistr/u16-strdup: New file.
69192         * modules/unistr/u32-strdup: New file.
69193         * lib/unistr/u8-strdup.c: New file.
69194         * lib/unistr/u16-strdup.c: New file.
69195         * lib/unistr/u32-strdup.c: New file.
69196         * lib/unistr/u-strdup.h: New file.
69197
69198         * modules/unistr/u8-strlen: New file.
69199         * modules/unistr/u16-strlen: New file.
69200         * modules/unistr/u32-strlen: New file.
69201         * lib/unistr/u8-strlen.c: New file.
69202         * lib/unistr/u16-strlen.c: New file.
69203         * lib/unistr/u32-strlen.c: New file.
69204         * lib/unistr/u-strlen.h: New file.
69205
69206         * modules/unistr/u8-strmblen: New file.
69207         * modules/unistr/u16-strmblen: New file.
69208         * modules/unistr/u32-strmblen: New file.
69209         * lib/unistr/u8-strmblen.c: New file.
69210         * lib/unistr/u16-strmblen.c: New file.
69211         * lib/unistr/u32-strmblen.c: New file.
69212
69213         * modules/unistr/u8-strmbtouc: New file.
69214         * modules/unistr/u16-strmbtouc: New file.
69215         * modules/unistr/u32-strmbtouc: New file.
69216         * lib/unistr/u8-strmbtouc.c: New file.
69217         * lib/unistr/u16-strmbtouc.c: New file.
69218         * lib/unistr/u32-strmbtouc.c: New file.
69219
69220         * modules/unistr/u8-strncat: New file.
69221         * modules/unistr/u16-strncat: New file.
69222         * modules/unistr/u32-strncat: New file.
69223         * lib/unistr/u8-strncat.c: New file.
69224         * lib/unistr/u16-strncat.c: New file.
69225         * lib/unistr/u32-strncat.c: New file.
69226         * lib/unistr/u-strncat.h: New file.
69227
69228         * modules/unistr/u8-strncmp: New file.
69229         * modules/unistr/u16-strncmp: New file.
69230         * modules/unistr/u32-strncmp: New file.
69231         * lib/unistr/u8-strncmp.c: New file.
69232         * lib/unistr/u16-strncmp.c: New file.
69233         * lib/unistr/u32-strncmp.c: New file.
69234
69235         * modules/unistr/u8-strncpy: New file.
69236         * modules/unistr/u16-strncpy: New file.
69237         * modules/unistr/u32-strncpy: New file.
69238         * lib/unistr/u8-strncpy.c: New file.
69239         * lib/unistr/u16-strncpy.c: New file.
69240         * lib/unistr/u32-strncpy.c: New file.
69241         * lib/unistr/u-strncpy.h: New file.
69242
69243         * modules/unistr/u8-strnlen: New file.
69244         * modules/unistr/u16-strnlen: New file.
69245         * modules/unistr/u32-strnlen: New file.
69246         * lib/unistr/u8-strnlen.c: New file.
69247         * lib/unistr/u16-strnlen.c: New file.
69248         * lib/unistr/u32-strnlen.c: New file.
69249         * lib/unistr/u-strnlen.h: New file.
69250
69251         * modules/unistr/u8-strpbrk: New file.
69252         * modules/unistr/u16-strpbrk: New file.
69253         * modules/unistr/u32-strpbrk: New file.
69254         * lib/unistr/u8-strpbrk.c: New file.
69255         * lib/unistr/u16-strpbrk.c: New file.
69256         * lib/unistr/u32-strpbrk.c: New file.
69257         * lib/unistr/u-strpbrk.h: New file.
69258
69259         * modules/unistr/u8-strrchr: New file.
69260         * modules/unistr/u16-strrchr: New file.
69261         * modules/unistr/u32-strrchr: New file.
69262         * lib/unistr/u8-strrchr.c: New file.
69263         * lib/unistr/u16-strrchr.c: New file.
69264         * lib/unistr/u32-strrchr.c: New file.
69265
69266         * modules/unistr/u8-strspn: New file.
69267         * modules/unistr/u16-strspn: New file.
69268         * modules/unistr/u32-strspn: New file.
69269         * lib/unistr/u8-strspn.c: New file.
69270         * lib/unistr/u16-strspn.c: New file.
69271         * lib/unistr/u32-strspn.c: New file.
69272         * lib/unistr/u-strspn.h: New file.
69273
69274         * modules/unistr/u8-strstr: New file.
69275         * modules/unistr/u16-strstr: New file.
69276         * modules/unistr/u32-strstr: New file.
69277         * lib/unistr/u8-strstr.c: New file.
69278         * lib/unistr/u16-strstr.c: New file.
69279         * lib/unistr/u32-strstr.c: New file.
69280         * lib/unistr/u-strstr.h: New file.
69281
69282         * modules/unistr/u8-strtok: New file.
69283         * modules/unistr/u16-strtok: New file.
69284         * modules/unistr/u32-strtok: New file.
69285         * lib/unistr/u8-strtok.c: New file.
69286         * lib/unistr/u16-strtok.c: New file.
69287         * lib/unistr/u32-strtok.c: New file.
69288         * lib/unistr/u-strtok.h: New file.
69289
69290         * modules/unistr/u8-uctomb: New file.
69291         * modules/unistr/u16-uctomb: New file.
69292         * modules/unistr/u32-uctomb: New file.
69293         * lib/unistr/u8-uctomb.c: New file.
69294         * lib/unistr/u16-uctomb.c: New file.
69295         * lib/unistr/u32-uctomb.c: New file.
69296
69297         * MODULES.html.sh (Unicode string functions): Add the new modules.
69298
69299 2007-01-08  Bruno Haible  <bruno@clisp.org>
69300
69301         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69302         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69303         subdirectories.
69304
69305 2007-01-08  Karl Berry  <karl@gnu.org>
69306
69307         * doc/error.texi: mention that main() fns must set program_name
69308         when progname is used.
69309
69310 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69311
69312         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69313         WCTYPE_H is empty, for the benefit of builds from non-distclean
69314         directories.  Problem reported by Eric Blake in
69315         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69316
69317 2007-01-08  Bruno Haible  <bruno@clisp.org>
69318
69319         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69320         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69321         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69322         PROVIDE_CANONICALIZE_FILENAME_MODE.
69323         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69324
69325 2007-01-08  Bruno Haible  <bruno@clisp.org>
69326
69327         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69328         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69329         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69330         * lib/fts.c: Likewise.
69331         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69332
69333 2006-12-25  Bruno Haible  <bruno@clisp.org>
69334
69335         * modules/utf8-ucs4-safe: New file.
69336         * lib/utf8-ucs4-safe.h: New file.
69337         * lib/unistr/utf8-ucs4-safe.c: New file.
69338
69339         * modules/utf16-ucs4-safe: New file.
69340         * lib/utf16-ucs4-safe.h: New file.
69341         * lib/unistr/utf16-ucs4-safe.c: New file.
69342
69343         * MODULES.html.sh (Unicode string functions): Add the new modules.
69344
69345 2007-01-08  Bruno Haible  <bruno@clisp.org>
69346
69347         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69348         (Depends-on): Add unitypes.
69349         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69350         (u8_mbtouc_aux): Move out to separate file.
69351         (u8_mbtouc): Use ucs4_t, uint8_t types.
69352         * lib/unistr/utf8-ucs4.c: New file.
69353
69354         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69355         (Depends-on): Add unitypes.
69356         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69357         (u16_mbtouc_aux): Move out to separate file.
69358         (u16_mbtouc): Use ucs4_t, uint16_t types.
69359         * lib/unistr/utf16-ucs4.c: New file.
69360
69361         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69362         (Depends-on): Add unitypes.
69363         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69364         (u8_uctomb_aux): Move out to separate file.
69365         (u8_uctomb): Use ucs4_t, uint8_t types.
69366         * lib/unistr/ucs4-utf8.c: New file.
69367
69368         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69369         (Depends-on): Add unitypes.
69370         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69371         (u16_uctomb_aux): Move out to separate file.
69372         (u16_uctomb): Use ucs4_t, uint16_t types.
69373         * lib/unistr/ucs4-utf16.c: New file.
69374
69375 2006-12-25  Bruno Haible  <bruno@clisp.org>
69376
69377         * modules/unitypes: New file.
69378         * lib/unitypes.h: New file.
69379         * MODULES.html.sh (func_all_modules): New section "Unicode string
69380         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69381         this section. Add unitypes.
69382
69383 2007-01-08  Bruno Haible  <bruno@clisp.org>
69384
69385         Avoid variable names that conflict with those from libtool.
69386         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69387         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69388         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69389         library_names_spec to acl_library_names_spec, hardcode_* to
69390         acl_hardcode_*.
69391         Reported by Ralf Wildenhues.
69392
69393 2007-01-08  Bruno Haible  <bruno@clisp.org>
69394
69395         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69396         definition.
69397         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69398         definition.
69399         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69400         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69401         definition.
69402         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69403         definition.
69404         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69405         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69406         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69407         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69408         definition.
69409         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69410         definition.
69411         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69412         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69413         GC_USE_<algorithm>.
69414         * lib/gc-libgcrypt.c: Likewise.
69415         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69416         * modules/gc-arctwo (configure.ac): Likewise.
69417         * modules/gc-des (configure.ac): Likewise.
69418         * modules/gc-hmac-md5 (configure.ac): Likewise.
69419         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69420         * modules/gc-md2 (configure.ac): Likewise.
69421         * modules/gc-md4 (configure.ac): Likewise.
69422         * modules/gc-md5 (configure.ac): Likewise.
69423         * modules/gc-random (configure.ac): Likewise.
69424         * modules/gc-rijndael (configure.ac): Likewise.
69425         * modules/gc-sha1 (configure.ac): Likewise.
69426
69427 2007-01-08  Bruno Haible  <bruno@clisp.org>
69428
69429         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69430         macro definition.
69431         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69432         definition.
69433         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69434         definition.
69435         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69436         * modules/fcntl-safer (configure.ac): Likewise.
69437         * modules/fopen-safer (configure.ac): Likewise.
69438         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69439         GNULIB_FWRITEERROR macro definition.
69440
69441 2007-01-08  Bruno Haible  <bruno@clisp.org>
69442
69443         * m4/gnulib-common.m4: New file.
69444         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69445         (func_get_filelist): Add m4/gnulib-common.m4.
69446
69447 2007-01-08  Bruno Haible  <bruno@clisp.org>
69448
69449         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69450         command.
69451
69452 2007-01-08  Jim Meyering  <jim@meyering.net>
69453
69454         Use a more robust test for a "can't happen" condition.
69455         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69456         narrowed the st_size value.  Presuming the "can't happen" condition
69457         is true, that narrowing could conceivably convert an invalid st_size
69458         value into a valid one.  Instead, use a change based on Matthew
69459         Woehlke's original patch.
69460
69461         Slight readability improvement: use an assert-like macro
69462         in place of literal "abort ()" uses.
69463         * lib/fts.c (fts_assert): Define.
69464         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69465         Use this macro instead of a bare 'abort'.
69466
69467 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69468
69469         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69470         simply work around them.
69471         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69472         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69473         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69474         declaring.
69475         Don't bother to define as macros, since the standard doesn't require it.
69476         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69477         longer worry about IRIX 5.3.
69478         (HAVE_WCTYPE_CTMP_BUG): Remove.
69479
69480 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69481
69482         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69483         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69484         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69485         Problems reported by Georg Schwarz for IRIX 5.3.
69486
69487         * gnulib-tool (autoconf_minversion): Take the maximum version number
69488         found, not the minimum.  Problem reported by James Youngman.
69489
69490 2007-01-03  Karl Berry  <karl@gnu.org>
69491
69492         * doc/error.texi: new file, explaining interaction with progname.
69493         * doc/gnulib.texi: include it.  Update copyright.
69494
69495 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69496
69497         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69498         AC_CANONICAL_HOST, to improve autobuild outputs.
69499
69500 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69501             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69502
69503         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69504         sockets, server sockets, and other file descriptors.  Count errors
69505         to compute the return value.  Reorder the code a bit to be easier
69506         to follow.  Don't set event bits that were not requested (except
69507         POLLERR and POLLHUP).
69508
69509 2007-01-01  Bruno Haible  <bruno@clisp.org>
69510
69511         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69512
69513 2007-01-03  Jim Meyering  <jim@meyering.net>
69514
69515         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69516
69517 2007-01-02  Bruno Haible  <bruno@clisp.org>
69518
69519         * modules/settime (Include): Require timespec.h.
69520         * modules/nanosleep (Include): Likewise.
69521
69522 2007-01-01  Bruno Haible  <bruno@clisp.org>
69523
69524         * gnulib-tool (func_emit_copyright_notice): Bump year.
69525         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69526
69527 2007-01-01  Bruno Haible  <bruno@clisp.org>
69528
69529         Improve support for OpenBSD.
69530         * build-aux/config.rpath (libname_spec): Export.
69531         (library_names_spec): New variable. Export.
69532         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69533         library_names_spec from the config.rpath output. Locate shared library
69534         through the name pattern in library_names_spec.
69535
69536 2007-01-01  Eric Blake  <ebb9@byu.net>
69537
69538         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69539
69540 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69541
69542         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69543         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69544         assume the C locale, and avoid an "eval" that could cause trouble.
69545         Problem with SORT reported by Bob Proulx.
69546
69547         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69548         Define.  Trivial patch from Henning Nielsen Lund, originally
69549         sent to bug-grep@gnu.org today.
69550
69551 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69552
69553         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69554         struct stat.  Problem reported by Henning Nielsen Lund.
69555         * lib/acl.c: Include acl.h first, to check interface.  Don't
69556         bother to include sys/types.h and sys/stat.h again.
69557
69558 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69559
69560         Import the following change from libc; problem reported by
69561         Sven Verdoolaege.
69562
69563         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69564
69565         [BZ #1373]
69566         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69567
69568 2006-12-28  Jim Meyering  <jim@meyering.net>
69569
69570         * build-aux/announce-gen: Do not assume that the package
69571         builds any of tar.gz, tar.bz2, and .xdelta files.
69572         Suggestion from Simon Josefsson.
69573
69574 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69575
69576         * modules/announce-gen: New file.
69577
69578 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69579
69580         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69581         handles its gotchas now.
69582         * lib/mbswidth.c: Likewise.
69583         * lib/wcwidth.h: Likewise.
69584         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69585         and iswcntrl; the wctype module does this stuff now.
69586         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69587         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69588         * modules/mbchar (Depends-on): Add wctype.
69589         * modules/mbswidth (Depends-on): Likewise.
69590         * modules/wcwidth (Depends-on): Likewise.
69591
69592 2006-12-27  Eric Blake  <ebb9@byu.net>
69593
69594         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69595         module uses more than what <wctype.h> is required to provide.
69596
69597 2006-12-26  Eric Blake  <ebb9@byu.net>
69598
69599         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69600
69601 2006-12-26  Eric Blake  <ebb9@byu.net>
69602
69603         * modules/absolute-header: New module.
69604         * modules/fcntl (Depends-on): Depend on it.
69605         * modules/inttypes (Depends-on): Likewise.
69606         * modules/stdint (Depends-on): Likewise.
69607         * modules/sys_stat (Depends-on): Likewise.
69608         * modules/wctype (Depends-on): Likewise.
69609         * MODULES.html.sh (Support for building libraries and
69610         executables): Document it.
69611
69612 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69613
69614         * gnulib-tool (SED): Remove, undoing previous change.
69615         The problem was that it broke coreutils on Solaris, because
69616         "sed --posix" leaked into a makefile.
69617         (sed): New alias, if 'alias' and GNU sed.
69618
69619 2006-12-24  Jim Meyering  <jim@meyering.net>
69620
69621         Work around an fchownat bug in glibc-2.4:
69622         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69623         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69624         in spite of the -P option.
69625         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69626         New macros.
69627         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69628         * modules/openat (Files): Add lib/fchownat.c.
69629         * lib/openat.c (fchownat): Don't define here.  Move to...
69630         * lib/fchownat.c: ...this new file.
69631
69632 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69633
69634         Fix bug reported by Bruno Haible in
69635         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69636         where quotearg.c didn't compile on Mac OS X 10.2 because it
69637         lacks <wchar.h> and wint_t.
69638         * lib/wctype_.h (__wctype_wint_t): New type.
69639         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69640         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69641         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69642         Arg is now of type __wctype_wint_t, not wint_t.
69643         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69644         substitute HAVE_WINT_T.
69645         * modules/wctype (Files): Add m4/wint_t.m4.
69646         (wctype.h): Substitute HAVE_WINT_T.
69647
69648 2006-12-23  Bruno Haible  <bruno@clisp.org>
69649
69650         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69651
69652 2006-12-23  Bruno Haible  <bruno@clisp.org>
69653
69654         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69655         S_ISLNK.
69656         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69657         mingw.
69658
69659 2006-12-22  Bruno Haible  <bruno@clisp.org>
69660
69661         * lib/copy-file.c: Include acl.h.
69662         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69663         Close the file descriptors only after being done with copy_acl.
69664         * modules/copy-file (Depends-on): Add acl.
69665
69666 2006-12-22  Bruno Haible  <bruno@clisp.org>
69667
69668         * gnulib-tool (SED): New variable.
69669         Use $SED instead of sed everywhere.
69670
69671 2006-12-22  Bruno Haible  <bruno@clisp.org>
69672
69673         * modules/no-c++: New file.
69674         * m4/no-c++.m4: New file.
69675         * MODULES.html.sh (Support for building libraries and executables):
69676         Add no-c++.
69677
69678 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69679
69680         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69681         Include <limits.h>, and use its INT_MAX to rewrite the
69682         j loop so that it does not overflow 'int'.  Problem reported by
69683         Ralf Wildenhues in
69684         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69685         Play it safe by shifting left by 1 rather than multiplying by 2,
69686         as GCC is less likely to optimize this away when the value
69687         is signed (when it assumes overflow leads to undefined behavior).
69688         Also, don't assume time_t uses two's complement.
69689
69690 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69691
69692         * MODULES.html.sh: New module wctype.
69693         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69694         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69695         <wctype.h>, since the new wctype module should fix this.
69696         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69697         the wctype module should arrange for it.
69698         * lib/regex_internal.h: Likewise.
69699         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69700         since the wctype module should handle this now.
69701         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69702         * modules/fnmatch (Depends-on): Add wctype.
69703         * modules/quotearg (Depends-on): Likewise.
69704         * modules/regex (Depends-on): Likewise.
69705
69706 2006-12-19  Bruno Haible  <bruno@clisp.org>
69707
69708         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69709         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69710
69711 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69712
69713         * modules/savewd (Depends-on): Fix dependency on fcntl.
69714
69715 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69716
69717         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69718         conforms to C99, rather than relying on the user's environment
69719         setting of STDINT_H.
69720
69721 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69722         and Eric Blake  <ebb9@byu.net>
69723
69724         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69725         This is more consistent with the other defines here.
69726         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69727         Port to z/OS.  Problem reported by Paul Gilmartin.
69728         Change local vars to use gl_ prefix rather than ac_.
69729         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69730         with other defines.
69731         * modules/double-slash-root: New module.
69732         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69733         (Depends-on): Add double-slash-root.
69734         * MODULES.html.sh (File system functions): Mention new module.
69735
69736 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69737
69738         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69739         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69740         This is for the benefit of gzip, which doesn't do i18n.
69741
69742 2006-12-12  Jim Meyering  <jim@meyering.net>
69743
69744         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69745         Reported by Andreas Schwab <schwab@suse.de>.
69746
69747 2006-12-12  Bruno Haible  <bruno@clisp.org>
69748
69749         Merge these changes.
69750         2006-09-05  Bruno Haible  <bruno@clisp.org>
69751         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69752         iconv_alloc succeeded.
69753         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69754         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69755         test for " && dest " at the end - dest is always != NULL there. Call
69756         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69757         with 2xNULL arguments, also to flush the state storage. Handle the
69758         IRIX iconv behaviour. Realloc the final result, to throw away unused
69759         memory.
69760
69761 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69762
69763         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69764         and fchmodat unconditionally, since glibc 2.4 has them.
69765         Problem reported by Arkadiusz Miskiewicz.
69766
69767 2006-12-10  Bruno Haible  <bruno@clisp.org>
69768
69769         * gnulib-tool (func_import): Show the include files only for those
69770         modules that are copied and specified.
69771         Reported by Karl Berry.
69772
69773 2006-12-08  Jim Meyering  <jim@meyering.net>
69774
69775         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69776         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69777
69778         * build-aux/announce-gen: Add two new options, both optional:
69779         --bootstrap-tools=TOOL_LIST
69780               a comma-separated list of tools, e.g.,
69781               autoconf,automake,bison,gnulib
69782         --gnulib-snapshot-date=DATE
69783               if gnulib is in the bootstrap tool list,
69784               then report this as the snapshot date.
69785               If not specified, use the current date/time.
69786               If you specify a date here, be sure it's UTC.
69787
69788 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69789
69790         * tests/test-argp-2.sh: Fix test to match actual output.
69791         (func_compare): Fix sed script to be portable.
69792
69793 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69794
69795         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69796         workaround for this case.  It is not autoconfigured now; offhand
69797         it's hard to see how to autoconfigure it.
69798
69799 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
69800
69801         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
69802         a directory that is about to be chowned.  Such a directory's
69803         initial file permissions should permit the owner only and this
69804         should not be changed until after the chown, since the group and
69805         other bits would be incorrect if they granted permission before
69806         the chown.
69807
69808         Fix porting problem for iswctype reported by Georg Schwarz in:
69809         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
69810         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
69811         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69812         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69813         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69814
69815 2006-12-03  Jim Meyering  <jim@meyering.net>
69816
69817         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69818         p->fts_statp may not yet be defined.
69819         (fts_read): Instead, set it in the caller, once p->fts_statp is
69820         sure to be defined, and corresponds to a top-level directory.
69821         This bug made du -x fail.  Here's the coreutils test case:
69822         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69823         Reported by Mike Frysinger.
69824
69825 2006-12-01  Jim Meyering  <jim@meyering.net>
69826
69827         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69828         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69829         Reported by Simon Josefsson.
69830
69831 2006-11-30  Jim Meyering  <jim@meyering.net>
69832
69833         * m4/warning.m4: Use the all-permissive copyright notice
69834         recommended by RMS (rather than LGPL).
69835         * m4/vararrays.m4: Likewise.
69836         * m4/flexmember.m4: Likewise.
69837
69838 2006-11-29  Bruno Haible  <bruno@clisp.org>
69839
69840         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69841         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69842         using +=.
69843         Reported by Simon Josefsson <simon@josefsson.org>.
69844
69845 2006-11-28  James Youngman <jay@gnu.org>
69846
69847         * README: Advise users that they might find the bug-gnulib@gnu.org
69848         and autotools-announce@gnu.org mailing lists useful.
69849
69850 2006-11-28  Bruno Haible  <bruno@clisp.org>
69851
69852         * m4/ptrdiff_max.m4: Remove file.
69853
69854 2006-11-21  Bruno Haible  <bruno@clisp.org>
69855
69856         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69857         _AC_COMPUTE_INT.
69858         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69859         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69860         _AC_COMPUTE_INT.
69861         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69862         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69863         _AC_COMPUTE_INT.
69864         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69865
69866 2006-11-28  Jim Meyering  <jim@meyering.net>
69867
69868         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69869         warning from "gcc -Wshadow" about shadowing the builtin.
69870
69871 2006-11-27  Bruno Haible  <bruno@clisp.org>
69872
69873         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69874         _AC_COMPUTE_INT.
69875         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69876
69877 2006-11-27  Bruno Haible  <bruno@clisp.org>
69878             Paul Eggert  <eggert@cs.ucla.edu>
69879
69880         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69881
69882 2006-11-26  Bruno Haible  <bruno@clisp.org>
69883
69884         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69885         noinst_LTLIBRARIES.
69886
69887 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69888             Bruno Haible  <bruno@clisp.org>
69889
69890         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69891         if compiling with "gcc -ansi".
69892
69893 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69894
69895         Fix some incompatibilities with gcc -ansi -pedantic.
69896         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69897         if compiling pedantically with GCC, unless it's C99 or later.
69898         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69899         it mishandles gcc -ansi -pedantic as well.
69900         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69901         if gcc -pedantic.
69902         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69903         initializers for struct if -pedantic, unless it's C99 or later.
69904
69905 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69906
69907         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69908         Don't close an fd more than once. Identical atimes indicate
69909         success, not failure.
69910
69911 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69912
69913         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69914
69915 2006-11-23  Jim Meyering  <jim@meyering.net>
69916
69917         * build-aux/announce-gen: New file.  From coreutils.
69918
69919 2006-11-22  Jim Meyering  <jim@meyering.net>
69920
69921         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
69922         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
69923         (fts_read): Use a temporary to narrow the overused st_size member
69924         before using it in a switch statement.  Reported by Matthew Woehlke.
69925
69926         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
69927         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69928
69929 2006-11-20  Bruno Haible  <bruno@clisp.org>
69930
69931         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
69932         changequote instead of pairs of brackets.
69933         Reported by Andreas Schwab <schwab@suse.de>.
69934
69935 2006-11-21  Jim Meyering  <jim@meyering.net>
69936
69937         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
69938         so as to remain compatible with older compilers.
69939         Patch from Michael Deutschmann.
69940
69941 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69942
69943         * MODULES.html.sh (File system functions): Add openat.
69944
69945         * lib/openat.h (rpl_fstatat): New macro, if
69946         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
69947         (fstatat): Define to rpl_fstatat under the same conditions,
69948         unless COMPILING_FSTATAT.
69949         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
69950         seems to have the bug.
69951         * lib/fstatat.c: New file.
69952         * modules/openat (Files): Add it.
69953
69954 2006-11-20  Bruno Haible  <bruno@clisp.org>
69955
69956         * Makefile: New file.
69957
69958 2006-11-20  Jim Meyering  <jim@meyering.net>
69959
69960         The beginnings of syntax-related checks for gnulib.
69961         * lib/Makefile: New file.
69962         * lib/t-idcache: New script.  Ensure that the two halves of
69963         idcache.c stay in sync.
69964
69965         * lib/idcache.c: Adjust comments in user- and group- portions to
69966         be more accurate, and to be consistent with one another.
69967
69968 2006-11-20  Jim Meyering  <jim@meyering.net>
69969
69970         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
69971         continue using the flexible array member (thus, this module performs
69972         half as many malloc calls), with the addition that...
69973         (getgroup, getuser): Consistently record a non-match via an empty
69974         "name" string, and map an empty string match to a NULL return value.
69975         * modules/idcache (Depends-on): Re-add flexmember.
69976
69977         * lib/idcache.c (getuser): Remove all uses of the register keyword.
69978         (getuidbyname, getgroup, getgidbyname): Likewise.
69979
69980         Use cleaner syntax: NULL rather than 0.
69981         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
69982
69983 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69984
69985         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
69986         It mishandled the case where the group was missing.
69987         Problem reported by Greg Schafer.
69988         * modules/idcache: Likewise.
69989
69990 2006-11-18  Jim Meyering  <jim@meyering.net>
69991
69992         * check-module (%exempt_header): Add exception for some
69993         conditionally-included headers.
69994
69995         * modules/i-ring (Depends-on): Add verify.
69996         (License): Change to LGPL.
69997
69998 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69999
70000         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70001         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70002         and inttostr.h.  Use snprintf rather than uinttostr, so that
70003         LGPLed code doesn't depend on GPLed.
70004
70005 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70006
70007         * modules/inline (License): Change from GPL to LGPL.
70008
70009 2006-11-17  Jim Meyering  <jim@meyering.net>
70010
70011         * modules/d-type (License): Switch to LGPL.
70012
70013 2006-11-15  Bruno Haible  <bruno@clisp.org>
70014
70015         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70016
70017 2006-11-15  Eric Blake  <ebb9@byu.net>
70018
70019         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70020         the module dependency.
70021
70022 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70023             Bruno Haible  <bruno@clisp.org>
70024
70025         * gnulib-tool (func_create_testdir): Add license consistency check.
70026
70027 2006-11-15  Eric Blake  <ebb9@byu.net>
70028
70029         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70030         random "(cached)" in configure output.
70031
70032 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70033
70034         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70035         test for conforming inttypes.h is both announced and cached.
70036
70037         * MODULES.html.sh (seen_modules, seen_files): New variables.
70038         (func_module): Rewrite to use a few less gnulib-tool and sed
70039         invocations.  Avoid a couple of quadratic algorithms for ...
70040         (missed_modules, missed_files): ... these, with ...
70041         (func_append, func_tmpdir): ... these new functions, from
70042         gnulib-tool.  Analogously, install traps for cleanup.
70043
70044         * tests/test-gc.c (main): Remove unused variables.
70045         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70046
70047 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70048
70049         * modules/inttostr (License): Change to LGPL.
70050
70051 2006-11-14  Eric Blake  <ebb9@byu.net>
70052
70053         * modules/tempname (License): Change to LGPL.
70054
70055 2006-11-14  Eric Blake  <ebb9@byu.net>
70056
70057         * doc/functions.texi (Function Portability): *printf functions on
70058         Cygwin now understand all POSIX size specifiers.
70059
70060 2006-11-14  Bruno Haible  <bruno@clisp.org>
70061
70062         * modules/c-ctype (License): Change to LGPL.
70063
70064 2006-11-12  Bruno Haible  <bruno@clisp.org>
70065
70066         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70067         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70068         for GNOME libraries, for which the include files are installed in
70069         subdirectories of $prefix/include.
70070
70071 2006-11-12  Bruno Haible  <bruno@clisp.org>
70072
70073         * m4/lib-link.m4: Require at least autoconf-2.54.
70074         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70075         name to underscores for the --with option.
70076
70077 2006-11-13  Bruno Haible  <bruno@clisp.org>
70078
70079         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70080         the tests directory.
70081         Reported by Ralf Wildenhues.
70082
70083 2006-11-13  Bruno Haible  <bruno@clisp.org>
70084
70085         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70086         (func_emit_initmacro_end): Undo the override here.
70087         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70088         Works around the famous automake error in coreutils.
70089
70090 2006-11-13  Eric Blake  <ebb9@byu.net>
70091
70092         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70093         element, not its node.
70094
70095 2006-11-12  Bruno Haible  <bruno@clisp.org>
70096
70097         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70098         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70099
70100 2006-11-12  Bruno Haible  <bruno@clisp.org>
70101
70102         * gnulib-tool: New option --local-symlink.
70103         (func_usage): Document it.
70104         (lsymbolic): New variable.
70105         (func_import, func_create_testdir): If --symlink was not specified,
70106         test whether --local-symlink was specified and the file comes from
70107         the local_gnulib_dir.
70108
70109 2006-11-12  Bruno Haible  <bruno@clisp.org>
70110
70111         * gnulib-tool (func_ln): New function.
70112         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70113
70114 2006-11-12  Bruno Haible  <bruno@clisp.org>
70115
70116         Finish support for source files in subdirectories.
70117         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70118         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70119         AUTOMAKE_OPTIONS.
70120         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70121
70122 2006-11-12  Bruno Haible  <bruno@clisp.org>
70123
70124         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70125         EXTRA_lib_SOURCES augmentation.
70126         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70127
70128 2006-11-12  Jim Meyering  <jim@meyering.net>
70129
70130         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70131         file descriptors.  This also averts a failure on systems with
70132         native openat support when a traversed directory lacks "x" access.
70133         * lib/fts_.h: Include "i-ring.h"
70134         (struct FTS) [fts_fd_ring]: New member.
70135         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70136         (FCHDIR): Add parentheses.
70137         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70138         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70139         When descending, rather than simply closing the previous
70140         fts_cwd_fd value, push that file descriptor onto the ring.
70141         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70142         (fts_open): Initialize the new fd_ring member.
70143         (fts_close): Clear the ring.
70144         (fts_safe_changedir): When possible, use our new fd_ring to skip
70145         the diropen and fstat and dev/ino comparison that would normally
70146         accompany a virtual `chdir ("..")'.
70147
70148         * modules/fts (Depends-on): Add i-ring.
70149         * modules/i-ring: New module.
70150         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70151         * m4/i-ring.m4: New file.
70152
70153 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70154
70155         * gnulib-tool (func_create_testdir): Fix replacement of
70156         `build-aux' in configure.ac.  Run autotools in gltests
70157         subdirectory.
70158         (func_create_testdir, func_create_megatestdir, test): There is
70159         no need for '--force' in most autotool invocations in a new
70160         tree.  Actually fail the whole test if any of the tools, or the
70161         configure or make stages fail.
70162
70163         Sync from Automake.
70164         * build-aux/gnupload: Revert last change.  Add pointer to upload
70165         instructions of the GNU Maintenance Instructions.
70166         Suggestion by Karl Berry.
70167
70168 2006-11-10  Jim Meyering  <jim@meyering.net>
70169
70170         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70171
70172 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70173
70174         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70175         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70176         (bind_textdomain_codeset) [! ENABLE_NLS]:
70177         Evaluate all the arguments.  That way, callers get compatible behavior
70178         if the arguments have side effects.  Also, it avoids some GCC
70179         diagnostics in some cases; Joel E. Denny reported problems when Bison
70180         was configured with --enable-gcc-warnigs.
70181
70182 2006-11-10  Jim Meyering  <jim@meyering.net>
70183
70184         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70185         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70186         account.
70187
70188 2006-11-10  Jim Meyering  <jim@meyering.net>
70189
70190         * modules/inline: New file/module.
70191         * modules/xalloc (Files): Remove m4/inline.m4.
70192         (Depends-on): Add inline, instead.
70193         * modules/oset: Likewise.
70194         * modules/list: Likewise.
70195
70196 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70197
70198         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70199         Problem reported by Matthew Woehlke.
70200
70201 2006-11-09  Bruno Haible  <bruno@clisp.org>
70202
70203         * lib/tempname.c (gen_tempname): Remove variant that invokes
70204         __gen_tempname.
70205         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70206         __gen_tempname.
70207
70208 2006-11-08  Bruno Haible  <bruno@clisp.org>
70209
70210         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70211         to 'yes' instead of 'cross-compiling'.
70212
70213 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70214
70215         * lib/quotearg.h (quotearg_free): New decl.
70216         * lib/quotearg.c (quotearg_free): New function.
70217         (slot0, nslots, slotvec0, slotvec):
70218         Now file-scope so that quotearg_free can get at them.
70219
70220 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70221
70222         Sync from Automake.
70223         * build-aux/gnupload: Add missing 'gnu' to example URL.
70224         Report by Karl Berry.
70225
70226 2006-11-08  Bruno Haible  <bruno@clisp.org>
70227
70228         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70229         Suggested by Paul Eggert.
70230
70231 2006-11-08  Jim Meyering  <jim@meyering.net>
70232
70233         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70234         It's already included if !_LIBC.
70235         (fts_safe_changedir): Add a comment.
70236
70237 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70238
70239         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70240         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70241         Matthew Woehlke.
70242
70243         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70244         definitions up, to avoid colliding with change below.
70245         (static_inline) [HAVE_INLINE]: New macro.
70246         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70247         Provide extern decls when !HAVE_INLINE.  Do not define unless
70248         static_inline is defined, either by us or by xmalloc.c.  Use
70249         static_inline rather than static inline.
70250         (XCALLOC): Optimize sizeof(T) = 1 case.
70251         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70252
70253 2006-11-07  Bruno Haible  <bruno@clisp.org>
70254
70255         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70256         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70257         AC_C_INLINE.
70258         * modules/xalloc (Files): Add m4/inline.m4.
70259
70260 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70261
70262         * README: Fix typo.
70263         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70264         (Miscellanous Notes): ...from this.
70265
70266 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70267
70268         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70269         Mention that offsetof should be used instead of sizeof.
70270         From Bruno Haible.
70271
70272 2006-11-07  Bruno Haible  <bruno@clisp.org>
70273
70274         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70275
70276 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70277
70278         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70279         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70280         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70281         (gl_tree_add_before, gl_tree_add_after):
70282         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70283         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70284         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70285         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70286         (gl_linked_add_after, gl_linked_add_at): Likewise.
70287         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70288         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70289         (gl_tree_add_before, gl_tree_add_after): Likewise.
70290         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70291         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70292         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70293
70294 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70295
70296         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70297
70298 2006-11-06  Bruno Haible  <bruno@clisp.org>
70299
70300         * m4/inline.m4: New file.
70301         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70302         * modules/list (Files): Add m4/inline.m4.
70303         * modules/oset (Files): Likewise.
70304
70305 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70306
70307         * lib/idcache.c: Include <stddef.h>, for offsetof.
70308         (struct userid.name): Change from char * to a flexible array member.
70309         All uses changed.
70310         * modules/idcache (Depends-on): Add flexmember.
70311
70312         * MODULES.html.sh (Core language properties): New module flexmember.
70313         * modules/flexmember, m4/flexmember.m4: New files.
70314
70315         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70316         inline functions that are identical with the old xnmalloc_inline,
70317         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70318         that we can avoid some unnecessary integer multiplications and
70319         divisions in the common case where the element size is known at
70320         compile time.
70321         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70322         needed.
70323         (xnboundedmalloc): Remove.
70324         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70325         arguments, for consistency with rest of this header.
70326         (xcharalloc): Rewrite using XNMALLOC.
70327         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70328         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70329         versions have been moved to lib/xalloc.h and renamed to be the
70330         non-*_inline versions.
70331         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70332         and xnrealloc functions, since those functions are now inline and
70333         now call us.
70334         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70335         renaming described above.
70336         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70337         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70338         captures the dependency in AC_C_INLINE.
70339
70340         New module canonicalize-lgpl, proposed by Charles Wilson in
70341         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70342         with a few small changes afterwards.
70343         * MODULES.html.sh (File system functions): New module
70344         canonicalize-lgpl.
70345         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70346         and canonicalize_file_name.
70347         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70348         * modules/canonicalize-lgpl: New files.
70349
70350 2006-11-05  Bruno Haible  <bruno@clisp.org>
70351
70352         * gnulib-tool (func_import, func_create_testdir): Create directories
70353         also for files in subdirectories of lib/.
70354
70355 2006-11-05  Bruno Haible  <bruno@clisp.org>
70356
70357         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70358         ANSI C compliant.
70359
70360 2006-11-03  Bruno Haible  <bruno@clisp.org>
70361
70362         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70363         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70364         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70365         (xnboundedmalloc): New inline function.
70366         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70367         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70368         xmalloc.
70369         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70370         xmalloc.
70371         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70372         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70373         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70374         xmalloc.
70375         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70376         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70377         xmalloc.
70378         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70379         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70380         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70381         xmalloc.
70382         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70383         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70384         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70385         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70386         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70387         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70388         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70389
70390 2006-11-03  Bruno Haible  <bruno@clisp.org>
70391
70392         * lib/c-ctype.h [C++]: Define functions without name mangling.
70393         * lib/fwriteerror.h [C++]: Likewise.
70394         * lib/gcd.h [C++]: Likewise.
70395         * lib/linebreak.h [C++]: Likewise.
70396
70397 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70398
70399         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70400         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70401         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70402         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70403         Check for functions and headers just once.
70404         Check for declaration of canonicalize_file_name.
70405         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70406
70407 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70408
70409         * gnulib-tool (func_import): Fix typo in actioncmd.
70410
70411 2006-11-02  Bruno Haible  <bruno@clisp.org>
70412
70413         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70414         newline sequence in the Makefile.am snippet as a space, like "make"
70415         does.
70416         Reported by Roger Persson <perrog@gmail.com>.
70417
70418 2006-11-01  Bruno Haible  <bruno@clisp.org>
70419
70420         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70421         already declared in <string.h>.
70422         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70423
70424 2006-11-01  Bruno Haible  <bruno@clisp.org>
70425
70426         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70427         * lib/strcase.h: Include <string.h>.
70428         (strcasecmp): Define to rpl_strcasecmp here.
70429
70430 2006-11-01  Bruno Haible  <bruno@clisp.org>
70431
70432         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70433
70434 2006-11-01  Eric Blake  <ebb9@byu.net>
70435
70436         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70437
70438         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70439
70440 2006-10-29  Bruno Haible  <bruno@clisp.org>
70441
70442         Make it compile in C++ mode.
70443         * lib/full-write.c (full_rw): Add a cast.
70444
70445 2006-11-01  Bruno Haible  <bruno@clisp.org>
70446
70447         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70448         be POSIX compliant.
70449         Reported by Roger Persson <perrog@gmail.com>.
70450
70451 2006-11-01  Eric Blake  <ebb9@byu.net>
70452
70453         * lib/getopt_.h: Fix comments.
70454
70455 2006-10-31  Eric Blake  <ebb9@byu.net>
70456
70457         * modules/tmpdir (Depends-on): Add sys_stat.
70458         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70459         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70460         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70461         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70462         tempname.
70463
70464 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70465
70466         Avoid some C++ diagnostics reported by Bruno Haible.
70467         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70468         xmalloc.
70469         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70470         (struct slotvec): Move to top level.
70471         (quotearg_n_options): Rewrite to avoid xmalloc.
70472         * lib/xalloc.h (xcharalloc): New function.
70473         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70474         [defined __cplusplus]: Add function template that provides result
70475         type propagation.  This part of the change is from Bruno Haible.
70476
70477 2006-10-29  Bruno Haible  <bruno@clisp.org>
70478
70479         Make it compile in C++ mode.
70480         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70481         * lib/strnlen1.c (strnlen1): Cast memchr result.
70482         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70483         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70484         (create_temp_dir): Rename local variable 'template'.
70485         (compile_csharp_using_sscli): Add cast.
70486         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70487         * lib/findprog.c (find_in_path): Likewise.
70488         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70489         * lib/wait-process.c (register_slave_subprocess): Likewise.
70490
70491 2006-10-22  Bruno Haible  <bruno@clisp.org>
70492
70493         * modules/tsearch: New file.
70494         * lib/tsearch.h: New file.
70495         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70496         * m4/tsearch.m4: New file.
70497         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70498
70499 2006-10-29  Eric Blake  <ebb9@byu.net>
70500
70501         * lib/arcfour.c: Assume config.h.
70502         * lib/arctwo.c: Likewise.
70503         * lib/base64.c: Likewise.
70504         * lib/check-version.c: Likewise.
70505         * lib/crc.c: Likewise.
70506         * lib/des.c: Likewise.
70507         * lib/gc-gnulib.c: Likewise.
70508         * lib/gc-libgcrypt.c: Likewise.
70509         * lib/gc-pbkdf2-sha1.c: Likewise.
70510         * lib/getaddrinfo.c: Likewise.
70511         * lib/getdelim.c: Likewise.
70512         * lib/getline.c: Likewise.
70513         * lib/hmac-md5.c: Likewise.
70514         * lib/hmac-sha1.c: Likewise.
70515         * lib/iconvme.c: Likewise.
70516         * lib/md2.c: Likewise.
70517         * lib/md4.c: Likewise.
70518         * lib/memxor.c: Likewise.
70519         * lib/read-file.c: Likewise.
70520         * lib/readline.c: Likewise.
70521         * lib/rijndael-alg-fst.c: Likewise.
70522         * lib/rijndael-api-fst.c: Likewise.
70523         * lib/xgetdomainname.c: Likewise.
70524
70525 2006-10-28  Eric Blake  <ebb9@byu.net>
70526
70527         * lib/xstrndup.c: Assume config.h.
70528
70529 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70530
70531         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70532         stat-macros.h is now for our own macros, whereas stat_h is for
70533         macros in the <sys/stat.h> name space.
70534         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70535         (STAT_MACROS_H): Remove.
70536         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70537         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70538         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70539         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70540         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70541         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70542         Move these macros to ...
70543         * lib/stat_.h: here.  Don't include stat-macros.h.
70544         * lib/canonicalize.c: Don't include stat-macros.h.
70545         * lib/chown.c: Likewise.
70546         * lib/euidaccess.c: Likewise.
70547         * lib/file-type.c: Likewise.
70548         * lib/filemode.c: Likewise.
70549         * lib/glob.c: Likewise.
70550         * lib/isapipe.c: Likewise.
70551         * lib/lchown.c: Likewise.
70552         * lib/lstat.c: Likewise.
70553         * lib/mkdir-p.c: Likewise.
70554         * lib/rmdir.c: Likewise.
70555         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70556         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70557         unless mkdir isn't declared, to speed up 'configure'.
70558         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70559         would define all the S_* symbols.
70560         * modules/canonicalize (Depends-on):
70561         Depend on sys_stat, not stat-macros.
70562         * modules/chown: Likewise.
70563         * modules/euidaccess: Likewise.
70564         * modules/filemode: Likewise.
70565         * modules/file-type: Likewise.
70566         * modules/glob: Likewise.
70567         * modules/isapipe: Likewise.
70568         * modules/lchown: Likewise.
70569         * modules/lstat: Likewise.
70570         * modules/mkancesdirs: Likewise.
70571         * modules/rmdir: Likewise.
70572         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70573         * modules/modechange: Likewise.
70574         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70575         (configure.ac): Remove gl_STAT_MACROS.
70576         * modules/sys_stat (Depends-on): Remove stat-macros.
70577
70578 2006-10-27  Bruno Haible  <bruno@clisp.org>
70579
70580         * m4/signed.m4: Remove file.
70581         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70582         invocation.
70583         * modules/vasnprintf (Files): Remove m4/signed.m4.
70584
70585 2006-10-27  Bruno Haible  <bruno@clisp.org>
70586
70587         Update to GNU gettext 0.16.
70588         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70589         m4/inttypes-h.m4, m4/signed.m4.
70590         * m4/gettext.m4: Update to GNU gettext 0.16.
70591         * m4/intl.m4: New file, from GNU gettext.
70592         * m4/intldir.m4: New file, from GNU gettext.
70593         * config/srclist.txt: Update
70594
70595 2006-10-27  Eric Blake  <ebb9@byu.net>
70596
70597         * MODULES.html.sh: Document tempname.
70598         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70599         dependencies.
70600         (Files): Move lib/tempname.c...
70601         * modules/tempname: ...to this new module.
70602         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70603         (gl_PREREQ_TEMPNAME): Move...
70604         * m4/tempname.m4: ...to this new file.
70605         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70606         * modules/sys_stat (Depends-on): Add stat-macros.
70607         * lib/stat_.h (includes): Pick up stat macros.
70608         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70609         if stat macros are broken.
70610         * lib/tempname.c (includes): No need to include "stat-macros.h".
70611         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70612         (direxists, __path_search) [!_LIBC]: Don't compile these in
70613         gnulib; the tmpdir module covers that.
70614         * lib/tempname.h: New file.
70615
70616 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70617
70618         * COPYING: Explain how gnulib-tool converts licence headers.
70619         Almost all wording by Eric Blake.
70620
70621 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70622
70623         * lib/mbchar.h (is_basic_table): Make read-only.
70624         * lib/mbchar.c (is_basic_table): Likewise.
70625         Reported by John Darrington.
70626
70627 2006-10-25  Bruno Haible  <bruno@clisp.org>
70628
70629         * lib/progname.h (set_program_name): Undefine before defining.
70630
70631 2006-10-25  Bruno Haible  <bruno@clisp.org>
70632
70633         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70634         false for non-gcc C++ compilers.
70635         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70636
70637 2006-10-24  Bruno Haible  <bruno@clisp.org>
70638
70639         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70640         iconv implementations like Irix iconv.
70641
70642 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70643
70644         * modules/vararrays: New file.
70645         * m4/vararrays.m4: New file, taken from diffutils.
70646         * MODULES.html.sh: New module vararrays.
70647
70648 2006-10-24  Karl Berry  <karl@gnu.org>
70649
70650         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70651         Don't call GNU Unix.
70652
70653 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70654
70655         * users.txt: Add Libtool.
70656
70657         Sync from Libtool:
70658
70659         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70660
70661         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70662         to gnulib's policy of including config.h unconditionally.
70663
70664 2006-10-24  Bruno Haible  <bruno@clisp.org>
70665
70666         * modules/wcwidth (Files): Add m4/wint_t.m4.
70667         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70668         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70669
70670 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70671
70672         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70673         to pacify GCC with some -W flags enabled.  Problem reported by
70674         Bruno Haible.
70675
70676 2006-10-24  Jim Meyering  <jim@meyering.net>
70677
70678         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70679         Reported by Karl Berry.
70680
70681 2006-10-23  Bruno Haible  <bruno@clisp.org>
70682
70683         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70684
70685 2006-10-24  Bruno Haible  <bruno@clisp.org>
70686
70687         * lib/gl_list.h: Use C comment style, not C++ comment style.
70688
70689 2006-10-23  Eric Blake  <ebb9@byu.net>
70690
70691         * lib/getaddrinfo.c (includes): Add missing include.
70692
70693 2006-10-23  Bruno Haible  <bruno@clisp.org>
70694             Paul Eggert  <eggert@cs.ucla.edu>
70695
70696         Ability to rename obstack_free.
70697         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70698         obstack_free.
70699         (obstack_free): Invoke the __obstack_free macro.
70700         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70701
70702 2006-10-23  Bruno Haible  <bruno@clisp.org>
70703             Paul Eggert  <eggert@cs.ucla.edu>
70704
70705         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70706         __argc, __argv from the declaration. (They are defined as macros on
70707         mingw.)
70708
70709 2006-10-22  Bruno Haible  <bruno@clisp.org>
70710
70711         * doc/gnulib-intro.texi: New file.
70712         * doc/gnulib.texi: Include it.
70713
70714 2006-10-21  Bruno Haible  <bruno@clisp.org>
70715
70716         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70717         "Introduction", "Miscellanous Notes", "Particular Modules".
70718
70719 2006-10-21  Bruno Haible  <bruno@clisp.org>
70720
70721         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70722         Change mostlyclean-local rule to avoid sh syntax error from bash
70723         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70724
70725 2006-10-23  Jim Meyering  <jim@meyering.net>
70726
70727         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70728         in place of snprintf.
70729
70730         * modules/inttostr (Files): Add lib/uinttostr.c.
70731         * lib/uinttostr.c (inttostr): New file/function.
70732         * lib/inttostr.h (uinttostr): Declare.
70733         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70734         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70735         Add uinttostr.
70736         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70737
70738 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70739
70740         * lib/canonicalize.c (ELOOP): Define if not already defined.
70741         Problem reported by Bruno Haible in
70742         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70743
70744 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70745
70746         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70747         Problem reported by Perry Smith and Ville Laurikari.
70748
70749         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70750         uses.
70751
70752 2006-10-19  Bruno Haible  <bruno@clisp.org>
70753
70754         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70755         for mingw.
70756
70757 2006-10-19  Bruno Haible  <bruno@clisp.org>
70758
70759         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70760         Needed for mingw.
70761
70762 2006-10-19  Bruno Haible  <bruno@clisp.org>
70763
70764         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70765
70766 2006-10-19  Bruno Haible  <bruno@clisp.org>
70767
70768         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70769         it.
70770
70771 2006-10-19  Bruno Haible  <bruno@clisp.org>
70772
70773         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70774         invocation.
70775
70776 2006-10-19  Bruno Haible  <bruno@clisp.org>
70777
70778         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70779         mountlist by default.
70780
70781 2006-10-16  Bruno Haible  <bruno@clisp.org>
70782
70783         * lib/c-strstr.c: Include c-strstr.h.
70784
70785 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70786
70787         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70788         in a slash.
70789
70790 2006-10-18  Bruno Haible  <bruno@clisp.org>
70791
70792         * lib/lock.h [C++]: Wrap definitions in extern "C".
70793
70794 2006-10-18  Bruno Haible  <bruno@clisp.org>
70795
70796         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70797         gl_LIBOBJS list.
70798
70799 2006-10-18  Bruno Haible  <bruno@clisp.org>
70800
70801         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
70802
70803 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
70804
70805         * lib/xstrtol.h: Include gettext.h.
70806         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
70807         Problem reported by Eric Blake.
70808         * modules/xstrtol (Depends-on): Add gettext-h.
70809
70810 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
70811
70812         * lib/strftime.c (advance): New macro.
70813         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70814         incomplete type, so you can't add 0 to it.  Problem and patch
70815         reported by Eelco Dolstra for dietlibc.
70816
70817 2006-10-18  Jim Meyering  <jim@meyering.net>
70818
70819         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70820         type for a local, and rename it: s/up/user_proc/.
70821
70822 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70823
70824         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70825         READ_UTMP_USER_PROCESS.
70826         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70827
70828 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70829
70830         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70831         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70832
70833 2006-10-17  Eric Blake  <ebb9@byu.net>
70834
70835         * lib/sigprocmask.c (sigprocmask): Fix typo.
70836
70837         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70838
70839         * modules/clean-temp (Makefile.am): Don't add to make output...
70840         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70841         config.h.
70842
70843 2006-10-17  Bruno Haible  <bruno@clisp.org>
70844
70845         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70846         differently if DEFAULT_TEXT_DOMAIN is set.
70847
70848 2006-10-16  Bruno Haible  <bruno@clisp.org>
70849
70850         * lib/clean-temp.c: Include fwriteerror.h.
70851
70852 2006-10-16  Bruno Haible  <bruno@clisp.org>
70853
70854         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70855
70856 2006-10-16  Bruno Haible  <bruno@clisp.org>
70857
70858         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70859         * lib/sigprocmask.h: Include <sys/types.h>.
70860         (sigset_t): Use the system's definition if present.
70861
70862 2006-10-17  Eric Blake  <ebb9@byu.net>
70863
70864         * lib/xvasprintf.c (includes): Assume config.h.
70865         * lib/xasprintf.c (includes): Likewise.
70866
70867 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70868
70869         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70870         at least as wide as intmax_t.
70871
70872 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70873
70874         (Imported from Automake.)
70875         * build-aux/gnupload: Update to version 1.1 of directive file.
70876
70877 2006-10-16  Eric Blake  <ebb9@byu.net>
70878
70879         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70880         match Automake 1.10a.
70881
70882 2006-10-14  Bruno Haible  <bruno@clisp.org>
70883
70884         * modules/sigprocmask: New file.
70885         * lib/sigprocmask.h: New file.
70886         * lib/sigprocmask.c: New file.
70887         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70888         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70889         request sigprocmask.o.
70890         (gl_PREREQ_SIGPROCMASK): New macro.
70891         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70892         (Depends-on): Add sigprocmask.
70893         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70894         gt_SIGNALBLOCKING. Test for 'raise' only once.
70895         * lib/fatal-signal.c: Include sigprocmask.h.
70896         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70897         unblock_fatal_signals): Define always.
70898         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70899         sigprocmask.
70900
70901 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70902
70903         Sync from Automake.
70904         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70905         which incorrectly sets the mode of an existing destination
70906         directory.  In some cases the unpatched install-sh could do the
70907         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70908         system.  We hope this is rare in practice, but it's clearly worth
70909         fixing.  Problem reported by Alex Unleashed in
70910         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70911         Also, don't bother to check for -m bugs unless we're using -m;
70912         suggested by Stepan Kasal.
70913
70914 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70915
70916         Sync from Automake.
70917         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
70918         `-c' flag, so they appear at the same position as in %FASTDEP%
70919         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
70920         which ignores unknown options only after the first non-option.
70921         Bug report against M4 by Nelson H. F. Beebe.
70922
70923 2006-10-13  Jim Meyering  <jim@meyering.net>
70924
70925         Fix a bug in yesterday's change.
70926         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
70927         p->fts_statp->st_dev would be used uninitialized.
70928         Ensures that we always call fts_stat on the very first entry.
70929         Miklos Szeredi reported that find -xdev stopped working.
70930
70931 2006-10-12  Bruno Haible  <bruno@clisp.org>
70932
70933         * gnulib-tool (func_get_automake_snippet): Append an automatically
70934         computed EXTRA_DIST augmentation.
70935         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
70936         * modules/alloca-opt (Makefile.am): Likewise.
70937         * modules/allocsa (Makefile.am): Likewise.
70938         * modules/arcfour (Makefile.am): Likewise.
70939         * modules/arctwo (Makefile.am): Likewise.
70940         * modules/argmatch (Makefile.am): Likewise.
70941         * modules/argz (Makefile.am): Likewise.
70942         * modules/atexit (Makefile.am): Likewise.
70943         * modules/backupfile (Makefile.am): Likewise.
70944         * modules/byteswap (Makefile.am): Likewise.
70945         * modules/c-strtod (Makefile.am): Likewise.
70946         * modules/c-strtold (Makefile.am): Likewise.
70947         * modules/calloc (Makefile.am): Likewise.
70948         * modules/canon-host (Makefile.am): Likewise.
70949         * modules/canonicalize (Makefile.am): Likewise.
70950         * modules/chdir-long (Makefile.am): Likewise.
70951         * modules/chdir-safer (Makefile.am): Likewise.
70952         * modules/check-version (Makefile.am): Likewise.
70953         * modules/chown (Makefile.am): Likewise.
70954         * modules/cloexec (Makefile.am): Likewise.
70955         * modules/close-stream (Makefile.am): Likewise.
70956         * modules/closeout (Makefile.am): Likewise.
70957         * modules/crc (Makefile.am): Likewise.
70958         * modules/csharpexec (Makefile.am): Likewise.
70959         * modules/cycle-check (Makefile.am): Likewise.
70960         * modules/des (Makefile.am): Likewise.
70961         * modules/dev-ino (Makefile.am): Likewise.
70962         * modules/dirfd (Makefile.am): Likewise.
70963         * modules/dirname (Makefile.am): Likewise.
70964         * modules/dup2 (Makefile.am): Likewise.
70965         * modules/eealloc (Makefile.am): Likewise.
70966         * modules/error (Makefile.am): Likewise.
70967         * modules/euidaccess (Makefile.am): Likewise.
70968         * modules/exclude (Makefile.am): Likewise.
70969         * modules/exitfail (Makefile.am): Likewise.
70970         * modules/fcntl-safer (Makefile.am): Likewise.
70971         * modules/fcntl (Makefile.am): Likewise.
70972         * modules/file-type (Makefile.am): Likewise.
70973         * modules/fileblocks (Makefile.am): Likewise.
70974         * modules/filemode (Makefile.am): Likewise.
70975         * modules/filenamecat (Makefile.am): Likewise.
70976         * modules/fnmatch (Makefile.am): Likewise.
70977         * modules/fopen-safer (Makefile.am): Likewise.
70978         * modules/fpending (Makefile.am): Likewise.
70979         * modules/fprintftime (Makefile.am): Likewise.
70980         * modules/free (Makefile.am): Likewise.
70981         * modules/fsusage (Makefile.am): Likewise.
70982         * modules/ftruncate (Makefile.am): Likewise.
70983         * modules/fts (Makefile.am): Likewise.
70984         * modules/gc-arcfour (Makefile.am): Likewise.
70985         * modules/gc-des (Makefile.am): Likewise.
70986         * modules/gc-hmac-md5 (Makefile.am): Likewise.
70987         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
70988         * modules/gc-md4 (Makefile.am): Likewise.
70989         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70990         * modules/gc-sha1 (Makefile.am): Likewise.
70991         * modules/gc (Makefile.am): Likewise.
70992         * modules/getaddrinfo (Makefile.am): Likewise.
70993         * modules/getcwd (Makefile.am): Likewise.
70994         * modules/getdelim (Makefile.am): Likewise.
70995         * modules/getdomainname (Makefile.am): Likewise.
70996         * modules/getgroups (Makefile.am): Likewise.
70997         * modules/gethostname (Makefile.am): Likewise.
70998         * modules/gethrxtime (Makefile.am): Likewise.
70999         * modules/getline (Makefile.am): Likewise.
71000         * modules/getloadavg (Makefile.am): Likewise.
71001         * modules/getlogin_r (Makefile.am): Likewise.
71002         * modules/getndelim2 (Makefile.am): Likewise.
71003         * modules/getopt (Makefile.am): Likewise.
71004         * modules/getpagesize (Makefile.am): Likewise.
71005         * modules/getpass-gnu (Makefile.am): Likewise.
71006         * modules/getpass (Makefile.am): Likewise.
71007         * modules/getsubopt (Makefile.am): Likewise.
71008         * modules/gettime (Makefile.am): Likewise.
71009         * modules/gettimeofday (Makefile.am): Likewise.
71010         * modules/getugroups (Makefile.am): Likewise.
71011         * modules/getusershell (Makefile.am): Likewise.
71012         * modules/glob (Makefile.am): Likewise.
71013         * modules/group-member (Makefile.am): Likewise.
71014         * modules/hard-locale (Makefile.am): Likewise.
71015         * modules/hash (Makefile.am): Likewise.
71016         * modules/hmac-md5 (Makefile.am): Likewise.
71017         * modules/hmac-sha1 (Makefile.am): Likewise.
71018         * modules/human (Makefile.am): Likewise.
71019         * modules/idcache (Makefile.am): Likewise.
71020         * modules/imaxabs (Makefile.am): Likewise.
71021         * modules/imaxdiv (Makefile.am): Likewise.
71022         * modules/inet_ntop (Makefile.am): Likewise.
71023         * modules/inet_pton (Makefile.am): Likewise.
71024         * modules/intprops (Makefile.am): Likewise.
71025         * modules/inttostr (Makefile.am): Likewise.
71026         * modules/inttypes (Makefile.am): Likewise.
71027         * modules/isapipe (Makefile.am): Likewise.
71028         * modules/javaversion (Makefile.am): Likewise.
71029         * modules/lchmod (Makefile.am): Likewise.
71030         * modules/lchown (Makefile.am): Likewise.
71031         * modules/localcharset (Makefile.am): Likewise.
71032         * modules/long-options (Makefile.am): Likewise.
71033         * modules/lstat (Makefile.am): Likewise.
71034         * modules/malloc (Makefile.am): Likewise.
71035         * modules/mathl (Makefile.am): Likewise.
71036         * modules/mbchar (Makefile.am): Likewise.
71037         * modules/md2 (Makefile.am): Likewise.
71038         * modules/md4 (Makefile.am): Likewise.
71039         * modules/md5 (Makefile.am): Likewise.
71040         * modules/memcasecmp (Makefile.am): Likewise.
71041         * modules/memchr (Makefile.am): Likewise.
71042         * modules/memcmp (Makefile.am): Likewise.
71043         * modules/memcoll (Makefile.am): Likewise.
71044         * modules/memcpy (Makefile.am): Likewise.
71045         * modules/memmem (Makefile.am): Likewise.
71046         * modules/memmove (Makefile.am): Likewise.
71047         * modules/mempcpy (Makefile.am): Likewise.
71048         * modules/memrchr (Makefile.am): Likewise.
71049         * modules/memset (Makefile.am): Likewise.
71050         * modules/memxor (Makefile.am): Likewise.
71051         * modules/mkancesdirs (Makefile.am): Likewise.
71052         * modules/mkdir-p (Makefile.am): Likewise.
71053         * modules/mkdir (Makefile.am): Likewise.
71054         * modules/mkdtemp (Makefile.am): Likewise.
71055         * modules/mkstemp (Makefile.am): Likewise.
71056         * modules/mktime (Makefile.am): Likewise.
71057         * modules/modechange (Makefile.am): Likewise.
71058         * modules/mountlist (Makefile.am): Likewise.
71059         * modules/nanosleep (Makefile.am): Likewise.
71060         * modules/obstack (Makefile.am): Likewise.
71061         * modules/openat (Makefile.am): Likewise.
71062         * modules/pagealign_alloc (Makefile.am): Likewise.
71063         * modules/pathmax (Makefile.am): Likewise.
71064         * modules/physmem (Makefile.am): Likewise.
71065         * modules/poll (Makefile.am): Likewise.
71066         * modules/posixtm (Makefile.am): Likewise.
71067         * modules/posixver (Makefile.am): Likewise.
71068         * modules/putenv (Makefile.am): Likewise.
71069         * modules/quote (Makefile.am): Likewise.
71070         * modules/quotearg (Makefile.am): Likewise.
71071         * modules/raise (Makefile.am): Likewise.
71072         * modules/read-file (Makefile.am): Likewise.
71073         * modules/readline (Makefile.am): Likewise.
71074         * modules/readlink (Makefile.am): Likewise.
71075         * modules/readtokens (Makefile.am): Likewise.
71076         * modules/readutmp (Makefile.am): Likewise.
71077         * modules/realloc (Makefile.am): Likewise.
71078         * modules/regex (Makefile.am): Likewise.
71079         * modules/rename-dest-slash (Makefile.am): Likewise.
71080         * modules/rename (Makefile.am): Likewise.
71081         * modules/rijndael (Makefile.am): Likewise.
71082         * modules/rmdir (Makefile.am): Likewise.
71083         * modules/rpmatch (Makefile.am): Likewise.
71084         * modules/safe-read (Makefile.am): Likewise.
71085         * modules/safe-write (Makefile.am): Likewise.
71086         * modules/same-inode (Makefile.am): Likewise.
71087         * modules/same (Makefile.am): Likewise.
71088         * modules/save-cwd (Makefile.am): Likewise.
71089         * modules/savedir (Makefile.am): Likewise.
71090         * modules/setenv (Makefile.am): Likewise.
71091         * modules/settime (Makefile.am): Likewise.
71092         * modules/sha1 (Makefile.am): Likewise.
71093         * modules/sig2str (Makefile.am): Likewise.
71094         * modules/snprintf (Makefile.am): Likewise.
71095         * modules/stat-macros (Makefile.am): Likewise.
71096         * modules/stat-time (Makefile.am): Likewise.
71097         * modules/stdbool (Makefile.am): Likewise.
71098         * modules/stdint (Makefile.am): Likewise.
71099         * modules/stdlib-safer (Makefile.am): Likewise.
71100         * modules/stpcpy (Makefile.am): Likewise.
71101         * modules/stpncpy (Makefile.am): Likewise.
71102         * modules/strcase (Makefile.am): Likewise.
71103         * modules/strcasestr (Makefile.am): Likewise.
71104         * modules/strchrnul (Makefile.am): Likewise.
71105         * modules/strcspn (Makefile.am): Likewise.
71106         * modules/strdup (Makefile.am): Likewise.
71107         * modules/strerror (Makefile.am): Likewise.
71108         * modules/strftime (Makefile.am): Likewise.
71109         * modules/strndup (Makefile.am): Likewise.
71110         * modules/strnlen (Makefile.am): Likewise.
71111         * modules/strpbrk (Makefile.am): Likewise.
71112         * modules/strsep (Makefile.am): Likewise.
71113         * modules/strstr (Makefile.am): Likewise.
71114         * modules/strtod (Makefile.am): Likewise.
71115         * modules/strtoimax (Makefile.am): Likewise.
71116         * modules/strtok_r (Makefile.am): Likewise.
71117         * modules/strtol (Makefile.am): Likewise.
71118         * modules/strtoll (Makefile.am): Likewise.
71119         * modules/strtoul (Makefile.am): Likewise.
71120         * modules/strtoull (Makefile.am): Likewise.
71121         * modules/strtoumax (Makefile.am): Likewise.
71122         * modules/strverscmp (Makefile.am): Likewise.
71123         * modules/sys_socket (Makefile.am): Likewise.
71124         * modules/sys_stat (Makefile.am): Likewise.
71125         * modules/sysexits (Makefile.am): Likewise.
71126         * modules/time_r (Makefile.am): Likewise.
71127         * modules/timegm (Makefile.am): Likewise.
71128         * modules/timespec (Makefile.am): Likewise.
71129         * modules/tmpfile-safer (Makefile.am): Likewise.
71130         * modules/trim (Makefile.am): Likewise.
71131         * modules/unistd-safer (Makefile.am): Likewise.
71132         * modules/unlinkdir (Makefile.am): Likewise.
71133         * modules/unlocked-io (Makefile.am): Likewise.
71134         * modules/userspec (Makefile.am): Likewise.
71135         * modules/utime (Makefile.am): Likewise.
71136         * modules/utimecmp (Makefile.am): Likewise.
71137         * modules/utimens (Makefile.am): Likewise.
71138         * modules/vasnprintf (Makefile.am): Likewise.
71139         * modules/vasprintf (Makefile.am): Likewise.
71140         * modules/vsnprintf (Makefile.am): Likewise.
71141         * modules/xalloc (Makefile.am): Likewise.
71142         * modules/xgetcwd (Makefile.am): Likewise.
71143         * modules/xnanosleep (Makefile.am): Likewise.
71144         * modules/xreadlink (Makefile.am): Likewise.
71145         * modules/xstrtod (Makefile.am): Likewise.
71146         * modules/xstrtol (Makefile.am): Likewise.
71147         * modules/xstrtold (Makefile.am): Likewise.
71148         * modules/yesno (Makefile.am): Likewise.
71149         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71150
71151 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71152
71153         * modules/error (Makefile.am): Distribute files through
71154         EXTRA_DIST, not lib_SOURCES.
71155
71156 2006-10-12  Eric Blake  <ebb9@byu.net>
71157
71158         * modules/error (Makefile.am): Distribute files in /lib.
71159         * modules/obstack (Makefile.am): Likewise.
71160
71161 2006-10-12  Bruno Haible  <bruno@clisp.org>
71162
71163         * modules/acl (Makefile.am): Distribute all files in lib/ through
71164         EXTRA_DIST.
71165         * modules/arcfour (Makefile.am): Likewise.
71166         * modules/arctwo (Makefile.am): Likewise.
71167         * modules/argmatch (Makefile.am): Likewise.
71168         * modules/argz (Makefile.am): Likewise.
71169         * modules/atexit (Makefile.am): Likewise.
71170         * modules/backupfile (Makefile.am): Likewise.
71171         * modules/c-strtod (Makefile.am): Likewise.
71172         * modules/c-strtold (Makefile.am): Likewise.
71173         * modules/calloc (Makefile.am): Likewise.
71174         * modules/canon-host (Makefile.am): Likewise.
71175         * modules/canonicalize (Makefile.am): Likewise.
71176         * modules/chdir-long (Makefile.am): Likewise.
71177         * modules/chdir-safer (Makefile.am): Likewise.
71178         * modules/check-version (Makefile.am): Likewise.
71179         * modules/chown (Makefile.am): Likewise.
71180         * modules/cloexec (Makefile.am): Likewise.
71181         * modules/close-stream (Makefile.am): Likewise.
71182         * modules/closeout (Makefile.am): Likewise.
71183         * modules/crc (Makefile.am): Likewise.
71184         * modules/cycle-check (Makefile.am): Likewise.
71185         * modules/des (Makefile.am): Likewise.
71186         * modules/dirfd (Makefile.am): Likewise.
71187         * modules/dirname (Makefile.am): Likewise.
71188         * modules/dup2 (Makefile.am): Likewise.
71189         * modules/euidaccess (Makefile.am): Likewise.
71190         * modules/exclude (Makefile.am): Likewise.
71191         * modules/exitfail (Makefile.am): Likewise.
71192         * modules/fcntl-safer (Makefile.am): Likewise.
71193         * modules/file-type (Makefile.am): Likewise.
71194         * modules/fileblocks (Makefile.am): Likewise.
71195         * modules/filemode (Makefile.am): Likewise.
71196         * modules/filenamecat (Makefile.am): Likewise.
71197         * modules/fnmatch (Makefile.am): Likewise.
71198         * modules/fopen-safer (Makefile.am): Likewise.
71199         * modules/fpending (Makefile.am): Likewise.
71200         * modules/fprintftime (Makefile.am): Likewise.
71201         * modules/free (Makefile.am): Likewise.
71202         * modules/fsusage (Makefile.am): Likewise.
71203         * modules/ftruncate (Makefile.am): Likewise.
71204         * modules/fts (Makefile.am): Likewise.
71205         * modules/gc (Makefile.am): Likewise.
71206         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71207         * modules/getaddrinfo (Makefile.am): Likewise.
71208         * modules/getcwd (Makefile.am): Likewise.
71209         * modules/getdelim (Makefile.am): Likewise.
71210         * modules/getdomainname (Makefile.am): Likewise.
71211         * modules/getgroups (Makefile.am): Likewise.
71212         * modules/gethostname (Makefile.am): Likewise.
71213         * modules/gethrxtime (Makefile.am): Likewise.
71214         * modules/getline (Makefile.am): Likewise.
71215         * modules/getloadavg (Makefile.am): Likewise.
71216         * modules/getlogin_r (Makefile.am): Likewise.
71217         * modules/getopt (Makefile.am): Likewise.
71218         * modules/getpass (Makefile.am): Likewise.
71219         * modules/getpass-gnu (Makefile.am): Likewise.
71220         * modules/getsubopt (Makefile.am): Likewise.
71221         * modules/gettime (Makefile.am): Likewise.
71222         * modules/gettimeofday (Makefile.am): Likewise.
71223         * modules/getugroups (Makefile.am): Likewise.
71224         * modules/getusershell (Makefile.am): Likewise.
71225         * modules/glob (Makefile.am): Likewise.
71226         * modules/group-member (Makefile.am): Likewise.
71227         * modules/hard-locale (Makefile.am): Likewise.
71228         * modules/hash (Makefile.am): Likewise.
71229         * modules/hmac-md5 (Makefile.am): Likewise.
71230         * modules/hmac-sha1 (Makefile.am): Likewise.
71231         * modules/human (Makefile.am): Likewise.
71232         * modules/idcache (Makefile.am): Likewise.
71233         * modules/imaxabs (Makefile.am): Likewise.
71234         * modules/imaxdiv (Makefile.am): Likewise.
71235         * modules/inet_ntop (Makefile.am): Likewise.
71236         * modules/inet_pton (Makefile.am): Likewise.
71237         * modules/inttostr (Makefile.am): Likewise.
71238         * modules/isapipe (Makefile.am): Likewise.
71239         * modules/lchown (Makefile.am): Likewise.
71240         * modules/long-options (Makefile.am): Likewise.
71241         * modules/lstat (Makefile.am): Likewise.
71242         * modules/malloc (Makefile.am): Likewise.
71243         * modules/mathl (Makefile.am): Likewise.
71244         * modules/mbchar (Makefile.am): Likewise.
71245         * modules/md2 (Makefile.am): Likewise.
71246         * modules/md4 (Makefile.am): Likewise.
71247         * modules/md5 (Makefile.am): Likewise.
71248         * modules/memcasecmp (Makefile.am): Likewise.
71249         * modules/memchr (Makefile.am): Likewise.
71250         * modules/memcmp (Makefile.am): Likewise.
71251         * modules/memcoll (Makefile.am): Likewise.
71252         * modules/memcpy (Makefile.am): Likewise.
71253         * modules/memmem (Makefile.am): Likewise.
71254         * modules/memmove (Makefile.am): Likewise.
71255         * modules/mempcpy (Makefile.am): Likewise.
71256         * modules/memrchr (Makefile.am): Likewise.
71257         * modules/memset (Makefile.am): Likewise.
71258         * modules/memxor (Makefile.am): Likewise.
71259         * modules/mkancesdirs (Makefile.am): Likewise.
71260         * modules/mkdir (Makefile.am): Likewise.
71261         * modules/mkdir-p (Makefile.am): Likewise.
71262         * modules/mkdtemp (Makefile.am): Likewise.
71263         * modules/mkstemp (Makefile.am): Likewise.
71264         * modules/mktime (Makefile.am): Likewise.
71265         * modules/modechange (Makefile.am): Likewise.
71266         * modules/mountlist (Makefile.am): Likewise.
71267         * modules/nanosleep (Makefile.am): Likewise.
71268         * modules/openat (Makefile.am): Likewise.
71269         * modules/pagealign_alloc (Makefile.am): Likewise.
71270         * modules/physmem (Makefile.am): Likewise.
71271         * modules/poll (Makefile.am): Likewise.
71272         * modules/posixtm (Makefile.am): Likewise.
71273         * modules/posixver (Makefile.am): Likewise.
71274         * modules/putenv (Makefile.am): Likewise.
71275         * modules/quote (Makefile.am): Likewise.
71276         * modules/quotearg (Makefile.am): Likewise.
71277         * modules/raise (Makefile.am): Likewise.
71278         * modules/read-file (Makefile.am): Likewise.
71279         * modules/readline (Makefile.am): Likewise.
71280         * modules/readlink (Makefile.am): Likewise.
71281         * modules/readtokens (Makefile.am): Likewise.
71282         * modules/readutmp (Makefile.am): Likewise.
71283         * modules/realloc (Makefile.am): Likewise.
71284         * modules/regex (Makefile.am): Likewise.
71285         * modules/rename (Makefile.am): Likewise.
71286         * modules/rename-dest-slash (Makefile.am): Likewise.
71287         * modules/rijndael (Makefile.am): Likewise.
71288         * modules/rmdir (Makefile.am): Likewise.
71289         * modules/rpmatch (Makefile.am): Likewise.
71290         * modules/safe-read (Makefile.am): Likewise.
71291         * modules/safe-write (Makefile.am): Likewise.
71292         * modules/same (Makefile.am): Likewise.
71293         * modules/save-cwd (Makefile.am): Likewise.
71294         * modules/savedir (Makefile.am): Likewise.
71295         * modules/setenv (Makefile.am): Likewise.
71296         * modules/settime (Makefile.am): Likewise.
71297         * modules/sha1 (Makefile.am): Likewise.
71298         * modules/sig2str (Makefile.am): Likewise.
71299         * modules/snprintf (Makefile.am): Likewise.
71300         * modules/stdlib-safer (Makefile.am): Likewise.
71301         * modules/stpcpy (Makefile.am): Likewise.
71302         * modules/stpncpy (Makefile.am): Likewise.
71303         * modules/strcase (Makefile.am): Likewise.
71304         * modules/strcasestr (Makefile.am): Likewise.
71305         * modules/strchrnul (Makefile.am): Likewise.
71306         * modules/strcspn (Makefile.am): Likewise.
71307         * modules/strdup (Makefile.am): Likewise.
71308         * modules/strerror (Makefile.am): Likewise.
71309         * modules/strftime (Makefile.am): Likewise.
71310         * modules/strndup (Makefile.am): Likewise.
71311         * modules/strnlen (Makefile.am): Likewise.
71312         * modules/strpbrk (Makefile.am): Likewise.
71313         * modules/strsep (Makefile.am): Likewise.
71314         * modules/strstr (Makefile.am): Likewise.
71315         * modules/strtod (Makefile.am): Likewise.
71316         * modules/strtoimax (Makefile.am): Likewise.
71317         * modules/strtok_r (Makefile.am): Likewise.
71318         * modules/strtol (Makefile.am): Likewise.
71319         * modules/strtoll (Makefile.am): Likewise.
71320         * modules/strtoul (Makefile.am): Likewise.
71321         * modules/strtoull (Makefile.am): Likewise.
71322         * modules/strtoumax (Makefile.am): Likewise.
71323         * modules/strverscmp (Makefile.am): Likewise.
71324         * modules/time_r (Makefile.am): Likewise.
71325         * modules/timegm (Makefile.am): Likewise.
71326         * modules/tmpfile-safer (Makefile.am): Likewise.
71327         * modules/unistd-safer (Makefile.am): Likewise.
71328         * modules/unlinkdir (Makefile.am): Likewise.
71329         * modules/userspec (Makefile.am): Likewise.
71330         * modules/utime (Makefile.am): Likewise.
71331         * modules/utimecmp (Makefile.am): Likewise.
71332         * modules/utimens (Makefile.am): Likewise.
71333         * modules/vasnprintf (Makefile.am): Likewise.
71334         * modules/vasprintf (Makefile.am): Likewise.
71335         * modules/vsnprintf (Makefile.am): Likewise.
71336         * modules/xalloc (Makefile.am): Likewise.
71337         * modules/xgetcwd (Makefile.am): Likewise.
71338         * modules/xnanosleep (Makefile.am): Likewise.
71339         * modules/xreadlink (Makefile.am): Likewise.
71340         * modules/xstrtod (Makefile.am): Likewise.
71341         * modules/xstrtol (Makefile.am): Likewise.
71342         * modules/xstrtold (Makefile.am): Likewise.
71343         * modules/yesno (Makefile.am): Likewise.
71344
71345 2006-10-12  Jim Meyering  <jim@meyering.net>
71346
71347         * m4/getloadavg.m4: Revert the change below.
71348
71349         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71350         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71351         fail with a symlink, which is what coreutils' ./bootstrap now
71352         creates by default.
71353
71354 2006-10-12  Bruno Haible  <bruno@clisp.org>
71355
71356         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71357         mingw.
71358         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71359         MSVC and mingw explicitly.
71360
71361 2006-10-11  Simon Josefsson  <jas@extundo.com>
71362             Bruno Haible  <bruno@clisp.org>
71363
71364         Add support for multiple gnulib-tool invocations in the scope of a
71365         single configure.ac file.
71366         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71367         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71368         with the same contents as the _LIBADD variable.
71369         (func_emit_initmacro_start, func_emit_initmacro_end,
71370         func_emit_initmacro_done): New functions.
71371         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71372         gl_LIBOBJS and gl_LTLIBOBJS.
71373
71374 2006-10-11  Bruno Haible  <bruno@clisp.org>
71375
71376         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71377         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71378         autoreconf. Instead, invoke autopoint explicitly but move back the
71379         *.m4 files from gnulib.
71380
71381 2006-10-11  Bruno Haible  <bruno@clisp.org>
71382
71383         * gnulib-tool (func_usage): Make module names after --create-testdir
71384         optional.
71385         (func_create_testdir): If no module was specified, use nearly all
71386         modules.
71387
71388 2006-10-12  Jim Meyering  <jim@meyering.net>
71389
71390         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71391         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71392         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71393         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71394         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71395         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71396         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71397         (fts_set_stat_required): New function.
71398         (fts_open): Defer the calls to fts_stat, if possible or requested.
71399         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71400         into fts_stat itself.
71401         (fts_read): Perform any required (deferred) fts_stat call.
71402         (fts_build): Likewise, for the directory we're about to open and read.
71403         In the readdir loop, carefully decide whether each entry will require
71404         an eventual call to fts_stat, using dirent.d_type info if available.
71405         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71406         a command line argument into this function.  Update all callers.
71407         Map a return value of FTS_DOT to FTS_D for a command line argument.
71408         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71409         Thanks to Miklos Szeredi for his tenacity and for the initial
71410         bug report about "find" failing on a FUSE-based file system.
71411
71412         * lib/fts.c (fts_open): Use consistent indentation.
71413
71414 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71415
71416         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71417         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71418         reported by Jim Meyering.  All uses of cache variables renamed
71419         to match Autoconf's.
71420         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71421         the other one.
71422
71423         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71424         Fix misspelling in diagnostic.
71425
71426 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71427
71428         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71429         defined.  Problem reported by Matthew Woehlke.
71430
71431         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71432         Add support for Tandem NonStop R series.
71433         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71434         Use new macro.
71435
71436         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71437         (has_trailing_slash): Omit size arg; all callers changed.
71438         Omit 'inline', since it doesn't help performance and we'd
71439         need to configure it.
71440         Don't count //, ///, etc. as having a trailing slash.
71441         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71442         (rpl_rename_dest_slash): On failure, use rename's errno rather
71443         than (in some cases) an incorrect or junk errno.
71444         Simplify code by removing need to compute length; this does
71445         cause it to make two passes instead of one over the file name,
71446         but it's worth it.
71447
71448         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71449         change, since Autoconf's version may no longer be appropriate now
71450         that we are using CVS Autoconf's version.  Add support for Tandem.
71451
71452 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71453             Bruno Haible  <bruno@clisp.org>
71454
71455         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71456         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71457         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71458         gl_AC_TYPE_LONG_LONG.
71459
71460         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71461         instead of HAVE_LONG_LONG.
71462         * lib/printf-args.c (printf_fetchargs): Likewise.
71463         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71464         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71465         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71466         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71467         gl_AC_TYPE_LONG_LONG.
71468
71469 2006-10-11  Bruno Haible  <bruno@clisp.org>
71470
71471         * m4/longlong.m4: Add comments.
71472         * m4/ulonglong.m4: Likewise.
71473
71474 2006-10-10  Bruno Haible  <bruno@clisp.org>
71475
71476         Make it possible to #define stpcpy, strdup to aliases.
71477         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71478         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71479
71480 2006-10-10  Bruno Haible  <bruno@clisp.org>
71481
71482         Make it possible to #define gcd to an alias.
71483         * lib/gcd.c: Include config.h.
71484
71485 2006-10-10  Bruno Haible  <bruno@clisp.org>
71486
71487         Make it possible to #define c_isascii to an alias.
71488         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71489         defined. Undefine the macros before defining them, to avoid gcc
71490         warnings.
71491         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71492         define NO_C_CTYPE_MACROS early.
71493
71494 2006-10-10  Bruno Haible  <bruno@clisp.org>
71495
71496         Make it possible to #define set_program_name to an alias.
71497         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71498         ENABLE_RELOCATABLE early.
71499
71500 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71501
71502         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71503         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71504         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71505         More generally, don't assume that 64-bit signed int is available
71506         if unsigned int is, and vice versa.
71507         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71508         unsigned symbols, not on their signed counterparts.
71509         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71510         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71511         (UINT64_C, UINTMAX_C):
71512         Likewise.
71513         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71514         unsigned counterparts.
71515         (Have_long_long, Unsigned): New macros.
71516         (Int): Renamed from INT.
71517         (strtoimax): Use the new macros.
71518         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71519         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71520         * modules/inttypes (inttypes.h): Substitute
71521         HAVE_UNSIGNED_LONG_LONG_INT.
71522         * modules/stdint (stdint.h): Likewise.
71523         (Files): Add m4/ulonglong.m4.
71524
71525 2006-10-10  Bruno Haible  <bruno@clisp.org>
71526
71527         Fix a gcc -Wshadow warning.
71528         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71529         to 'bucket'.
71530         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71531         gl_linked_indexof_from_to): Likewise.
71532         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71533         Likewise.
71534         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71535         Likewise.
71536         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71537         Reported by Eric Blake.
71538
71539 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71540
71541         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71542         for NetBSD.  Problem reported by Bruno Haible.
71543
71544 2006-10-09  Jim Meyering  <jim@meyering.net>
71545
71546         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71547         Patch from Bruno Haible.
71548
71549 2006-10-09  Jim Meyering  <jim@meyering.net>
71550
71551         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71552         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71553         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71554
71555 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71556
71557         Don't include <config.h> twice; this doesn't work in some cases,
71558         e.g., when config.h has "#define intmax_t long long int" and
71559         we include <config.h>, <inttypes.h>, <config.h> in that order.
71560         Problem reported by Matthew Woehlke in:
71561         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71562         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71563         * lib/fts-cycle.c: Don't include config.h.
71564         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71565         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71566         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71567         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71568         inttypes.h.
71569         * lib/xstrtoumax.c: Likewise.
71570         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71571         __strtol and the like, so that this module is more like its siblings.
71572         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71573         Remove; no longer needed now that we assume gnulib inttypes.h.
71574
71575 2006-10-08  Bruno Haible  <bruno@clisp.org>
71576
71577         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71578         option.
71579
71580 2006-10-07  Jim Meyering  <jim@meyering.net>
71581
71582         * modules/inttypes (inttypes.h): Revert what seems to have been
71583         an inadvertent part of today's change: use "|", not "/" in the
71584         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71585
71586 2006-10-07  Bruno Haible  <bruno@clisp.org>
71587
71588         * modules/sublist: New file.
71589
71590 2006-10-07  Bruno Haible  <bruno@clisp.org>
71591
71592         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71593         * modules/argz (argz.h): Likewise.
71594         * modules/arpa_inet (arpa/inet.h): Likewise.
71595         * modules/byteswap (byteswap.h): Likewise.
71596         * modules/configmake (configmake.h): Likewise.
71597         * modules/fcntl (fcntl.h): Likewise.
71598         * modules/fnmatch (fnmatch.h): Likewise.
71599         * modules/getopt (getopt.h): Likewise.
71600         * modules/glob (glob.h): Likewise.
71601         * modules/inttypes (inttypes.h): Likewise.
71602         * modules/netinet_in (netinet/in.h): Likewise.
71603         * modules/poll (poll.h): Likewise.
71604         * modules/stdbool (stdbool.h): Likewise.
71605         * modules/stdint (stdint.h): Likewise.
71606         * modules/sys_select (sys/select.h): Likewise.
71607         * modules/sys_socket (sys/socket.h): Likewise.
71608         * modules/sys_stat (sys/stat.h): Likewise.
71609         * modules/sysexits (sysexits.h): Likewise.
71610         * modules/unistd (unistd.h): Likewise.
71611         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71612         Add a "DO NOT EDIT" comment to the generated file.
71613         (func_import): Likewise for gnulib-comp.m4.
71614
71615 2006-10-07  Bruno Haible  <bruno@clisp.org>
71616
71617         * lib/gl_sublist.h: New file.
71618         * lib/gl_sublist.c: New file.
71619
71620 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71621
71622         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71623         name (relative to the original working directory) and the file
71624         name component (relative to the temporary working directory).  All
71625         callers changed.
71626         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71627         * lib/mkdir-p.c (make_dir_parents): Likewise.
71628         * lib/mkdir-p.h (make_dir_parents): Likewise.
71629
71630 2006-10-06  Eric Blake  <ebb9@byu.net>
71631
71632         Define several macros for use by the clean-temp module.
71633         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71634         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71635         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71636
71637         * lib/clean-temp.h (close_stream_temp): New declaration.
71638         * lib/clean-temp.c (includes): Pull in headers according to what
71639         other modules are in use.
71640         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71641
71642 2006-10-06  Bruno Haible  <bruno@clisp.org>
71643
71644         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71645         instead of fopen, fwriteerror.
71646
71647 2006-10-06  Bruno Haible  <bruno@clisp.org>
71648
71649         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71650         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71651         int.
71652         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71653         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71654         Return an error indicator.
71655         Suggested by Eric Blake.
71656
71657 2006-10-06  Bruno Haible  <bruno@clisp.org>
71658
71659         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71660         Reported by Eric Blake.
71661
71662 2006-10-06  Bruno Haible  <bruno@clisp.org>
71663
71664         * modules/closeout (Description): Mention stderr too.
71665
71666 2006-10-06  Bruno Haible  <bruno@clisp.org>
71667         and Paul Eggert  <eggert@cs.ucla.edu>
71668
71669         * lib/closeout.c (close_stdout): Also close stderr.
71670         * lib/closeout.h: Update comment.
71671
71672 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71673
71674         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71675         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71676         * lib/dirchownmod.c: Include lchown.h.
71677         * lib/lchown.c: Don't include files that lchown.h now includes.
71678         Don't declare chown, since lchown.h now does that.
71679         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71680         (lchown): Define to rpl_chown if lchown is declared but
71681         does not exist.  Declare using a prototype if lchown is not
71682         declared.  Add a copyright notice.
71683         * lib/mkstemp.h: Include <unistd.h>.
71684         * lib/openat.c: Include lchown.h.
71685
71686         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71687         we now test for that separately.
71688         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71689         rather than O_NOFOLLOW, when testing whether it's possible to
71690         avoid a race condition reliably.
71691         * lib/savewd.c (savewd_chdir): Likewise.
71692
71693         Remove macros that are no longer needed now that stdint.h is
71694         reliable.
71695         * lib/fsusage.c (UINTMAX_MAX): Remove.
71696         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71697         * lib/utimecmp.c (SIZE_MAX): Remove.
71698
71699         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71700
71701         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71702         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71703         O_NOATIME works.
71704
71705 2006-10-05  Bruno Haible  <bruno@clisp.org>
71706
71707         * lib/gl_list.h (gl_sortedlist_search_from_to,
71708         gl_sortedlist_indexof_from_to): New declarations.
71709         (gl_list_implementation): New fields sortedlist_search_from_to,
71710         sortedlist_indexof_from_to.
71711         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71712         inline functions.
71713         * lib/gl_list.c (gl_sortedlist_search_from_to,
71714         gl_sortedlist_indexof_from_to): New functions.
71715         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71716         function.
71717         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71718         (gl_array_sortedlist_search_from_to): New function.
71719         (gl_array_list_implementation): Update.
71720         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71721         function.
71722         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71723         (gl_carray_sortedlist_search_from_to): New function.
71724         (gl_carray_list_implementation): Update.
71725         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71726         gl_linked_sortedlist_indexof_from_to): New functions.
71727         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71728         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71729         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71730         gl_tree_sortedlist_indexof_from_to): New functions.
71731         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71732         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71733         Update.
71734         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71735         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71736         Update.
71737
71738 2006-10-05  Bruno Haible  <bruno@clisp.org>
71739
71740         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71741         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71742         (struct gl_list_implementation): Add fields search_from_to,
71743         indexof_from_to. Remove fields search, indexof.
71744         (gl_list_search): Use the search_from_to method.
71745         (gl_list_search_from, gl_list_search_from_to): New functions.
71746         (gl_list_indexof): Use the indexof_from_to method.
71747         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71748         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71749         (gl_list_search_from, gl_list_search_from_to): New functions.
71750         (gl_list_indexof): Use the indexof_from_to method.
71751         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71752         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71753         gl_array_indexof. Add start_index, end_index arguments.
71754         (gl_array_search_from_to): Renamed from gl_array_search. Add
71755         start_index, end_index arguments.
71756         (gl_array_remove, gl_array_list_implementation): Update.
71757         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71758         gl_carray_indexof. Add start_index, end_index arguments.
71759         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71760         start_index, end_index arguments.
71761         (gl_carray_remove, gl_carray_list_implementation): Update.
71762         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71763         gl_linked_search. Add start_index, end_index arguments.
71764         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71765         start_index, end_index arguments.
71766         (gl_linked_remove): Update.
71767         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71768         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71769         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71770         field to 'size_t'.
71771         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71772         gl_tree_search. Add start_index, end_index arguments.
71773         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71774         start_index, end_index arguments.
71775         (gl_tree_remove): Update.
71776         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71777         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71778         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71779         function.
71780         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71781         gl_tree_search. Add start_index, end_index arguments.
71782         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71783         start_index, end_index arguments.
71784         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71785         Update.
71786         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71787
71788 2006-10-05  Bruno Haible  <bruno@clisp.org>
71789
71790         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71791
71792         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71793         fwriteerror_temp): New declarations.
71794         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71795         (descriptors): New variable.
71796         (cleanup): First, close the descriptors.
71797         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
71798         fclose_temp, fwriteerror_temp): New functions.
71799
71800 2006-10-04  Jim Meyering  <jim@meyering.net>
71801
71802         * lib/fts.c (fts_open): Tiny comment change.
71803
71804 2006-10-04  Bruno Haible  <bruno@clisp.org>
71805
71806         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
71807         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
71808         gl_LOCK_BODY.
71809         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
71810         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
71811         gl_LOCK_EARLY_BODY.
71812         (gl_LOCK): Require gl_LOCK_BODY.
71813
71814 2006-10-04  Bruno Haible  <bruno@clisp.org>
71815
71816         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71817         (gl_oset_search_atleast): New declaration.
71818         (struct gl_oset_implementation): Add field 'search_atleast'.
71819         (gl_oset_search_atleast): New inline function.
71820         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71821         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71822         (gl_array_oset_implementation): Update.
71823         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71824         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71825         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71826
71827 2006-10-04  Bruno Haible  <bruno@clisp.org>
71828
71829         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71830
71831 2006-10-03  Bruno Haible  <bruno@clisp.org>
71832
71833         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71834         from gl_avltreehash_list_implementation.
71835
71836 2006-10-03  Bruno Haible  <bruno@clisp.org>
71837
71838         * lib/gl_oset.c (gl_oset_add): Fix return type.
71839
71840 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71841
71842         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71843
71844 2006-10-02  Eric Blake  <ebb9@byu.net>
71845
71846         * modules/strnlen (Depends-on): Add extensions.
71847
71848 2006-10-02  Eric Blake  <ebb9@byu.net>
71849
71850         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71851         definition in 2.60+.
71852
71853 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71854
71855         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71856         checks.
71857
71858 2006-10-02  Bruno Haible  <bruno@clisp.org>
71859
71860         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71861         to the AUTOMAKE_OPTIONS.
71862         Reported by Jim Meyering.
71863
71864 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71865
71866         Work around bug in Solaris 10 /proc file system:
71867         /proc/self/fd/NNN/.. isn't the parent directory of
71868         the directory whose file descriptor is NNN.  This needs to
71869         be worked around at run time, not compile time, since a
71870         program might be built on Solaris 8, where things work, and
71871         run on Solaris 10.
71872         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71873         to use the following interface instead:
71874         (OPENAT_BUFFER_SIZE): New macro.
71875         (openat_proc_name): New function.
71876         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71877         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71878         Likewise.
71879         * lib/openat-proc.c: New file.
71880         * modules/openat (Files): Add lib/openat-proc.c.
71881         (Depends-on): Add same-inode, stdbool.
71882         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71883
71884 2006-09-29  Bruno Haible  <bruno@clisp.org>
71885
71886         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71887         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71888         argument. Set stdout_closed before testing for ferror, not after.
71889         (fwriteerror, fwriteerror_no_ebadf): New functions.
71890
71891 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71892
71893         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71894
71895 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71896
71897         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71898         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71899
71900 2006-09-28  Jim Meyering  <jim@meyering.net>
71901
71902         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71903         Include <unistd.h>.
71904
71905 2006-09-28  Bruno Haible  <bruno@clisp.org>
71906
71907         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71908         * modules/linkedhash-list (Depends-on): Likewise.
71909         * modules/rbtreehash-list (Depends-on): Likewise.
71910
71911 2006-09-28  Bruno Haible  <bruno@clisp.org>
71912
71913         * lib/strndup.h: Simplify the redefinition of strndup.
71914         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71915         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
71916
71917 2006-09-28  Bruno Haible  <bruno@clisp.org>
71918
71919         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
71920         * lib/gl_linkedhash_list.c: Likewise.
71921         * lib/gl_rbtreehash_list.c: Likewise.
71922
71923 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71924
71925         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
71926         getaddrinfo.
71927
71928         * lib/__fpending.h: Don't include <stdio_ext.h> unless
71929         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
71930         it causes <stdio_ext.h> to cause a compile-time error.
71931         Problem reported by Nelson H. F. Beebe.
71932         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
71933         of HAVE_DECL___PENDING.
71934
71935         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
71936         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
71937         declaration.
71938
71939 2006-09-27  Jim Meyering  <jim@meyering.net>
71940
71941         This file could end up with a definition for a function
71942         named __strndup, rather than rpl_strndup on a system with
71943         incomplete weak_alias support.
71944         * lib/strndup.c (strndup): Rename from __strndup.
71945         Remove #defines that used to map __strndup to strndup.
71946         Don't use K&R prototypes.
71947         Remove LIBC-related code, since this file is not sync'd with glibc.
71948         * lib/strndup.h: Revamp, accordingly.
71949         * m4/strndup.m4: Modernize.
71950
71951 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71952
71953         * modules/savewd (Depends-on): Add 'raise'.
71954         * lib/savewd.c: Include <signal.h>, for 'raise'.
71955
71956 2006-09-26  Jim Meyering  <jim@meyering.net>
71957
71958         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
71959         when we detect Darwin 8.7.0's acl_get_file bug.
71960         Rearrange to perform the new (below) run-test while $LIBS
71961         contains any acl-related library.  Set USE_ACL at the end.
71962         (gl_ACL_GET_FILE): New function.
71963
71964 2006-09-26  Eric Blake  <ebb9@byu.net>
71965
71966         * lib/verror.c: Include <config.h> unconditionally.
71967
71968 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
71969
71970         * modules/clock-time (Maintainer): Add self.
71971         * modules/getlogin_r (Depends-on): Add extensions.
71972
71973 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71974
71975         * modules/clock-time: New module.
71976         * modules/nanosleep (Depends-on): Add clock-time.
71977         * modules/gethrxtime (Depends-on): Likewise.
71978         * modules/gettime (Depends-on): Likewise.
71979         * modules/settime (Depends-on): Likewise.
71980
71981         * modules/fts-lgpl: Depend on openat.
71982         * modules/mkancesdirs: Depend on savewd.
71983         * modules/mkdir-p: Likewise.
71984
71985 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71986
71987         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
71988
71989         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
71990         `gl_have_arbitrary_file_name_length_limit' to
71991         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
71992         actually works between configure runs.
71993
71994 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71995             Bruno Haible  <bruno@clisp.org>
71996
71997         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
71998
71999 2006-09-25  Jim Meyering  <jim@meyering.net>
72000
72001         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72002         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72003
72004 2006-09-25  Eric Blake  <ebb9@byu.net>
72005
72006         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72007         exec's in 2006-09-18 patch when shuffling fds.
72008
72009 2006-09-25  Bruno Haible  <bruno@clisp.org>
72010
72011         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72012         Reported by Jim Meyering.
72013
72014 2006-09-24  Jim Meyering  <jim@meyering.net>
72015
72016         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72017         compare a pointer against a literal "0".  That caused failures with
72018         at least HP-UX's hpcc.
72019
72020 2006-09-22  Simon Josefsson  <jas@extundo.com>
72021
72022         * modules/gc-sha1:
72023         * modules/gc-md4:
72024         * modules/gc-hmac-sha1:
72025         * modules/gc-hmac-md5:
72026         * modules/gc-des:
72027         * modules/gc-arcfour: Distribute more files.
72028
72029 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72030
72031         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72032         (gl_linked_iterator_from_to): Initialize struct completely.
72033         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72034         (gl_tree_iterator_from_to): Likewise
72035         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72036         * lib/gl_array_list.c [lint] (gl_array_iterator)
72037         (gl_array_iterator_from_to): Likewise.
72038         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72039         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72040         (gl_carray_iterator_from_to): Likewise.
72041
72042         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72043         * lib/md4.c (md4_process_block): Remove unused variable.
72044         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72045         parentheses for clarity.
72046
72047 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72048
72049         * modules/bison-i18n (Depends-on): Add gettext.
72050
72051 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72052
72053         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72054         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72055         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72056         also add missing comma that caused broken test.
72057         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72058         stdlib.h, for `abort'.
72059         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72060         variables.
72061         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72062         include unistd.h if present, for `rmdir'.
72063         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72064         variables.
72065         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72066         in the process include standard headers for prototypes.
72067         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72068         gets declared on GNU/Linux.
72069         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72070         unistd.h, for `rmdir'.
72071         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72072
72073         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72074         always true.
72075         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72076
72077         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72078
72079 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72080
72081         * gnulib-tool (func_version): Create output all at once.  This
72082         may help avoid triggering unnecessary SIGPIPEs, and at any
72083         rate it doesn't hurt.
72084
72085 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72086             Bruno Haible  <bruno@clisp.org>
72087
72088         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72089         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72090         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72091
72092         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72093         (gl_FUNC_VASPRINTF): Invoke it.
72094
72095 2006-09-22  Bruno Haible  <bruno@clisp.org>
72096
72097         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72098         getloadavg.c as first argument.
72099
72100 2006-09-22  Bruno Haible  <bruno@clisp.org>
72101
72102         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72103         at the beginning of the gl_INIT macro.
72104         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72105         gl_GETLOADAVG.
72106
72107 2006-09-22  Bruno Haible  <bruno@clisp.org>
72108
72109         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72110         module.
72111         Suggested by Ralf Wildenhues.
72112
72113 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72114
72115         Import this patch from libc:
72116
72117         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72118
72119         * lib/regex_internal.c (re_string_reconstruct): Handle
72120         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72121         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72122         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72123         re_string_context_at.
72124
72125         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72126         now requires it.
72127         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72128         gl_REGEX now does it for us.
72129         (gl_REGEX): Add test taken from
72130         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72131
72132         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72133         Check that large offsets work.  Modernize Autoconf usages.
72134         Prefer "yes" to mean a good thing rather than a bad.
72135         Don't put "#define mkstemp" in config.h, as this might interfere
72136         with standard system headers that "#define mkstemp mkstemp64".
72137
72138         * modules/mkstemp (Depends-on): Add extensions, so that
72139         mkstemp is visible on some platforms.
72140         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72141         (Include): Change to "mkstemp.h" from <stdlib.h>.
72142         (Files): Add mkstemp.h.
72143
72144         * lib/mkstemp.h: New file, since some standard headers
72145         #define mkstemp.
72146         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72147         Include "mkstemp.h".
72148         Make the _LIBC code resemble glibc original more,
72149         e.g., use K&R style.
72150         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72151         (mkstemp): Remove, since mkstemp.h does this for us.
72152         * lib/stdlib--.h: Include mkstemp.h.
72153
72154         Import this patch from libc:
72155
72156         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72157
72158         * lib/tempname.c (__gen_tempname): Change attempts_min
72159         into a macro.  Use preprocessor to decide how to initialize
72160         attempts [Coverity CID 67].
72161
72162 2006-09-20  Bruno Haible  <bruno@clisp.org>
72163
72164         * lib/mkdtemp.c: Import from libc.
72165         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72166                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72167                 attempts_min into a macro.  Use preprocessor to decide how to
72168                 initialize attempts [Coverity CID 67].
72169         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72170                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72171                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72172
72173 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72174
72175         * gnulib-tool (func_exit): New function, to allow to pass the
72176         exit status portably through the trap.  Use everywhere.
72177         (--help, --version): Signal a write error.
72178         (trap): catch SIGPIPE, for write errors.
72179         Exit at the end of the trap, with the correct exit status.
72180
72181 2006-09-19  Karl Berry  <karl@gnu.org>
72182
72183         * doc/gnulib.texi: note about the license texinfo files.
72184
72185 2006-09-19  Eric Blake  <ebb9@byu.net>
72186
72187         * gnulib-tool: Avoid space-tab.
72188
72189 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72190
72191         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72192         that prevented coreutils 6.1 from building.  Problem reported
72193         by Petter Reinholdtsen.
72194
72195 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72196
72197         * gnulib-tool (avoidlist): Fix typo that broke options like
72198         --avoid=lock that are used by coreutils bootstrap.
72199
72200 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72201
72202         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72203         more systematically.
72204
72205 2006-09-18  Jim Meyering  <jim@meyering.net>
72206
72207         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72208
72209 2006-09-18  Bruno Haible  <bruno@clisp.org>
72210
72211         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72212
72213 2006-09-18  Bruno Haible  <bruno@clisp.org>
72214
72215         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72216         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72217         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72218         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72219         * m4/gettext.m4: Require autoconf >= 2.52.
72220         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72221         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72222         of gl_cv_header_inttypes_h.
72223
72224 2006-09-18  Bruno Haible  <bruno@clisp.org>
72225
72226         * lib/javaversion.c: Include configmake.h.
72227
72228 2006-09-18  Bruno Haible  <bruno@clisp.org>
72229
72230         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72231         avoid that the while loops be executed in a subshell.
72232
72233 2006-09-18  Bruno Haible  <bruno@clisp.org>
72234
72235         * MODULES.html.sh (func_module): Break long lines.
72236         Suggested by Bruce Korb <bkorb@gnu.org>.
72237
72238 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72239
72240         Speed up by a factor of 1.12.
72241         * gnulib-tool (nl): New variable.
72242         (func_import): Rewrite include directive extraction to only read each
72243         directive once.
72244
72245 2006-09-17  Bruno Haible  <bruno@clisp.org>
72246
72247         * modules/javaversion (Makefile.am): Remove DEFS setting.
72248         (Depends-on): Add configmake, for PKGDATADIR definition.
72249
72250 2006-09-17  Bruno Haible  <bruno@clisp.org>
72251
72252         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72253
72254 2006-09-17  Bruno Haible  <bruno@clisp.org>
72255
72256         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72257         (func_modules_transitive_closure, func_modules_add_dummy,
72258         func_modules_to_filelist, func_import, func_create_testdir,
72259         func_create_megatestdir, ...): Use it wherever possible.
72260         Suggested by Ralf Wildenhues.
72261
72262 2006-09-16  Karl Berry  <karl@gnu.org>
72263
72264         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72265         to avoid sectioning errors.
72266         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72267         [ifinfo]: blank line after @center-ed titles.
72268         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72269         Spell FSF address consistently with others.
72270         (These changes approved by rms.)
72271
72272 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72273
72274         Speed up by a factor of 1.61.
72275         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72276         already checked module names again.
72277
72278 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72279
72280         Speed up by a factor of 1.13.
72281         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72282         for new_files, and the input to func_add_or_update.
72283
72284 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72285
72286         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72287         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72288
72289 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72290
72291         * modules/mkancesdirs (Depends-on): Add fcntl.
72292         * modules/savewd: New file.
72293         * MODULES.html.sh (File system functions): Add savewd.
72294
72295         * modules/configmake (Makefile.am): Add support for the
72296         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72297
72298 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72299
72300         * m4/savewd.m4: New file.
72301
72302 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72303
72304         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72305         (dirchownmod): New arg FD.  All callers changed.
72306         Use FD rather than opening the directory ourself, as opening is
72307         now the caller's responsibility.
72308         * lib/dirchownmod.h: Likewise.
72309         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72310         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72311         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72312         (test_dir): Remove.
72313         (mkancesdirs): Return length of prefix of FILE that has already
72314         been made, or -2 if there is a child doing the work.  Redo
72315         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72316         ".", and treat ".." specially since it might stray back into
72317         already-created areas.  Use a subprocess if necessary.  New arg
72318         WD; all users changed.  MAKE_DIR function should now return 1
72319         if it creates a directory that is not readable.  Return -2 if
72320         a child process is spun off.
72321         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72322         Adjust signature to match code.
72323         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72324         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72325         all users changed.
72326         * lib/savewd.c, lib/savewd.h: New files.
72327
72328 2006-09-15  Jim Meyering  <jim@meyering.net>
72329
72330         * modules/rename-dest-slash: New module.
72331         * MODULES.html.sh (posix_compat): Add it here.
72332
72333         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72334
72335 2006-09-15  Jim Meyering  <jim@meyering.net>
72336
72337         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72338         file.
72339
72340         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72341
72342 2006-09-15  Jim Meyering  <jim@meyering.net>
72343
72344         * lib/rename-dest-slash.c (has_trailing_slash): Use
72345         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72346         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72347         test before testing whether SRC is a directory.
72348         Suggestions from Bruno Haible.
72349
72350         Avoid a warning about an unused variable.
72351         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72352         into the #ifdef block where it's used.
72353
72354         * lib/rename-dest-slash.c: New file.
72355
72356 2006-09-14  Bruno Haible  <bruno@clisp.org>
72357
72358         * lib/allocsa.c: Include <config.h> unconditionally.
72359         * lib/asnprintf.c: Likewise.
72360         * lib/asprintf.c: Likewise.
72361         * lib/c-strcasecmp.c: Likewise.
72362         * lib/c-strcasestr.c: Likewise.
72363         * lib/c-strncasecmp.c: Likewise.
72364         * lib/c-strstr.c: Likewise.
72365         * lib/classpath.c: Likewise.
72366         * lib/clean-temp.c: Likewise.
72367         * lib/concatpath.c: Likewise.
72368         * lib/copy-file.c: Likewise.
72369         * lib/csharpcomp.c: Likewise.
72370         * lib/csharpexec.c: Likewise.
72371         * lib/execute.c: Likewise.
72372         * lib/fatal-signal.c: Likewise.
72373         * lib/findprog.c: Likewise.
72374         * lib/fwriteerror.c: Likewise.
72375         * lib/gl_array_list.c: Likewise.
72376         * lib/gl_array_oset.c: Likewise.
72377         * lib/gl_avltree_list.c: Likewise.
72378         * lib/gl_avltree_oset.c: Likewise.
72379         * lib/gl_avltreehash_list.c: Likewise.
72380         * lib/gl_carray_list.c: Likewise.
72381         * lib/gl_linked_list.c: Likewise.
72382         * lib/gl_linkedhash_list.c: Likewise.
72383         * lib/gl_list.c: Likewise.
72384         * lib/gl_oset.c: Likewise.
72385         * lib/gl_rbtree_list.c: Likewise.
72386         * lib/gl_rbtree_oset.c: Likewise.
72387         * lib/gl_rbtreehash_list.c: Likewise.
72388         * lib/imaxabs.c: Likewise.
72389         * lib/imaxdiv.c: Likewise.
72390         * lib/javacomp.c: Likewise.
72391         * lib/javaexec.c: Likewise.
72392         * lib/javaversion.c: Likewise.
72393         * lib/linebreak.c: Likewise.
72394         * lib/localcharset.c: Likewise.
72395         * lib/lock.c: Likewise.
72396         * lib/mbchar.c: Likewise.
72397         * lib/mbswidth.c: Likewise.
72398         * lib/mkdtemp.c: Likewise.
72399         * lib/pipe.c: Likewise.
72400         * lib/printf-args.c: Likewise.
72401         * lib/printf-parse.c: Likewise.
72402         * lib/progname.c: Likewise.
72403         * lib/progreloc.c: Likewise.
72404         * lib/readlink.c: Likewise.
72405         * lib/sh-quote.c: Likewise.
72406         * lib/stpcpy.c: Likewise.
72407         * lib/stpncpy.c: Likewise.
72408         * lib/strcasecmp.c: Likewise.
72409         * lib/strcasestr.c: Likewise.
72410         * lib/strcspn.c: Likewise.
72411         * lib/striconv.c: Likewise.
72412         * lib/strncasecmp.c: Likewise.
72413         * lib/strnlen1.c: Likewise.
72414         * lib/strstr.c: Likewise.
72415         * lib/strtok_r.c: Likewise.
72416         * lib/tls.c: Likewise.
72417         * lib/tmpdir.c: Likewise.
72418         * lib/unicodeio.c: Likewise.
72419         * lib/unsetenv.c: Likewise.
72420         * lib/vasnprintf.c: Likewise.
72421         * lib/vasprintf.c: Likewise.
72422         * lib/wait-process.c: Likewise.
72423         * lib/xallocsa.c: Likewise.
72424         * lib/xsetenv.c: Likewise.
72425         * lib/xstriconv.c: Likewise.
72426
72427 2006-09-13  Simon Josefsson  <jas@extundo.com>
72428
72429         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72430         that internally, suggested by Ralf Wildenhues
72431         <Ralf.Wildenhues@gmx.de>.
72432
72433 2006-09-13  Simon Josefsson  <jas@extundo.com>
72434
72435         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72436         @LIBOBJS@.
72437         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72438
72439 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72440
72441         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72442         longer worry about uses that don't define HAVE_CONFIG_H.
72443         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72444         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72445         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72446         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72447         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72448         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72449         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72450         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72451         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72452         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72453         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72454         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72455         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72456         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72457         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72458         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72459         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72460         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72461         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72462         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72463         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72464         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72465         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72466         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72467         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72468         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72469         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72470         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72471         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72472         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72473         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72474         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72475         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72476         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72477         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72478         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72479         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72480         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72481         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72482         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72483         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72484         Likewise.
72485
72486 2006-09-13  Eric Blake  <ebb9@byu.net>
72487
72488         * lib/getopt.c: Fix typo in last commit.
72489
72490 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72491
72492         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72493         dgettext.
72494
72495 2006-09-12  Jim Meyering  <jim@meyering.net>
72496
72497         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72498         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72499         Reported by Nelson H. F. Beebe.
72500
72501 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72502
72503         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72504         program_invocation_name and program_invocation_short_name are
72505         initialized.
72506         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72507         and program_invocation_short_name to argp.h, so they are visible
72508         to user programs.
72509         * lib/argp.h: Likewise
72510
72511 2006-09-10  Bruno Haible  <bruno@clisp.org>
72512
72513         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72514         m4/inttypes_h.m4, m4/uintmax_t.m4.
72515
72516 2006-09-10  Bruno Haible  <bruno@clisp.org>
72517
72518         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72519         gl_AC_TYPE_UINTMAX_T.
72520
72521 2006-09-10  Bruno Haible  <bruno@clisp.org>
72522
72523         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72524
72525 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72526
72527         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72528         convention.  Text proposed by Bruno Haible.
72529         (struct argp_option): Document the use of N_() wrappers.
72530
72531         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72532         '\v', and translate the two parts separately, instead of feeding
72533         the whole string to gettext.  This allows to exclude
72534         '\v' from the strings visible to the translator by writing doc
72535         strings as N_("..") "\v" N_("..").
72536
72537 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72538
72539         * config/srclist.txt: Undo latest change; the bug was fixed.
72540
72541 2006-09-09  Bruno Haible  <bruno@clisp.org>
72542
72543         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72544         assignments if building a library without libtool.
72545         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72546         in func_emit_lib_Makefile_am.
72547         (func_import): When building a static library libfoo.a, arrange to
72548         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72549         (func_create_testdir): Likewise.
72550         * modules/gc (configure.ac, Makefile.am): If building statically,
72551         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72552         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72553         * modules/striconv (configure.ac, Makefile.am): Likewise.
72554         Based on a suggestion by Ralf Wildenhues.
72555
72556 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72557
72558         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72559         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72560         Also:
72561
72562         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72563         Add year_2050_test to catch glibc bug 2821
72564         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72565
72566         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72567         Prefer #ifdef to #if.
72568
72569         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72570         Return from 'main' instead of calling 'exit'.
72571
72572 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72573
72574         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72575         returned the maximum time_t value rather than (time_t) -1.
72576         Problem originally reported by William Bardwell
72577         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72578
72579         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72580         Moved to here ...
72581         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72582         ... from here.
72583
72584 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72585
72586         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72587         2821 is fixed.
72588
72589 2006-09-08  Jim Meyering  <jim@meyering.net>
72590
72591         Don't make generated files read-only.  That would bother too many
72592         people.  However, do retain the ability to work when targets are
72593         read-only: remove the destination and temporary files before writing
72594         them (when generated via sed or echo), or by using the -f option for
72595         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72596         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72597         * modules/byteswap, modules/configmake, modules/fcntl:
72598         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72599         * modules/localcharset, modules/netinet_in, modules/poll:
72600         * modules/stdbool, modules/stdint, modules/sys_select:
72601         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72602
72603 2006-09-08  Jim Meyering  <jim@meyering.net>
72604
72605         Avoid new build failure on FreeBSD 6.0.
72606         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72607         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72608         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72609
72610 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72611
72612         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72613
72614 2006-09-07  Jim Meyering  <jim@meyering.net>
72615
72616         Fix global typo in last change: use chmod u-w, not chmod u-x.
72617         Spotted by Paul Eggert and Bruce Korb.
72618         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72619         * modules/byteswap, modules/configmake, modules/fcntl:
72620         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72621         * modules/localcharset, modules/netinet_in, modules/poll:
72622         * modules/stdbool, modules/stdint, modules/sys_select:
72623         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72624
72625 2006-09-06  Jim Meyering  <jim@meyering.net>
72626
72627         Make generated files be read-only.
72628         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72629         Ensure that each generated file is now read-only.
72630         * modules/argz: Likewise.
72631         * modules/arpa_inet: Likewise.
72632         * modules/byteswap: Likewise.
72633         * modules/configmake: Likewise.
72634         * modules/fcntl: Likewise.
72635         * modules/fnmatch: Likewise.
72636         * modules/getopt: Likewise.
72637         * modules/glob: Likewise.
72638         * modules/inttypes: Likewise.
72639         * modules/netinet_in: Likewise.
72640         * modules/poll: Likewise.
72641         * modules/stdbool: Likewise.
72642         * modules/stdint: Likewise.
72643         * modules/sys_select: Likewise.
72644         * modules/sys_socket: Likewise.
72645         * modules/sys_stat: Likewise.
72646         * modules/sysexits: Likewise.
72647         * modules/localcharset: Same as above, but continue using temporary
72648         file named "t-$@" (why different?) rather than the "$@-t" used
72649         everywhere else.
72650
72651         * modules/sysexits (Makefile.am): Replace literal occurrences
72652         of "sysexit.h" more readable, and more consistent, "$@".
72653
72654 2006-09-06  Bruno Haible  <bruno@clisp.org>
72655
72656         * modules/striconv: New file.
72657         * modules/xstriconv: New file.
72658         * MODULES.html.sh (Internationalization functions): Add striconv,
72659         xstriconv.
72660
72661 2006-09-06  Bruno Haible  <bruno@clisp.org>
72662
72663         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72664         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72665         not using libtool correctly.
72666
72667 2006-09-06  Bruno Haible  <bruno@clisp.org>
72668
72669         * lib/striconv.h: New file.
72670         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72671         iconvstring.c.
72672         * lib/xstriconv.h: New file.
72673         * lib/xstriconv.c: New file.
72674
72675 2006-09-06  Bruno Haible  <bruno@clisp.org>
72676
72677         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72678         lib_..._LDFLAGS.
72679
72680 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72681
72682         * lib/argz_.h: Sync from Libtool.
72683
72684         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72685                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72686
72687         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72688
72689 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72690
72691         * modules/trim: New file.
72692
72693 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72694
72695         * lib/trim.h: New file.
72696         * lib/trim.c: New file.
72697
72698 2006-09-05  Bruno Haible  <bruno@clisp.org>
72699
72700         * MODULES.html.sh (String handling): Add trim.
72701
72702 2006-09-04  Karl Berry  <karl@gnu.org>
72703
72704         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72705         until next release.
72706
72707 2006-09-03  Bruno Haible  <bruno@clisp.org>
72708
72709         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72710         correctly.
72711
72712 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72713
72714         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72715         not gl_GETLOADAVG.  Omit unneeded semicolons.
72716         Problems reported by Ralf Wildenhues in
72717         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72718         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72719         at the end, which is the usual gnulib style.
72720
72721         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72722         of doing all the work ourselves.
72723         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72724         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72725
72726 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72727
72728         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72729         Problem reported by Ralf Wildenhues in
72730         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72731
72732         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72733         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72734
72735 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72736
72737         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72738         yesterday's patch by changing test -n to test -z.
72739
72740 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72741
72742         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72743         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72744         the former is now obsolescent.
72745
72746         * modules/chdir-long (Depends-on): Add fcntl.
72747
72748 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72749
72750         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72751         obsolescent, and programs should use gnulib instead.
72752         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72753         but with prefixes changed.
72754
72755 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72756
72757         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72758         or stdbool.h, because they might not exist while configuring.
72759
72760         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72761         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72762         does that for us.
72763         (O_DIRECTORY): Remove.
72764
72765 2006-08-31  Eric Blake  <ebb9@byu.net>
72766
72767         * gnulib-tool: Don't let emacs change spaces to TAB.
72768
72769 2006-08-31  Bruno Haible  <bruno@clisp.org>
72770
72771         * gnulib-tool: When calling func_import more than once, do it in a
72772         subshell.
72773         Reported by Eric Blake <ebb9@byu.net>.
72774
72775 2006-08-31  Bruno Haible  <bruno@clisp.org>
72776
72777         * gnulib-tool (nl): Remove variable.
72778         (sed_transform_lib_file): Use more robust test for config-h module.
72779         (func_import): Fix typo in 2006-08-25 patch.
72780
72781 2006-08-31  Bruno Haible  <bruno@clisp.org>
72782
72783         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72784         specified, augment Makefile.am variables instead of assigning them.
72785
72786 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72787
72788         Work around a bug in both the Linux and SunOS 64-bit kernels:
72789         nanosleep mishandles sleeps for longer than 2**31 seconds.
72790         Problem reported by Frank v Waveren in
72791         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72792         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72793         Check for nanosleep bug.
72794         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72795
72796 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72797
72798         Work around a bug in both the Linux and SunOS 64-bit kernels:
72799         nanosleep mishandles sleeps for longer than 2**31 seconds.
72800         Problem reported by Frank v Waveren in
72801         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72802         * lib/nanosleep.c (BILLION): New constant.
72803         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
72804         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
72805         implementation.
72806
72807 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72808
72809         * modules/nanosleep (Depends-on): Add gettime.
72810
72811 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72812         and Simon Josefsson  <jas@extundo.com>
72813         and Oskar Liljeblad  <oskar@osk.mine.nu>
72814
72815         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72816         * gnulib-tool (func_import): New license type 'unmodifiable license
72817         text'.
72818         * modules/fdl: Use it.  Longer description.
72819         * module/gpl, module/lgpl: New files.
72820
72821 2006-08-30  Jim Meyering  <jim@meyering.net>
72822
72823         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72824         shadowing the parameter.
72825
72826 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72827
72828         Sync from Libtool:
72829
72830         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72831
72832         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72833         sharing with gnulib.  Report by Eric Blake.
72834
72835 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72836
72837         * modules/isapipe: New file.
72838         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72839
72840 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72841
72842         * modules/configmake (Makefile.am): Add a comment, and omit
72843         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72844         by Bruno Haible.
72845
72846 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72847
72848         * m4/isapipe.m4: New file.
72849
72850 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72851
72852         * lib/isapipe.c, lib/isapipe.h: New files.
72853
72854 2006-08-29  Jim Meyering  <jim@meyering.net>
72855
72856         * modules/configmake (Makefile.am): Make configmake.h depend on
72857         Makefile.  Otherwise, a stale configmake.h could hang around.
72858
72859 2006-08-29  Eric Blake  <ebb9@byu.net>
72860
72861         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72862         resolution of upstream bug 3044.
72863
72864 2006-08-29  Bruno Haible  <bruno@clisp.org>
72865
72866         * modules/localcharset (Depends-on): Add configmake.
72867         (Makefile.am): Remove setting of LIBDIR through DEFS.
72868
72869 2006-08-29  Bruno Haible  <bruno@clisp.org>
72870
72871         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72872         defined.
72873
72874 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72875
72876         * modules/fcntl: New file.
72877         * modules/chdir-safer (Depends-on): Add fcntl.
72878         * modules/fts: Likewise.
72879         * modules/mkdir-p: Likewise.
72880
72881         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72882         This undoes the most recent change, since we're now addressing the
72883         problem in a different way.
72884
72885         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72886         into output, since the output might be called Makefile.am even
72887         if $makefile_name is something different.
72888         (func_import): Use $makefile_am rather than
72889         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72890         empty.
72891
72892         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72893
72894 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72895
72896         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72897         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72898         recent change to stdint.m4, since we're now addressing the problem in a
72899         different way.
72900
72901 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72902
72903         * m4/fcntl_h.m4: New file.
72904
72905 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72906
72907         * lib/fcntl_.h: New file.
72908         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72909         the fcntl module.
72910         * lib/dirchownmod.c: Likewise.
72911         * lib/fts.c: Likewise.
72912
72913         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72914         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72915         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
72916         just before including <inttypes.h>, to avoid circular inclusion.
72917
72918 2006-08-28  Jim Meyering  <jim@meyering.net>
72919
72920         * doc/visibility.texi: Actually read and correct the grammar of the
72921         sentence affected by yesterday's change.
72922
72923 2006-08-28  Eric Blake  <ebb9@byu.net>
72924
72925         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
72926         needs wrapper.
72927
72928 2006-08-28  Eric Blake  <ebb9@byu.net>
72929
72930         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
72931
72932 2006-08-28  Eric Blake  <ebb9@byu.net>
72933
72934         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
72935
72936 2006-08-28  Bruno Haible  <bruno@clisp.org>
72937
72938         * modules/c-strstr: New file, from GNU gettext.
72939         * MODULES.html.sh (String handling): Add c-strstr.
72940
72941 2006-08-28  Bruno Haible  <bruno@clisp.org>
72942
72943         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
72944         macros.
72945         Reported by Eric Blake.
72946
72947 2006-08-28  Bruno Haible  <bruno@clisp.org>
72948
72949         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
72950         (VASNPRINTF): Return a string of length > INT_MAX without failing.
72951         * lib/vasprintf.c: Include errno.h, limits.h.
72952         (EOVERFLOW): New fallback definition.
72953         (vasprintf): Test here whether the string length is > INT_MAX.
72954         * lib/vsnprintf.c: Include errno.h, limits.h.
72955         (EOVERFLOW): New fallback definition.
72956         (vsnprintf): Fix bug when generated string was too long for the buffer.
72957         Test here whether the string length is > INT_MAX.
72958
72959 2006-08-28  Bruno Haible  <bruno@clisp.org>
72960
72961         * lib/inttypes_.h (SCNX*): Remove definitions.
72962         Reported by Eric Blake.
72963
72964 2006-08-28  Bruno Haible  <bruno@clisp.org>
72965
72966         * lib/c-strstr.h: New file, from GNU gettext.
72967         * lib/c-strstr.c: New file, from GNU gettext.
72968
72969 2006-08-28  Bruno Haible  <bruno@clisp.org>
72970
72971         * gnulib-tool: Reorder some statements.
72972
72973 2006-08-28  Bruno Haible  <bruno@clisp.org>
72974
72975         * gnulib-tool: New option --makefile-name.
72976         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
72977         $makefile_name.
72978         (func_import): Write $makefile_name to the cache file, and read it from
72979         there unless explicitly specified. Use $makefile_name as file name
72980         instead of Makefile.am. Adjust the recommendations accordingly.
72981
72982 2006-08-28  Bruno Haible  <bruno@clisp.org>
72983
72984         * gnulib-tool (func_verify_module): Check against misapplying patch.
72985
72986 2006-08-28  Bruno Haible  <bruno@clisp.org>
72987
72988         * gnulib-tool (func_relativize, func_relconcat): New functions.
72989         Give an error if --local-dir is given with --update.
72990         Remove trailing slashes from $local_gnulib_dir.
72991         (func_import): Store the relativized $local_gnulib_dir in
72992         gnulib-cache.m4, and read it from there if not specified explicitly.
72993
72994 2006-08-28  Bruno Haible  <bruno@clisp.org>
72995
72996         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
72997         is the current directory. Respect also $local_gnulib_dir.
72998
72999 2006-08-28  Bruno Haible  <bruno@clisp.org>
73000             Simon Josefsson  <jas@extundo.com>
73001
73002         BeOS portability.
73003         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73004
73005 2006-08-27  Jim Meyering  <jim@meyering.net>
73006
73007         * doc/visibility.texi: Remove duplicate word: "pointer".
73008
73009 2006-08-26  Bruno Haible  <bruno@clisp.org>
73010
73011         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73012         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73013         (Makefile.am): Create inttypes.h from inttypes_.h.
73014         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73015
73016         * modules/imaxabs: New file.
73017
73018         * modules/imaxdiv: New file.
73019
73020 2006-08-26  Bruno Haible  <bruno@clisp.org>
73021
73022         * m4/inttypes.m4: New file.
73023         * m4/_inttypes_h.m4: Remove file.
73024         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73025         PRI_MACROS_BROKEN.
73026         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73027
73028         * m4/imaxabs.m4: New file.
73029
73030         * m4/imaxdiv.m4: New file.
73031
73032 2006-08-26  Bruno Haible  <bruno@clisp.org>
73033
73034         * lib/inttypes_.h: New file.
73035         * lib/inttypes.h: Remove file.
73036         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73037
73038         * lib/imaxabs.c: New file.
73039
73040         * lib/imaxdiv.c: New file.
73041
73042 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73043
73044         New config-h module, so that "make" output needn't be cluttered
73045         by -DHAVE_CONFIG_H.
73046         * MODULES.html.sh (Support for building libraries and executables):
73047         Add config-h.
73048         * modules/config-h: New file.
73049         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73050         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73051         the config-h module is used.
73052
73053         New configmake module, so that "make" output needn't be cluttered
73054         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73055         * MODULES.html.sh (Support for building libraries and executables):
73056         Add configmake.
73057         * modules/configmake: New file.
73058
73059 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73060
73061         * m4/config-h.m4: New file.
73062
73063 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73064
73065         * config/srclist.txt: Add elisp-comp.
73066
73067 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73068
73069         * MODULES.html.sh (Support for building libraries and executables):
73070         Add elisp-comp.
73071         * build-aux/elisp-comp: New file.
73072         * modules/elisp-comp: New file.
73073
73074 2006-08-24  Bruno Haible  <bruno@clisp.org>
73075
73076         * gnulib-tool (func_create_testdir): Use non-default values of
73077         sourcebase and m4base.
73078
73079 2006-08-24  Bruno Haible  <bruno@clisp.org>
73080
73081         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73082         HTML structure.
73083
73084 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73085
73086         * modules/openat (Depends-on): Add lchown.
73087
73088 2006-08-23  Bruno Haible  <bruno@clisp.org>
73089
73090         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73091         of gl_LOCK_EARLY instead of gl_LOCK.
73092
73093 2006-08-23  Bruno Haible  <bruno@clisp.org>
73094
73095         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73096         on OSF/1 to no.
73097         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73098
73099 2006-08-23  Bruno Haible  <bruno@clisp.org>
73100
73101         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73102         as unusable.
73103
73104         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73105         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73106         (gl_LOCK): New macro.
73107
73108 2006-08-22  Simon Josefsson  <jas@extundo.com>
73109
73110         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73111         to md5 module.
73112
73113 2006-08-22  Simon Josefsson  <jas@extundo.com>
73114
73115         * MODULES.html.sh: Add "Support for maintaining and release
73116         projects".
73117
73118         * build-aux/gnupload: New file, from coreutils.
73119
73120 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73121
73122         Avoid the need for AC_LIBSOURCES in m4 macros.
73123         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73124         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73125         * modules/check-version (EXTRA_DIST): Add check-version.h.
73126         * modules/crc (EXTRA_DIST): Add crc.h.
73127         * modules/des (EXTRA_DIST): Add des.h.
73128         * modules/gc (EXTRA_DIST): Add gc.h.
73129         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73130         * modules/getline (EXTRA_DIST): Add getline.h.
73131         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73132         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73133         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73134         * modules/md2 (EXTRA_DIST): Add md2.h.
73135         * modules/md4 (EXTRA_DIST): Add md4.h.
73136         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73137         * modules/read-file (EXTRA_DIST): Add read-file.h.
73138         * modules/readline (EXTRA_DIST): Add readline.h.
73139         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73140         rijndael-api-fst.h.
73141
73142 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73143
73144         * m4/rijndael.m4 (gl_ARCFOUR):
73145         * m4/arctwo.m4 (gl_ARCTWO):
73146         * m4/check-version.m4 (gl_CHECK_VERSION):
73147         * m4/crc.m4 (gl_CRC):
73148         * m4/des.m4 (gl_DES):
73149         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73150         * m4/gc.m4 (gl_GC):
73151         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73152         * m4/getline.m4 (gl_FUNC_GETLINE):
73153         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73154         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73155         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73156         * m4/md2.m4 (gl_MD2):
73157         * m4/md4.m4 (gl_MD4):
73158         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73159         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73160         * m4/readline.m4 (gl_FUNC_READLINE):
73161         * m4/rijndael.m4 (gl_RIJNDAEL):
73162         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73163         to get the necessary .h files and whatnot.
73164
73165 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73166
73167         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73168         gnulib rather than the other way around.
73169         * config/srclistvars.sh (COREUTILS): Remove.
73170
73171 2006-08-22  Jim Meyering  <jim@meyering.net>
73172
73173         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73174
73175         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73176
73177 2006-08-22  Eric Blake  <ebb9@byu.net>
73178
73179         * modules/regexprops-generic: New file.
73180         * MODULES.html.sh (Support for building documentation): List it.
73181
73182 2006-08-22  Eric Blake  <ebb9@byu.net>
73183
73184         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73185         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73186         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73187         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73188
73189 2006-08-22  Bruno Haible  <bruno@clisp.org>
73190
73191         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73192         and lib_LTLIBRARIES like the other lib_* variables.
73193
73194 2006-08-22  Bruno Haible  <bruno@clisp.org>
73195
73196         * build-aux/x-to-1.in: New file, from GNU gettext.
73197
73198 2006-08-22  Bruno Haible  <bruno@clisp.org>
73199
73200         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73201         <utmpx.h> exists.
73202
73203 2006-08-22  Bruno Haible  <bruno@clisp.org>
73204
73205         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73206         <utmpx.h> exists.
73207
73208 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73209
73210         BeOS portability.
73211         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73212         exist.
73213         Problem reported by Bruno Haible.
73214
73215 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73216
73217         Avoid the need for AC_LIBSOURCES in m4 macros.
73218         * modules/acl (EXTRA_DIST): Add acl.h.
73219         * modules/argmatch (Files): Add m4/argmatch.m4.
73220         (configure.ac): Add gl_ARGMATCH.
73221         (EXTRA_DIST): Renamed from lib_SOURCES, for
73222         consistency with the other modules.  Remove argmatch.c.
73223         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73224         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73225         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73226         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73227         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73228         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73229         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73230         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73231         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73232         * modules/closeout (EXTRA_DIST): Add closeout.h.
73233         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73234         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73235         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73236         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73237         dirname.h; remove basename.c and stripslash.c.
73238         * modules/exclude (EXTRA_DIST): Add exclude.h.
73239         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73240         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73241         * modules/file-type (EXTRA_DIST): Add file-type.h.
73242         * modules/filemode (EXTRA_DIST): Add filemode.h.
73243         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73244         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73245         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73246         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73247         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73248         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73249         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73250         * modules/getdate (EXTRA_DIST): Add getdate.c.
73251         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73252         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73253         * modules/getpass (EXTRA_DIST): Add getpass.h.
73254         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73255         * modules/group-member (EXTRA_DIST): Add group-member.h.
73256         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73257         * modules/hash (EXTRA_DIST): Add hash.h.
73258         * modules/human (EXTRA_DIST): Add human.h.
73259         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73260         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73261         * modules/lchown (EXTRA_DIST): Add lchown.h.
73262         * modules/long-options (EXTRA_DIST): Add long-options.h.
73263         * modules/lstat (EXTRA_DIST): Add lstat.h.
73264         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73265         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73266         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73267         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73268         * modules/memxor (EXTRA_DIST): Add memxor.h.
73269         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73270         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73271         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73272         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73273         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73274         * modules/physmem (EXTRA_DIST): Add physmem.h.
73275         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73276         * modules/posixver (EXTRA_DIST): Add posixver.h.
73277         * modules/quote (EXTRA_DIST): Add quote.h.
73278         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73279         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73280         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73281         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73282         regex_internal.h regexec.c.
73283         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73284         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73285         * modules/same (EXTRA_DIST): Add same.h.
73286         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73287         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73288         * modules/savedir (EXTRA_DIST): Add savedir.h.
73289         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73290         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73291         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73292         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73293         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73294         * modules/strdup (EXTRA_DIST): Add strdup.h.
73295         * modules/strftime (EXTRA_DIST): Add strftime.h.
73296         * modules/strndup (EXTRA_DIST): Add strndup.h.
73297         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73298         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73299         * modules/time_r (EXTRA_DIST): Add time_r.h.
73300         * modules/timespec (EXTRA_DIST): Add timespec.h.
73301         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73302         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73303         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73304         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73305         * modules/userspec (EXTRA_DIST): Add userspec.h.
73306         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73307         * modules/utimens (EXTRA_DIST): Add utimens.h.
73308         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73309         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73310         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73311         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73312         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73313         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73314         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73315         * modules/yesno (EXTRA_DIST): Add yesno.h.
73316
73317 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73318
73319         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73320
73321         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73322         * m4/dev-ino.m4, same-inode.m4: Remove.
73323
73324         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73325         * m4/acl.m4 (AC_FUNC_ACL):
73326         * m4/backupfile.m4 (gl_BACKUPFILE):
73327         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73328         * m4/canon-host.m4 (gl_CANON_HOST):
73329         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73330         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73331         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73332         * m4/cloexec.m4 (gl_CLOEXEC):
73333         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73334         * m4/closeout.m4 (gl_CLOSEOUT):
73335         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73336         * m4/dirname.m4 (gl_DIRNAME):
73337         * m4/exclude.m4 (gl_EXCLUDE):
73338         * m4/exitfail.m4 (gl_EXITFAIL):
73339         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73340         * m4/file-type.m4 (gl_FILE_TYPE):
73341         * m4/filemode.m4 (gl_FILEMODE):
73342         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73343         * m4/fpending.m4 (gl_FUNC_FPENDING):
73344         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73345         * m4/fts.m4 (gl_FUNC_FTS):
73346         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73347         * m4/getdate.m4 (gl_GETDATE):
73348         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73349         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73350         * m4/getpass.m4 (gl_FUNC_GETPASS):
73351         * m4/gettime.m4 (gl_GETTIME):
73352         * m4/getugroups.m4 (gl_GETUGROUPS):
73353         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73354         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73355         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73356         * m4/hash.m4 (gl_HASH):
73357         * m4/idcache.m4 (gl_IDCACHE):
73358         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73359         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73360         * m4/long-options.m4 (gl_LONG_OPTIONS):
73361         * m4/lstat.m4 (gl_FUNC_LSTAT):
73362         * m4/md5.m4 (gl_MD5):
73363         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73364         * m4/memcoll.m4 (gl_MEMCOLL):
73365         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73366         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73367         * m4/memxor.m4 (gl_MEMXOR):
73368         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73369         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73370         * m4/modechange.m4 (gl_MODECHANGE):
73371         * m4/mountlist.m4 (gl_MOUNTLIST):
73372         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73373         * m4/openat.m4 (gl_FUNC_OPENAT):
73374         * m4/pathmax.m4 (gl_PATHMAX):
73375         * m4/physmem.m4 (gl_PHYSMEM):
73376         * m4/posixtm.m4 (gl_POSIXTM):
73377         * m4/posixver.m4 (gl_POSIXVER):
73378         * m4/quote.m4 (gl_QUOTE):
73379         * m4/quotearg.m4 (gl_QUOTEARG):
73380         * m4/readtokens.m4 (gl_READTOKENS):
73381         * m4/readutmp.m4 (gl_READUTMP):
73382         * m4/regex.m4 (gl_REGEX):
73383         * m4/safe-read.m4 (gl_SAFE_READ):
73384         * m4/safe-write.m4 (gl_SAFE_WRITE):
73385         * m4/same.m4 (gl_SAME):
73386         * m4/save-cwd.m4 (gl_SAVE_CWD):
73387         * m4/savedir.m4 (gl_SAVEDIR):
73388         * m4/settime.m4 (gl_SETTIME):
73389         * m4/sha1.m4 (gl_SHA1):
73390         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73391         * m4/stat-macros.m4 (gl_STAT_MACROS):
73392         * m4/stat-time.m4 (gl_STAT_TIME):
73393         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73394         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73395         * m4/strdup.m4 (gl_FUNC_STRDUP):
73396         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73397         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73398         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73399         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73400         * m4/time_r.m4 (gl_TIME_R):
73401         * m4/timespec.m4 (gl_TIMESPEC):
73402         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73403         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73404         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73405         * m4/userspec.m4 (gl_USERSPEC):
73406         * m4/utimecmp.m4 (gl_UTIMECMP):
73407         * m4/utimens.m4 (gl_UTIMENS):
73408         * m4/xalloc.m4 (gl_XALLOC):
73409         * m4/xgetcwd.m4 (gl_XGETCWD):
73410         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73411         * m4/xreadlink.m4 (gl_XREADLINK):
73412         * m4/xstrtod.m4 (gl_XSTRTOD):
73413         * m4/yesno.m4 (gl_YESNO):
73414         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73415         to get the necessary .h files and whatnot.
73416
73417 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73418             Bruno Haible  <bruno@clisp.org>
73419
73420         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73421         /bin/sh understanding of '!' conditional negation.
73422
73423 2006-08-21  Jim Meyering  <jim@meyering.net>
73424
73425         * modules/openat (Depends-on): Really alphabetize.
73426
73427         * modules/acl (Depends-on): Add error and quote.
73428
73429         * check-module (find_included_lib_files): Add at-func.c to the
73430         ok-to-include-more-than-once white list.
73431
73432         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73433
73434 2006-08-21  Bruno Haible  <bruno@clisp.org>
73435
73436         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73437         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73438         Reported by Martin Lambers <marlam@marlam.de>.
73439
73440 2006-08-21  Bruno Haible  <bruno@clisp.org>
73441
73442         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73443         specify an installation location, don't emit a noinst_LIBRARIES or
73444         noinst_LTLIBRARIES assignment.
73445
73446 2006-08-21  Bruno Haible  <bruno@clisp.org>
73447
73448         BeOS portability.
73449         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73450         BeOS has mbrtowc() but no <wctype.h>.
73451
73452 2006-08-21  Bruno Haible  <bruno@clisp.org>
73453
73454         BeOS portability.
73455         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73456         exist.
73457
73458 2006-08-21  Bruno Haible  <bruno@clisp.org>
73459
73460         BeOS portability.
73461         * lib/mbchar.h: Include <wctype.h> only if it exists.
73462
73463 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73464
73465         Remove files that are no longer needed by their respective modules.
73466         * m4/obstack.m4: Remove.
73467         * m4/strerror_r.m4: Remove.
73468         * m4/uint32_t.m4: Remove.
73469         * m4/uintptr_t.m4: Remove.
73470         * m4/ullong_max.m4: Remove.
73471         * m4/xstrtoimax.m4: Remove.
73472         * m4/xstrtoumax.m4: Remove.
73473
73474         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73475         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73476         dependencies now capture this.
73477
73478         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73479         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73480         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73481         * m4/human.m4 (gl_HUMAN): Likewise.
73482         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73483         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73484
73485         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73486
73487         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73488         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73489         stdint.
73490         * m4/human.m4 (gl_HUMAN): Likewise.
73491         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73492         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73493         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73494         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73495         * m4/xstrtol (gl_XSTRTOL): Likewise.
73496
73497         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73498         AC_TYPE_LONG_LONG_INT.
73499         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73500         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73501         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73502         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73503
73504         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73505         on stdbool.
73506
73507         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73508         (gl_PREREQ_XSTRTOUL): Remove.
73509
73510         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73511
73512         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73513         mode.
73514
73515 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73516
73517         Add and change modules to make it easier for coreutils to use
73518         gnulib-tool.
73519         * modules/backupfile (Files): Remove m4/d-ino.m4.
73520         (Depends-on): Add d-ino.
73521         * modules/cycle-check (Depends-on): Add stdint.
73522         (lib_SOURCES): Add cycle-check.h.
73523         * modules/d-ino: New module.
73524         * modules/d-type: New module.
73525         * modules/error (Files): Remove m4/strerror_r.m4.
73526         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73527         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73528         m4/inttypes_h.m4, m4/uintmax_t.m4.
73529         (Depends-on): Add stdint.
73530         (lib_SOURCES): Add fsusage.h.
73531         * modules/getcwd (Files): Remove d-ino.m4.
73532         (Depends-on): Add d-ino.
73533         * modules/getndelim2 (Depends-on): Add stdint.
73534         * modules/glob (Files): Remove m4/d-type.m4.
73535         (Depends-on): Add d-type.
73536         * modules/host-os: New module.
73537         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73538         m4/inttypes_h.m4, m4/uintmax_t.m4.
73539         * Depends-on: Add stdint.
73540         (lib_SOURCES): Add human.h.
73541         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73542         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73543         m4/uintmax_t.m4, m4/ulonglong.m4.
73544         (Depends-on): Add stdint.
73545         (EXTRA_DIST): Add inttostr.h.
73546         * modules/lchmod: New module.
73547         * modules/link-follow: New module.
73548         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73549         (Depends-on): Add lchmod.
73550         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73551         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73552         (Depends-on): Add stdint.
73553         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73554         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73555         (Depends-on): Add stdint.
73556         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73557         * modules/perl: New module.
73558         * modules/regex (Depends-on): Add stdint.
73559         * modules/rmdir-errno: New module.
73560         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73561         m4/intmax_t.m4.
73562         (Depends-on): Add stdint.
73563         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73564         m4/uintmax_t.m4.
73565         (Depends-on): Add stdint.
73566         * modules/unlink-busy: New module.
73567         * modules/utimecmp (Depends-on): Add stdint.
73568         * modules/uptime: New module.
73569         * modules/winsz-ioctl: New module.
73570         * modules/winsz-termios: New module.
73571         * modules/xnanosleep (Depends-on): Add nanosleep.
73572         * modules/ullong_max: Remove.
73573         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73574         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73575         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73576         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73577         (Depends-on): Add inttypes.
73578         (lib_SOURCES): Add xstrtol.h.
73579         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73580         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73581         * MODULES.html.sh: Move 'assert' into the assert section.
73582         Move 'dummy' into the linking section.
73583         Remove ullong_max.
73584         Add section for compatibility checks for POSIX:2001 functions,
73585         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73586         winsz-ioctl, and winsz-termios into it.
73587         Add lchmod.
73588         Add top-level Misc section and put host-os, perl, and uptime
73589         into it.
73590
73591 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73592
73593         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73594         now assume the stdint module.  Do not include inttypes.h.
73595         * lib/fsusage.h: Likewise.
73596         * lib/getndelim2.c: Likewise.
73597         * lib/human.h: Likewise.
73598         * lib/inttostr.h: Likewise.
73599         * lib/obstack.c: Likewise.
73600         * lib/regex_internal.h: Likewise.
73601         * lib/tempname.c: Likewise.
73602         * lib/utimecmp.c: Likewise.
73603         * lib/xstrtol.h: Likewise.
73604
73605         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73606
73607         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73608         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73609         * lib/xtime.h: Likewise.
73610
73611 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73612
73613         * modules/openat (Files): Add lib/fchmodat.c.
73614         Fixes problem reported by Jay Youngman.
73615
73616 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73617
73618         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73619         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73620
73621 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73622             Bruno Haible  <bruno@clisp.org>
73623
73624         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73625         and is a script that invokes bison. Tighten the code. Add comments.
73626
73627 2006-08-18  Jim Meyering  <jim@meyering.net>
73628
73629         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73630         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73631         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73632         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73633
73634 2006-08-18  Bruno Haible  <bruno@clisp.org>
73635
73636         * modules/bison-i18n: New file.
73637         * MODULES.html.sh (Internationalization functions): Add it.
73638
73639 2006-08-18  Bruno Haible  <bruno@clisp.org>
73640
73641         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73642         sys/statvfs.h. When getmntinfo was found, check its declaration and
73643         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73644
73645 2006-08-18  Bruno Haible  <bruno@clisp.org>
73646
73647         * m4/bison-i18n.m4: New file, from bison.
73648
73649 2006-08-18  Bruno Haible  <bruno@clisp.org>
73650
73651         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73652         (ME_DUMMY): Treat "kernfs" as a dummy.
73653         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73654
73655 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73656
73657         Update from coreutils.
73658
73659         2006-08-15  Jim Meyering  <jim@meyering.net>
73660
73661         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73662
73663         2006-01-17  Jim Meyering  <jim@meyering.net>
73664
73665         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73666
73667         2006-01-11  Jim Meyering  <jim@meyering.net>
73668
73669         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73670         Check for the lchmod function.
73671
73672 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73673
73674         Update from coreutils.
73675
73676         * lib/__fpending.h: Add copyright notice.
73677         * lib/fprintftime.h: Likewise.
73678         * lib/savedir.c: Use (C) in copyright notice.
73679         * lib/savedir.h: Likewise.
73680
73681         2006-08-15  Jim Meyering  <jim@meyering.net>
73682
73683         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73684         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73685         in support of the EXPECTED_ERRNO macro.
73686         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73687         definitions.  Instead, define the appropriate symbols and include
73688         "at-func.c".
73689         * lib/mkdirat.c (mkdirat): Likewise.
73690         * lib/fchmodat.c (fchmodat): Likewise.
73691         (ENOSYS): Remove definition.
73692         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73693         it.  Don't include "unistd--.h" -- it wasn't ever used.
73694
73695         2006-01-17  Jim Meyering  <jim@meyering.net>
73696
73697         Rewrite fts.c not to change the current working directory,
73698         by using openat, fstatat, fdopendir, etc..
73699
73700         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73701         (HAVE_OPENAT_SUPPORT): Define.
73702         [_LIBC] (fchdir): Don't undef or define; no longer used.
73703         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73704         Now, this `function' always succeeds, and consumes its file descriptor
73705         parameter -- so callers must not close such FDs.  Update callers.
73706         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73707         (diropen): Add parameter, SP.  Adjust all callers.
73708         Implement using diropen_fd, rather than open.
73709         (fts_open): Initialize new member, fts_cwd_fd.
73710         Remove fts_rft-setting code.
73711         (fts_close): Close fts_cwd_fd, if necessary.
73712         (__opendir2): Define in terms of opendir or opendirat,
73713         depending on whether the FST_NOCHDIR flag is set.
73714         (fts_build): Since fts_safe_changedir consumes its FD, and since
73715         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73716         and close the dup'd file descriptor upon failure.
73717         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73718         (fts_safe_changedir): Tweak semantics to reflect that this function
73719         now calls cwd_advance_fd and hence consumes its FD argument.
73720         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73721         [struct FTS] (fts_rft): Remove now-unused member.
73722         [struct FTS] (fts_cycle.state): Improve comment.
73723
73724         * lib/openat.c (openat_needs_fchdir): New function.
73725         * lib/openat.h (openat_needs_fchdir): Declare it.
73726
73727 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73728
73729         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73730         Problem and fix reported by Pádraig Brady in
73731         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73732
73733 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73734
73735         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73736
73737 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73738
73739         * lib/memcoll.c (memcoll): Optimize for the common case where the
73740         arguments are bytewise equal.
73741
73742 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73743
73744         * doc/regexprops-generic.texi: Add a copyright notice.
73745
73746 2006-08-15  Bruno Haible  <bruno@clisp.org>
73747
73748         * modules/tmpdir (License): Change to LGPL.
73749
73750 2006-08-15  Bruno Haible  <bruno@clisp.org>
73751
73752         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73753         module.
73754
73755 2006-08-14  Simon Josefsson  <jas@extundo.com>
73756
73757         * config/srclist.txt: Add gnupload.
73758
73759 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73760
73761         Change copyright notice from LGPL 2 to GPL 2, since that's the
73762         standard form used in the gnulib repository.
73763         * tests/test-lock.c: Likewise.
73764         * tests/test-stdint.c: Likewise.
73765         * tests/test-tls.c: Likewise.
73766
73767         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73768         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73769         Add copyright notice.
73770
73771         * check-module: Add copyright notice.  Output a copyright
73772         notice if "--version" is specified.
73773         * modules/COPYING: New file.
73774         * tests/test-getaddrinfo.c: Add copyright notice.
73775         * tests/test-verify.c: Likewise.
73776
73777 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73778
73779         Change copyright notice from LGPL 2 to GPL 2, since that's the
73780         standard form used in the gnulib repository.
73781         * lib/lock.c: LGPL -> GPL.
73782         * lib/lock.h: Likewise.
73783         * lib/strnlen1.c: Likewise.
73784         * lib/strnlen1.h: Likewise.
73785         * lib/tls.c: Likewise.
73786         * lib/tls.h: Likewise.
73787         * lib/tmpdir.c: Likewise.
73788
73789         * lib/TODO: Remove; this belongs only in coreutils.
73790
73791 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73792
73793         Add copyright notices to long-enough files that lack them, since
73794         otherwise the files aren't clearly free.  Use the same notice that
73795         getdate.texi already uses.
73796         * doc/alloca-opt.texi: Add copyright notice.
73797         * doc/alloca.texi: Likewise.
73798         * doc/ctime.texi: Likewise.
73799         * doc/functions.texi: Likewise.
73800         * doc/gcd.texi: Likewise.
73801         * doc/gnulib-tool.texi: Likewise.
73802         * doc/inet_ntoa.texi: Likewise.
73803         * doc/visibility.texi: Likewise.
73804
73805         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
73806         * doc/quote.texi: Add copyright notice.
73807
73808         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
73809         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
73810         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
73811         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73812         is now obsolete, and give a pointer to the Sun list.
73813         Add copyright notice.
73814
73815 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73816
73817         * config/srclistvars.sh: Add copyright notice.
73818
73819 2006-08-14  Eric Blake  <ebb9@byu.net>
73820
73821         Import the following change from libc:
73822
73823         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73824
73825         Upstream bug 2997.
73826         * lib/misc/error.c: Add space between program name and message if file
73827         name is missing.
73828
73829 2006-08-12  Karl Berry  <karl@gnu.org>
73830
73831         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73832         remove, these originate in gnulib now.
73833
73834 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73835
73836         * doc/Makefile (standards.info standards.html standards.dvi):
73837         Also depend on make-stds.texi.
73838
73839 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73840
73841         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73842         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73843
73844         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73845         in wchar_t.  Problem reported by Eric Blake.
73846
73847         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73848         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73849         Also, help the compiler to keep LEN in a register.
73850
73851 2006-08-11  Eric Blake  <ebb9@byu.net>
73852
73853         * users.txt: Sort.  Add tar.
73854
73855 2006-08-11  Bruno Haible  <bruno@clisp.org>
73856
73857         * users.txt: New file.
73858
73859 2006-08-11  Bruno Haible  <bruno@clisp.org>
73860
73861         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73862         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73863
73864 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73865
73866         * modules/snprintf (Depends-on): Remove minmax.
73867         (Maintainer): Add self and Bruno.
73868
73869 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73870
73871         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73872         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73873         (EOVERFLOW): Define if the system does not.
73874         Do not include "minmax.h"; it wasn't used.
73875         (snprintf): Don't assume size_t promotes to an unsigned type.
73876         Fix bug when generated string was too long for the buffer: the
73877         buffer's contents are supposed to be the initial prefix of the
73878         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73879         exceeds INT_MAX; do the check ourselves.
73880
73881         Import the following changes from libc:
73882
73883         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73884
73885         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73886         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73887         set wc to the byte which couldn't be converted.
73888         (re_string_reconstruct): Don't clear valid_raw_len before calling
73889         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73890         tip_context using re_string_context_at.
73891
73892         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73893
73894         * lib/posix/regex.h: g++ still cannot handled [restrict].
73895
73896         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73897
73898         * lib/posix/regex.h: Remove special handling for VMS.
73899
73900 2006-08-10  Jim Meyering  <jim@meyering.net>
73901
73902         * modules/same-inode: New module.
73903         * modules/dev-ino: New module.
73904         * modules/cycle-check: Depend on these modules, rather than simply
73905         including their .h files.
73906         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73907         required via m4/cycle-check.m4.
73908         * modules/same: Depend on new same-inode module, rather than
73909         including same-inode.h.
73910         * modules/chdir-safer: New file.
73911
73912         * modules/chown (Depends-on): Add stat-macros.
73913
73914 2006-08-10  Jim Meyering  <jim@meyering.net>
73915
73916         * m4/cycle-check.m4: New file.
73917         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
73918         * m4/dev-ino.m4, m4/same-inode.m4: New files.
73919
73920 2006-08-10  Eric Blake  <ebb9@byu.net>
73921
73922         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
73923         in from original proposal.
73924
73925 2006-08-10  Eric Blake  <ebb9@byu.net>
73926         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73927
73928         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
73929         namespace.
73930
73931 2006-08-10  Bruno Haible  <bruno@clisp.org>
73932
73933         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
73934         as well.
73935
73936 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73937
73938         Sync from coreutils.
73939
73940         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
73941
73942         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
73943         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
73944
73945 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73946
73947         * modules/restrict: Remove; no longer needed now that we assume
73948         Autoconf 2.59 or later.
73949         * MODULES.html.sh: Remove 'restrict'.
73950         * modules/argp (Depends-on): Remove 'restrict'.
73951         * modules/base64 (Depends-on): Likewise.
73952         * modules/gc (Depends-on): Likewise.
73953         * modules/getaddrinfo (Depends-on): Likewise.
73954         * modules/glob (Depends-on): Likewise.
73955         * modules/inet_ntop (Depends-on): Likewise.
73956         * modules/inet_pton (Depends-on): Likewise.
73957         * modules/memxor (Depends-on): Likewise.
73958         * modules/regex (Depends-on): Likewise.
73959         * modules/strtok_r (Depends-on): Likewise.
73960         * modules/time_r (Depends-on): Likewise.
73961
73962 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73963
73964         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
73965         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
73966         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73967         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
73968         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
73969         * m4/memxor.m4 (gl_MEMXOR): Likewise.
73970         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
73971         gl_C_RESTRICT replaced by AC_C_RESTRICT.
73972
73973         Merge from coreutils.
73974         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
73975         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
73976         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73977         * m4/time_r.m4 (gl_TIME_R): Likewise.
73978
73979 2006-08-09  Karl Berry  <karl@gnu.org>
73980
73981         * config/srclist.txt: no more gettext-tools, per Bruno.
73982
73983 2006-08-08  Eric Blake  <ebb9@byu.net>
73984
73985         * modules/verror: New module.
73986         * MODULES.html.sh: Document it.
73987
73988 2006-08-08  Eric Blake  <ebb9@byu.net>
73989
73990         * lib/verror.h, lib/verror.c: New files.
73991
73992 2006-08-08  Eric Blake  <ebb9@byu.net>
73993
73994         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
73995         verror_at_line output complies with GNU Coding Standards even when
73996         file is NULL.
73997
73998 2006-08-07  Bruno Haible  <bruno@clisp.org>
73999
74000         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74001         versions of AIX.
74002         Reported by Ralf Wildenhues.
74003
74004 2006-08-07  Bruno Haible  <bruno@clisp.org>
74005
74006         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74007         in an AC_DEFUN. Needed so that the autoconf snippets can use
74008         AC_REQUIRE.
74009
74010 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74011
74012         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74013         Initialize pkgdata_DATA.
74014         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74015         overriding it.
74016
74017 2006-08-06  Eric Blake  <ebb9@byu.net>
74018
74019         * lib/error.h: Fold in some upstream changes from glibc.
74020         * lib/error.c: Likewise.
74021
74022 2006-08-04  Bruno Haible  <bruno@clisp.org>
74023
74024         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74025         Make the mostlyclean-local rule depend on mostlyclean-generic.
74026         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74027
74028 2006-07-31  Bruno Haible  <bruno@clisp.org>
74029
74030         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74031         <stdlib.h>, <string.h>.
74032
74033 2006-07-30  Bruno Haible  <bruno@clisp.org>
74034
74035         * modules/readlink (License): Change to LGPL.
74036
74037 2006-07-30  Bruno Haible  <bruno@clisp.org>
74038
74039         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74040         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74041         set PKGDATADIR to point to it.
74042
74043 2006-07-30  Bruno Haible  <bruno@clisp.org>
74044
74045         * modules/csharpexec (configure.ac): Comment out macro invocation.
74046         * modules/javaexec (configure.ac): Likewise.
74047         * modules/javacomp-script (configure.ac): Likewise.
74048
74049         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74050
74051 2006-07-30  Bruno Haible  <bruno@clisp.org>
74052
74053         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74054         linked-list.
74055
74056 2006-07-30  Bruno Haible  <bruno@clisp.org>
74057
74058         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74059
74060 2006-07-30  Bruno Haible  <bruno@clisp.org>
74061
74062         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74063         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74064         get removed.
74065
74066 2006-07-29  Bruno Haible  <bruno@clisp.org>
74067
74068         Make it possible for gnulib-tool to work with locally modified or
74069         augmented gnulib repositories.
74070         * gnulib-tool (func_usage): Document --local-dir option.
74071         (local_gnulib_dir): New variable.
74072         Handle --local-dir option.
74073         (func_lookup_file): New function.
74074         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74075         (func_get_description, func_get_filelist, func_get_description,
74076         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74077         func_get_automake_snippet, func_get_include_directive,
74078         func_get_license, func_get_maintainer): Use func_lookup_file.
74079         (func_import, func_create_testdir): Use func_lookup_file.
74080
74081 2006-07-29  Bruno Haible  <bruno@clisp.org>
74082
74083         * modules/setenv (Depends-on): Add unistd.
74084
74085 2006-07-29  Bruno Haible  <bruno@clisp.org>
74086
74087         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74088
74089 2006-07-29  Bruno Haible  <bruno@clisp.org>
74090
74091         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74092
74093 2006-07-29  Bruno Haible  <bruno@clisp.org>
74094
74095         * gnulib-tool (import, update): If there is no Makefile.am, look at
74096         aclocal.m4, instead of bailing out.
74097
74098 2006-07-29  Bruno Haible  <bruno@clisp.org>
74099
74100         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74101         Categorize the options by when they are useful.
74102
74103 2006-07-29  Bruno Haible  <bruno@clisp.org>
74104
74105         * gnulib-tool (func_usage): Document option --no-libtool.
74106         Handle option --no-libtool.
74107         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74108         for changed semantics of $libtool variable.
74109         (func_import): Likewise. If libtool is not used, show this through
74110         an option --no-libtool.
74111         (func_create_testdir): Update.
74112
74113 2006-07-29  Bruno Haible  <bruno@clisp.org>
74114
74115         * gnulib-tool (func_import): Extend error message about missing
74116         --doc-base.
74117
74118 2006-07-29  Bruno Haible  <bruno@clisp.org>
74119
74120         * gnulib-tool (func_import): Don't create the $docbase directory if
74121         there is no file to store there.
74122
74123 2006-07-29  Bruno Haible  <bruno@clisp.org>
74124
74125         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74126         relevant, look for configure.ac there, not in the current directory.
74127         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74128
74129 2006-07-29  Bruno Haible  <bruno@clisp.org>
74130
74131         * gnulib-tool (SORT): New variable.
74132         (func_usage): Undocument --assume-autoconf option.
74133         Remove --assume-autoconf option handling.
74134         (autoconf_minversion): Determine from the contents of configure.ac.
74135         (func_import): Remove autoconf_minversion handling.
74136         Suggested by Eric Blake.
74137
74138 2006-07-29  Bruno Haible  <bruno@clisp.org>
74139
74140         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74141
74142 2006-07-29  Bruno Haible  <bruno@clisp.org>
74143
74144         * config/srclist.txt (*setenv.[ch]): Remove rules.
74145
74146 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74147
74148         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74149
74150 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74151
74152         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74153         arpa/inet.h.
74154
74155 2006-07-28  Simon Josefsson  <jas@extundo.com>
74156
74157         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74158         * modules/inet_pton (Depends-on): Likewise.
74159
74160 2006-07-28  Simon Josefsson  <jas@extundo.com>
74161
74162         * m4/netinet_in_h.m4: New file.
74163
74164 2006-07-28  Simon Josefsson  <jas@extundo.com>
74165
74166         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74167         #include's.
74168
74169 2006-07-28  Simon Josefsson  <jas@extundo.com>
74170
74171         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74172         #include's.
74173
74174 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74175
74176         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74177         setgid on directories only if they set these bits.
74178         * lib/modechange.h: Remove obsolete comment about masks.
74179
74180 2006-07-28  Eric Blake  <ebb9@byu.net>
74181
74182         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74183         macro expansion.
74184
74185 2006-07-28  Bruno Haible  <bruno@clisp.org>
74186
74187         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74188
74189 2006-07-28  Bruno Haible  <bruno@clisp.org>
74190
74191         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74192
74193 2006-07-28  Bruno Haible  <bruno@clisp.org>
74194
74195         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74196         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74197         Define fallbacks.
74198         Avoids link error on FreeBSD 4.x.
74199         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74200
74201         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74202         encoding.
74203         * lib/mbswidth.c (iswcntrl): Likewise.
74204
74205 2006-07-27  Bruno Haible  <bruno@clisp.org>
74206
74207         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74208         test.
74209
74210 2006-07-27  Bruno Haible  <bruno@clisp.org>
74211
74212         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74213         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74214         defined.
74215
74216 2006-07-26  Eric Blake  <ebb9@byu.net>
74217
74218         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74219
74220 2006-07-26  Eric Blake  <ebb9@byu.net>
74221
74222         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74223         like mingw that lack mkstemp.
74224         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74225         avoid compilation warning on mingw.
74226
74227 2006-07-26  Bruno Haible  <bruno@clisp.org>
74228
74229         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74230         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74231         INT_FAST*_MIN, INTPTR_MIN.
74232
74233 2006-07-25  Bruno Haible  <bruno@clisp.org>
74234
74235         * modules/version-etc (Depends-on): Add stdarg.
74236
74237 2006-07-25  Bruno Haible  <bruno@clisp.org>
74238
74239         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74240         complex commands.
74241
74242 2006-07-25  Bruno Haible  <bruno@clisp.org>
74243
74244         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74245         defined in <stdarg.h> or config.h.
74246
74247 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74248
74249         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74250         (gl_STDIO_SAFER): Remove.
74251
74252 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74253
74254         * MODULES.html.sh (File stream based Input/Output):
74255         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74256         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74257         * modules/fopen-safer, modules/tmpfile-safer: New files.
74258         * modules/stdio-safer: Remove.
74259
74260 2006-07-24  Bruno Haible  <bruno@clisp.org>
74261
74262         * modules/tmpdir: New file.
74263         * MODULES.html.sh (File system functions): Add it.
74264
74265 2006-07-24  Bruno Haible  <bruno@clisp.org>
74266
74267         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74268         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74269
74270 2006-07-24  Bruno Haible  <bruno@clisp.org>
74271
74272         * modules/clean-temp: New file.
74273
74274 2006-07-24  Bruno Haible  <bruno@clisp.org>
74275
74276         * m4/tmpdir.m4: New file, from GNU gettext.
74277
74278 2006-07-24  Bruno Haible  <bruno@clisp.org>
74279
74280         * lib/tmpdir.h: New file, from GNU gettext.
74281         * lib/tmpdir.c: New file, from GNU gettext.
74282
74283 2006-07-24  Bruno Haible  <bruno@clisp.org>
74284
74285         * lib/clean-temp.h: New file, from GNU gettext.
74286         * lib/clean-temp.c: New file, from GNU gettext.
74287
74288 2006-07-23  Eric Blake  <ebb9@byu.net>
74289
74290         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74291         (Depends-on): Add binary-io.
74292
74293 2006-07-23  Eric Blake  <ebb9@byu.net>
74294
74295         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74296
74297 2006-07-23  Eric Blake  <ebb9@byu.net>
74298
74299         * lib/tmpfile-safer.c: New file.
74300         * lib/stdio-safer.h (fopen_safer): Add prototype.
74301         * lib/stdio--.h (tmpfile): Make safer.
74302
74303 2006-07-23  Bruno Haible  <bruno@clisp.org>
74304
74305         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74306         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74307         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74308         gl_linked_remove_at): Use it.
74309
74310 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74311         and Simon Josefsson <jas@extundo.com>
74312
74313         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74314
74315         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74316
74317 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74318
74319         * modules/close-stream: New file.
74320         * modules/closeout (Description): Make it clear that it exits
74321         with a diagnostic on error.
74322         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74323         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74324
74325 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74326
74327         * m4/close-stream.m4: New file.
74328
74329 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74330
74331         * lib/close-stream.c, lib/close-stream.h: New files.
74332
74333 2006-07-22  Bruno Haible  <bruno@clisp.org>
74334
74335         Merge from GNU gettext 0.15.
74336
74337         2006-05-01  Bruno Haible  <bruno@clisp.org>
74338
74339                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74340
74341         2006-07-22  Bruno Haible  <bruno@clisp.org>
74342
74343                 * modules/javaversion: New file.
74344                 * MODULES.html.sh (Java): Add javaversion.
74345
74346         2006-03-12  Bruno Haible  <bruno@clisp.org>
74347
74348                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74349
74350         2005-12-04  Bruno Haible  <bruno@clisp.org>
74351
74352                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74353                 (untested).
74354
74355         2006-06-21  Bruno Haible  <bruno@clisp.org>
74356
74357                 Avoid warnings from recent versions of mcs.
74358                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74359                 -o, -L, -r any more. Use options documented since mcs-1.0
74360                 instead. Similarly for -g.
74361
74362         2005-12-04  Bruno Haible  <bruno@clisp.org>
74363
74364                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74365                 .resources, not .resource.
74366
74367         2005-07-09  Bruno Haible  <bruno@clisp.org>
74368
74369                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74370                 add a .dll suffix.
74371                 Reported by Mark Junker <mjscod@gmx.de>.
74372
74373         2006-07-22  Bruno Haible  <bruno@clisp.org>
74374
74375                 * modules/gettext: Upgrade to gettext-0.15.
74376                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74377                 m4/visibility.m4.
74378                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74379
74380 2006-07-22  Bruno Haible  <bruno@clisp.org>
74381
74382         Merge from GNU gettext 0.15.
74383
74384         2006-03-25  Bruno Haible  <bruno@clisp.org>
74385
74386                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74387
74388         2006-07-21  Bruno Haible  <bruno@clisp.org>
74389
74390                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74391                 "1.1".
74392
74393         2006-05-09  Bruno Haible  <bruno@clisp.org>
74394
74395                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74396                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74397                 for the conftestver execution.
74398
74399         2006-05-01  Bruno Haible  <bruno@clisp.org>
74400
74401                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74402                 optional target-version argument. Verify that the compiler
74403                 groks source of the specified source-version, or add -source
74404                 option as necessary. Verify that the compiler produces
74405                 bytecode in the specified target-version, or add -target and
74406                 -source options as necessary. Make the result of the test
74407                 available as variable CONF_JAVAC. Also log error output in
74408                 config.log.
74409
74410         2006-03-11  Bruno Haible  <bruno@clisp.org>
74411
74412                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74413
74414         2006-05-09  Bruno Haible  <bruno@clisp.org>
74415
74416                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74417                 CLASSPATH_SEPARATOR to a semicolon.
74418
74419         2006-03-12  Bruno Haible  <bruno@clisp.org>
74420
74421                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74422                 available as variable CONF_JAVA, for subsequent autoconf
74423                 tests. Also log error output in config.log.
74424
74425         2006-07-19  Bruno Haible  <bruno@clisp.org>
74426
74427                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74428                 that getline works on glibc2 systems. Needed to avoid trouble
74429                 in relocatable.c.
74430                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74431
74432         2005-12-04  Bruno Haible  <bruno@clisp.org>
74433
74434                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74435                 launcher (untested).
74436
74437         2005-12-04  Bruno Haible  <bruno@clisp.org>
74438
74439                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74440
74441         2006-07-22  Bruno Haible  <bruno@clisp.org>
74442
74443                 * gettext.m4: Update from GNU gettext-0.15.
74444                 * nls.m4: Likewise.
74445                 * po.m4: Likewise.
74446                 * inttypes-pri.m4: Likewise.
74447                 * inttypes-h.m4: Renamed from inttypes.m4.
74448                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74449
74450 2006-07-22  Bruno Haible  <bruno@clisp.org>
74451
74452         Merge from GNU gettext 0.15.
74453
74454         2005-07-05  Bruno Haible  <bruno@clisp.org>
74455
74456                 * printf-args.c (printf_fetchargs): Work around broken
74457                 definition of wint_t on mingw.
74458
74459         2005-02-12  Bruno Haible  <bruno@clisp.org>
74460
74461                 * xallocsa.h: Add extern "C" for C++.
74462
74463         2006-05-17  Bruno Haible  <bruno@clisp.org>
74464
74465                 Cygwin portability.
74466                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74467
74468         2006-04-30  Bruno Haible  <bruno@clisp.org>
74469
74470                 * progreloc.c: Include <mach-o/dyld.h> if available.
74471                 (find_executable): Use _NSGetExecutablePath when possible.
74472
74473         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74474
74475                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74476                 function.
74477
74478         2005-12-29  Bruno Haible  <bruno@clisp.org>
74479
74480                 * progreloc.c (set_program_name_and_installdir): Fix
74481                 compilation error.
74482
74483         2005-12-04  Bruno Haible  <bruno@clisp.org>
74484
74485                 Cygwin portability.
74486                 * progreloc.c: Include <windows.h> also on Cygwin.
74487                 (find_executable): Add support for Cygwin.
74488                 (set_program_name_and_installdir): Handle also platforms with
74489                 nonempty EXEEXT.
74490
74491         2006-07-11  Bruno Haible  <bruno@clisp.org>
74492
74493                 * javacomp.c: Fix a comment.
74494                 Reported by Jim Meyering.
74495
74496         2006-04-30  Bruno Haible  <bruno@clisp.org>
74497
74498                 * javacomp.h (compile_java_class): Add source_version,
74499                 target_version arguments.
74500                 * javacomp.c: Rewritten to choose only a compiler that
74501                 respects the specified source_version and target_version.
74502
74503         2006-06-27  Bruno Haible  <bruno@clisp.org>
74504
74505                 Assume correct S_ISDIR macro.
74506                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74507
74508         2006-07-22  Bruno Haible  <bruno@clisp.org>
74509
74510                 * javaversion.h: New file, from GNU gettext.
74511                 * javaversion.c: New file, from GNU gettext.
74512                 * javaversion.java: New file, from GNU gettext.
74513                 * javaversion.class: New file, from GNU gettext.
74514
74515         2006-05-17  Bruno Haible  <bruno@clisp.org>
74516
74517                 Cygwin portability.
74518                 * javaexec.c (execute_java_class): Test for jview program
74519                 also on Cygwin.
74520
74521         2006-04-09  Bruno Haible  <bruno@clisp.org>
74522
74523                 * fatal-signal.c: Don't include string.h.
74524                 (at_fatal_signal): Use a copying loop instead of memcpy.
74525
74526         2005-12-04  Bruno Haible  <bruno@clisp.org>
74527
74528                 * csharpexec.c: Add support for 'clix' launcher (untested).
74529                 (execute_csharp_using_sscli): New function.
74530                 (execute_csharp_program): Call it.
74531
74532         2006-06-21  Bruno Haible  <bruno@clisp.org>
74533
74534                 Avoid warnings from recent versions of mcs.
74535                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74536                 -o, -L, -r any more. Use options documented since mcs-1.0
74537                 instead. Similarly for -g.
74538
74539         2005-07-09  Bruno Haible  <bruno@clisp.org>
74540
74541                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74542                 add a .dll suffix.
74543                 Reported by Mark Junker <mjscod@gmx.de>.
74544
74545         2006-06-17  Bruno Haible  <bruno@clisp.org>
74546
74547                 * config.charset: Update for NetBSD 3.0.
74548
74549         2006-05-17  Bruno Haible  <bruno@clisp.org>
74550
74551                 Cygwin portability.
74552                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74553
74554         2006-05-16  Bruno Haible  <bruno@clisp.org>
74555
74556                 * localcharset.c [CYGWIN]: Include <windows.h>.
74557                 (get_charset_aliases): For Cygwin, return the same CPxxx
74558                 aliases list as under WIN32.
74559                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74560                 the environment variables. Fall back to GetACP().
74561
74562         2006-04-05  Bruno Haible  <bruno@clisp.org>
74563
74564                 * config.charset: Update Juan Manuel Guerrero's address.
74565
74566         2005-02-12  Bruno Haible  <bruno@clisp.org>
74567
74568                 * allocsa.h: Add extern "C" for C++.
74569
74570         2005-02-10  Bruno Haible  <bruno@clisp.org>
74571
74572                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74573                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74574
74575         2006-07-22  Bruno Haible  <bruno@clisp.org>
74576
74577                 * gettext.h: Update to GNU gettext-0.15.
74578
74579 2006-07-22  Bruno Haible  <bruno@clisp.org>
74580
74581         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74582         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74583         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74584
74585 2006-07-21  Eric Blake  <ebb9@byu.net>
74586
74587         * modules/stdlib-safer: New file.
74588         * MODULES.html.sh (File stream based Input/Output): Add
74589         stdlib-safer.
74590
74591 2006-07-21  Eric Blake  <ebb9@byu.net>
74592
74593         * lib/stdlib-safer.h: New file from coreutils, required by
74594         stdlib--.h.
74595
74596 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74597
74598         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74599
74600 2006-07-20  Bruno Haible  <bruno@clisp.org>
74601
74602         * gnulib-tool: Recognize new option --assume-autoconf.
74603         (autoconf_minversion): New variable.
74604         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74605
74606 2006-07-20  Bruno Haible  <bruno@clisp.org>
74607
74608         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74609
74610 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74611
74612         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74613         Reindent and repaginate.
74614
74615 2006-07-19  Derek Price  <derek@ximbiot.com>
74616
74617         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74618         Correct grammar.
74619
74620 2006-07-17  Bruno Haible  <bruno@clisp.org>
74621
74622         * modules/list: New file.
74623         * modules/array-list: New file.
74624         * modules/carray-list, modules/carray-list-tests: New files.
74625         * modules/linked-list, modules/linked-list-tests: New files.
74626         * modules/avltree-list, modules/avltree-list-tests: New files.
74627         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74628         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74629         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74630         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74631         * modules/oset: New file.
74632         * modules/array-oset: New file.
74633         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74634         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74635         * tests/test-carray_list.c: New file.
74636         * tests/test-linked_list.c: New file.
74637         * tests/test-avltree_list.c: New file.
74638         * tests/test-rbtree_list.c: New file.
74639         * tests/test-linkedhash_list.c: New file.
74640         * tests/test-avltreehash_list.c: New file.
74641         * tests/test-rbtreehash_list.c: New file.
74642         * tests/test-avltree_oset.c: New file.
74643         * tests/test-rbtree_oset.c: New file.
74644         * MODULES.html.sh (Container data structures): New section.
74645
74646 2006-07-17  Bruno Haible  <bruno@clisp.org>
74647
74648         * m4/gl_list.m4: New file.
74649
74650 2006-07-17  Bruno Haible  <bruno@clisp.org>
74651
74652         * lib/gl_list.h: New file.
74653         * lib/gl_list.c: New file.
74654         * lib/gl_array_list.h: New file.
74655         * lib/gl_array_list.c: New file.
74656         * lib/gl_carray_list.h: New file.
74657         * lib/gl_carray_list.c: New file.
74658         * lib/gl_linked_list.h: New file.
74659         * lib/gl_linked_list.c: New file.
74660         * lib/gl_anylinked_list1.h: New file.
74661         * lib/gl_anylinked_list2.h: New file.
74662         * lib/gl_avltree_list.h: New file.
74663         * lib/gl_avltree_list.c: New file.
74664         * lib/gl_anyavltree_list1.h: New file.
74665         * lib/gl_anyavltree_list2.h: New file.
74666         * lib/gl_rbtree_list.h: New file.
74667         * lib/gl_rbtree_list.c: New file.
74668         * lib/gl_anyrbtree_list1.h: New file.
74669         * lib/gl_anyrbtree_list2.h: New file.
74670         * lib/gl_anytree_list1.h: New file.
74671         * lib/gl_anytree_list2.h: New file.
74672         * lib/gl_linkedhash_list.h: New file.
74673         * lib/gl_linkedhash_list.c: New file.
74674         * lib/gl_anyhash_list1.h: New file.
74675         * lib/gl_anyhash_list2.h: New file.
74676         * lib/gl_avltreehash_list.h: New file.
74677         * lib/gl_avltreehash_list.c: New file.
74678         * lib/gl_rbtreehash_list.h: New file.
74679         * lib/gl_rbtreehash_list.c: New file.
74680         * lib/gl_anytreehash_list1.h: New file.
74681         * lib/gl_anytreehash_list2.h: New file.
74682
74683         * lib/gl_oset.h: New file.
74684         * lib/gl_oset.c: New file.
74685         * lib/gl_array_oset.h: New file.
74686         * lib/gl_array_oset.c: New file.
74687         * lib/gl_avltree_oset.h: New file.
74688         * lib/gl_avltree_oset.c: New file.
74689         * lib/gl_rbtree_oset.h: New file.
74690         * lib/gl_rbtree_oset.c: New file.
74691         * lib/gl_anytree_oset.h: New file.
74692
74693 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74694
74695         * m4/mkancesdirs.m4: New file.
74696         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74697         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74698         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74699         it.
74700
74701 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74702
74703         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74704         * lib/mkancesdirs.h: New files.
74705         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74706         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74707         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74708         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74709         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74710         callers changed.  Revamp internals significantly, by not
74711         attempting to create directories that are temporarily more
74712         permissive than the final results.  Do not attempt to use
74713         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74714         This removes some race conditions, fixes some bugs, and simplifies
74715         things.  Use new dirchownmod function to do owner and mode changes.
74716         * lib/mkdir-p.h: Likewise.
74717         * lib/modechange.c (octal_to_mode): New function.
74718         (struct mode_change): New member mentioned.
74719         (make_node_op_equals): New arg mentioned.  All callers changed.
74720         (mode_compile): Keep track of which mode bits the user has explicitly
74721         mentioned.
74722         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74723         New arg PMODE_BITS, to keep track of which mode bits the user
74724         mentioned; it treats S_ISUID and S_ISGID speciall.
74725         All callers changed.
74726         * lib/modechange.h: Likewise.
74727
74728 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74729
74730         * MODULES.html.sh: Add mkancestors.
74731         * modules/mkancesdirs: New module.
74732         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74733         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74734         The chdir-safer and afs files are now orphans; I'll remove them
74735         unless someone speaks up.
74736         Add lib/dirchownmod.c, lib/dirchownmod.h.
74737         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74738         Add lchown, mkancesdirs.
74739         (Maintainer): Add self.
74740
74741 2006-07-15  Karl Berry  <karl@gnu.org>
74742
74743         * gnulib-tool: help message wording/arrangement.
74744
74745 2006-07-14  Simon Josefsson  <jas@extundo.com>
74746
74747         * doc/gnulib.texi (Libtool and Windows): New section.
74748
74749 2006-07-12  Simon Josefsson  <jas@extundo.com>
74750
74751         * modules/gendocs (License): Fix license, approved by Karl.
74752
74753 2006-07-12  Eric Blake  <ebb9@byu.net>
74754
74755         * MODULES.html.sh: Add gendocs.
74756
74757 2006-07-11  Eric Blake  <ebb9@byu.net>
74758
74759         * modules/fdl: New module, to install doc/fdl.texi.
74760         * MODULES.html.sh: Add new section for documentation modules.
74761         * gnulib-tool: Avoid space-tab.
74762         (--doc-base): New option, to manage files from doc.
74763
74764 2006-07-11  Eric Blake  <ebb9@byu.net>
74765
74766         * m4/absolute-header.m4: Fix comments to match recent change.
74767
74768 2006-07-11  Eric Blake  <ebb9@byu.net>
74769
74770         * gnulib-tool: List --doc-base before --tests-base.
74771
74772 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74773
74774         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74775
74776 2006-07-11  Bruno Haible  <bruno@clisp.org>
74777
74778         * README: Mention where to put documentation.
74779
74780 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74781
74782         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74783
74784 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74785
74786         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74787         to stdint.m4.
74788
74789 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74790
74791         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74792         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74793         "no/such/file/stdint.h" when there is no such file, so that
74794         the resulting C code can be parsed by dodgy compilers.
74795         Problems reported by Bob Proulx.
74796
74797 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74798
74799         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
74800         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74801         macros into the GNU _D_EXACT_NAMLEN.
74802         * lib/savedir.c:  Likewise.
74803         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
74804
74805 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74806         and Paul Eggert  <eggert@cs.ucla.edu>
74807
74808         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
74809         * m4/savedir.m4:
74810         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74811         macros into the GNU _D_EXACT_NAMLEN.
74812
74813 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74814
74815         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74816         around the absolute name, to work around a problem with the HP-UX
74817         11.23 native C compiler, reported by Bob Proulx.
74818
74819 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74820
74821         * doc/maintain.texi, make-stds.texi: Sync from
74822         <http://savannah.gnu.org/projects/gnustandards>.
74823
74824 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74825
74826         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74827
74828 2006-07-09  Jim Meyering  <jim@meyering.net>
74829
74830         * m4/glob.m4: Remove a doubled word in a comment.
74831
74832 2006-07-09  Jim Meyering  <jim@meyering.net>
74833
74834         * lib/argp-pv.c: Remove a doubled word in a comment.
74835         * lib/check-version.c (check_version): Likewise.
74836         * lib/javacomp.c (compile_java_class): Likewise.
74837
74838 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74839
74840         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74841         for the benefit of people using Autoconf 2.60.  If you want to
74842         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74843         (or m4/onceonly.m4, if pre-2.57) manually.
74844
74845 2006-07-08  Jim Meyering  <jim@meyering.net>
74846
74847         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74848         comment.
74849         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74850         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74851         comment.
74852
74853 2006-07-08  Jim Meyering  <jim@meyering.net>
74854
74855         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74856
74857 2006-07-07  Simon Josefsson  <jas@extundo.com>
74858
74859         * tests/test-crc.c: Change expected crc value, the test vector
74860         were probably computed using the old broken crc.c?
74861
74862 2006-07-06  Simon Josefsson  <jas@extundo.com>
74863
74864         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74865         now the canonical place for the M4 file).
74866
74867         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74868         from the sys_socket dependency now.
74869
74870         * modules/inet_pton (Files): Ditto.
74871
74872         * modules/inet_ntop (Files): Ditto.
74873
74874 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74875
74876         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74877         not gl_PREREQ_GETUSERSHELL.
74878
74879 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74880
74881         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74882         with only one argument, for Autoconf 2.60.
74883         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74884         expand to nothing, so add a shell command to avoid syntax error.
74885         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74886
74887 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74888
74889         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74890
74891 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74892
74893         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74894         no longer needed.  Check for isblank decl.
74895         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74896         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74897         of existence.
74898
74899 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74900
74901         * lib/getloadavg.c: Use __VMS, not VMS.
74902         * lib/getopt.c: Likewise.
74903         * lib/getpagesize.h: Likewise.
74904         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74905         and probably does not work.
74906
74907 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74908
74909         * lib/.cppi-disable: Add wcwidth.
74910         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74911         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74912         (ISGRAPH): Remove.  All uses changed to isgraph.
74913         (FOLD) [!defined _LIBC]: Remove special case.
74914         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74915         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
74916         HAVE_ISBLANK.
74917         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
74918         case.
74919
74920 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74921
74922         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
74923         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
74924         brackets.  Other minor changes to suppress some compiler
74925         warnings.
74926
74927 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74928         and Paul Eggert  <eggert@cs.ucla.edu>
74929
74930         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
74931         of invoking obsolescent AC_HEADER_DIRENT macro.
74932         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
74933         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
74934         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74935         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74936         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
74937         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74938         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
74939         * m4/readdir.m4: Remove; no longer needed.
74940
74941 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74942         and Paul Eggert  <eggert@cs.ucla.edu>
74943
74944         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
74945         Don't worry about this obsolete case any more.
74946         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
74947         directories.
74948         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
74949         worry about this obsolete case any more.
74950         * lib/fts.c: Likewise.
74951         * lib/getcwd.c: Likewise.
74952         * lib/glob.h: Likewise.
74953         * lib/savedir.c: Likewise.
74954
74955 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74956
74957         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
74958         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
74959         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
74960         needed.
74961         All uses removed.
74962         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74963         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74964         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
74965         needed.
74966         * m4/getdate.m4 (gl_GETDATE): Likewise.
74967         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74968         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74969         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74970         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74971         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74972         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74973         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
74974         needed.
74975
74976 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74977
74978         * lib/memcasecmp.c: Include <limits.h>.
74979         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
74980         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
74981         Don't assume isdigit succeeds only on '0' through '9'.
74982
74983 2006-07-05  Eric Blake  <ebb9@byu.net>
74984
74985         * modules/getaddrinfo (Depends-on): Add snprintf.
74986
74987 2006-07-05  Eric Blake  <ebb9@byu.net>
74988
74989         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
74990         to avoid 'header present but could not be compiled' on cygwin.
74991
74992 2006-07-05  Eric Blake  <ebb9@byu.net>
74993
74994         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
74995         missing from netdb.h.
74996         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
74997
74998 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74999
75000         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75001         no longer needed.
75002         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75003         * m4/getdate.m4 (gl_GETDATE): Likewise.
75004         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75005         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75006         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75007         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75008         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75009
75010 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75011
75012         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75013         All uses of is_space replaced by isspace.
75014         * lib/exit.h: Don't talk about STDC_HEADERS.
75015         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75016         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75017         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75018         replaced by isprint etc.
75019         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75020         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75021         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75022         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75023         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75024         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75025
75026 2006-07-05  Bruno Haible  <bruno@clisp.org>
75027
75028         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75029         the function exists, before testing against AIX.
75030         Reported by Martin Lambers <marlam@marlam.de>.
75031
75032 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75033
75034         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75035         From Mark D. Baushke.
75036
75037 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75038
75039         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75040         to the absolute name, not just one, to bypass Sun C 5.8's
75041         "warning: #include of /usr/include/... may be non-portable".
75042
75043 2006-07-04  Eric Blake  <ebb9@byu.net>
75044
75045         * modules/dirname-tests: New test module.
75046         * tests/test-dirname.c: New file, replacing dirname.c
75047         TEST_DIRNAME section that was recently deleted.
75048
75049 2006-07-04  Bruno Haible  <bruno@clisp.org>
75050
75051         Assume ANSI C header files and <ctype.h> functions.
75052         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75053         (mbsnwidth): Use isprint, iscntrl instead.
75054
75055 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75056
75057         Merge from coreutils.
75058         * MODULES.html.sh: Add xstrtold.
75059         * modules/xstrtold: New file.
75060         * modules/cycle-check (Files): Add lib/same-inode.h.
75061         * modules/dirname (Files): Add m4/double-slash-root.m4.
75062         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75063         * modules/mkdir-p (Files): Add lib/same-inode.h.
75064         * modules/same (Files): Add lib/same-inode.h.
75065
75066 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75067
75068         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75069         This is to keep the terminology clean; POSIX talks about
75070         "absolute pathnames", not "full pathnames", but the GNU
75071         Coding Standards say to use "path" for something else;
75072         so use "absolute" to keep both sides happy.
75073         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75074         Set gl_absolute_header, not gl_full_header_path.
75075         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75076         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75077         All uses changed.
75078
75079         Merge from coreutils.
75080
75081         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75082
75083         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75084         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75085         want to require the building of c-strtod.o.
75086         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75087         needs -lm directly.
75088         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75089
75090         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75091
75092         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75093         --as-needed option if available.  Problem reported by Albert Chin in
75094         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75095         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75096         cc merely issues a bunch of annoying warnings for --as-needed
75097         (this problem was reported by Bob Proulx).  Also, try linking with
75098         -lm to detect a bug in binutils 2.16 (this problem was reported
75099         by Ralf Wildenhues).
75100
75101         2006-06-18  Jim Meyering  <jim@meyering.net>
75102
75103         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75104         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75105         macro.
75106         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75107         also check for glibc-2.4's abort-inducing bug.
75108
75109         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75110         Low-probability clean-up should be to use rmdir to get rid of
75111         the just-created directory, not unlink.
75112
75113         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75114         configure fail, and request a bug report to inform us about it.
75115         Add a comment that, barring reports to the contrary, in 2007 we'll
75116         assume ftruncate is universally available.
75117
75118         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75119
75120         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75121
75122         2006-03-12  Jim Meyering  <jim@meyering.net>
75123
75124         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75125         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75126         * m4/same.m4 (gl_SAME): Likewise.
75127         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75128
75129         2006-03-11  Eric Blake  <ebb9@byu.net>
75130
75131         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75132         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75133         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75134         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75135
75136 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75137
75138         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75139         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75140         reported by Mark D. Baushke, one in
75141         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75142
75143         Merge from coreutils.
75144
75145         * lib/.cppi-disable: Add stdint_.h.
75146         * lib/.cvsignore: Add stdint.h.
75147
75148         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75149
75150         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75151         both double and long double versions.
75152         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75153         * lib/xstrtold.c: New file.
75154         * lib/xstrtod.h (xstrtold): New decl.
75155
75156         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75157
75158         * lib/filemode.c (setst): Remove.
75159         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75160         (arguably) clearer, and the generated code is a bit smaller on my
75161         Debian GNU/Linux stable x86 host.
75162
75163         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75164
75165         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75166         Assume that filemode.h includes sys/types.h and sys/stat.h.
75167         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75168         (ftypelet): Reorder to put common cases first, for efficiency.
75169         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75170         to do 'M'.
75171         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75172         of 10, for compatibility with FreeBSD.  All callers changed.
75173         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75174         types that can't be deduced solely from st_mode.  First arg is now a
75175         const pointer.
75176         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75177         (strmode): Renamed from mode_string.
75178         (filemodestring): New decl.
75179         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75180         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75181         needed.
75182         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75183
75184         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75185
75186         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75187         fsusage.h now does that.  Include fsusage.h first, to test interface.
75188         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75189         at most one method (the old code could have generated decls that
75190         didn't conform to C89, not that this was ever exercised).
75191         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75192
75193         2006-03-19  Jim Meyering  <jim@meyering.net>
75194
75195         Work even in a chroot where d_ino values for entries in "/"
75196         don't match the stat.st_ino values for the same names.
75197         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75198         number, iterate through all entries again, using lstat instead.
75199         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75200         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75201
75202         * lib/getcwd.c (__getcwd): Clarify a comment.
75203         Use memcpy in place of a call to strcpy.
75204
75205         2006-03-12  Jim Meyering  <jim@meyering.net>
75206
75207         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75208         matches that of the current directory (which we're about to chdir ".."
75209         out of), then save the dev-ino of the parent, instead.
75210
75211         * lib/same-inode.h (SAME_INODE): New file/macro.
75212         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75213         Include "same-inode.h", instead.
75214         * lib/same.c: Likewise.
75215         * lib/cycle-check.h: Include "same-inode.h".
75216         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75217         * lib/cycle-check.c (SAME_INODE): Remove definition.
75218         * lib/root-dev-ino.h: Include "same-inode.h".
75219
75220         2006-03-11  Eric Blake  <ebb9@byu.net>
75221
75222         * lib/same.c (same_name): s/base_name/last_component/
75223         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75224         * lib/filenamecat.c (file_name_concat): Likewise.
75225
75226         2006-03-11  Eric Blake  <ebb9@byu.net>,
75227                     Paul Eggert  <eggert@cs.ucla.edu>
75228
75229         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75230         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75231         drive prefix.
75232         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75233         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75234         (last_component): New method.
75235         * lib/dirname.c (dir_len): Determine when drive letters need a
75236         subsequent slash.  Preserve // when it is special.
75237         (dir_name): Don't append dot when drive letter is absolute.
75238         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75239         * lib/basename.c (base_name): New semantics - malloc the result.
75240         Preserve // when it is special.  Preserve relative files that look
75241         like drive letters.
75242         (base_len): Preserve // when it is special.
75243         (last_component): New method, similar to old base_name semantics.
75244         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75245         base_name.  Strip redundant slashes from ///.
75246
75247 2006-07-03  Jim Meyering  <jim@meyering.net>
75248
75249         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75250         macro is used before the first cycle_check call.
75251
75252 2006-07-03  Eric Blake  <ebb9@byu.net>
75253
75254         * modules/dirname (Depends-on): Add xstrndup.
75255
75256 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75259         test cases, so that config.log is a bit easier to follow.
75260
75261 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75262
75263         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75264         both are 64 bits, since this seems to be the tradition, and this
75265         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75266         we ever run into a host that prefers long long to long in this
75267         case, we'll need another configure-time test.  Problem reported by
75268         Jim Meyering.
75269
75270 2006-07-02  Eric Blake  <ebb9@byu.net>
75271
75272         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75273
75274 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75275
75276         * modules/inttypes (Depends-on): No longer depends on stdint.
75277         * modules/stdint (Description): Say more about assumptions.
75278         Say that the fast types might differ.  Say macros are used.
75279         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75280         (Makefile.am): Revise list of substituted symbols to match
75281         new stdint.m4.
75282         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75283         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75284         * tests/test-stdint.c (verify_same_types)
75285         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75286         the code conforms to C99/C89.
75287         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75288         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75289
75290 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75291
75292         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75293         but fix a bug, by requiring at least 64 bits.
75294         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75295         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75296         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75297         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75298
75299         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75300         changes.  Make 2.59 a prerequisite.  Check and substitute for
75301         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75302         inttypes.h.  Do not use special include files; just use the
75303         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75304         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75305         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75306         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75307         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75308         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75309         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75310         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75311         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75312         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75313         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75314         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75315         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75316         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75317         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75318         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75319         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75320         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75321         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75322         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75323         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75324         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75325         not check for things that C99 does not require, e.g., int8_t.  If
75326         a test isn't needed unless <stdint.h> isn't working, and is
75327         unlikely to be needed for any other reason, then don't do it
75328         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75329         size_t, since we assume C89 freestanding at least.  Do not check
75330         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75331         the right thing even if the types are not defined.  Instead use:
75332         (gl_STDINT_TYPE_PROPERTIES): New macro.
75333         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75334         testing whether <sys/types.h> clashes, as Autoconf does this for
75335         us now.  All uses removed.
75336         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75337         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75338         (gl_CHECK_TYPE_SAME):
75339         Remove; no longer needed.
75340         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75341         exists, since we'll return 0 anyway in that case.
75342         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75343
75344 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75345
75346         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75347         possible collision with system files.
75348         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75349         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75350         WCHAR_MIN and WCHAR_MAX in this case.
75351         (<stddef.h>): Do not include; no longer needed.
75352         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75353         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75354         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75355         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75356         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75357         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75358         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75359         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75360         !defined(__c99))]: Include in this case too, since it's harmless
75361         now.
75362         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75363         dangerous to do so.
75364         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75365         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75366         (_STDINT_MIN, _STDINT_MAX): New macros.
75367         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75368         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75369         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75370         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75371         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75372         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75373         macros, not typedefs; this simplifies things quite a bit.
75374         Use long int for all types narrower than int64_t.
75375         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75376         Define in terms of long long int or int64_t or long int,
75377         not int64_t or int32_t.  This saves some compile-time testing.
75378         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75379         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75380         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75381         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75382         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75383         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75384         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75385         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75386         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75387         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75388         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75389         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75390         undef any previous version and define our own version, for
75391         simplicity and consistency with the new macros for types.
75392         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75393         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75394         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75395         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75396         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75397         @WINT_T_SUFFIX@ to keep things simple here.
75398         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75399         Simplify by assuming typical 8/16/32/64 host, since we're
75400         already doing that elsewhere anyway.
75401         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75402         and assume long long int is 64 bits if available.  This
75403         speeds up 'configure'.
75404
75405 2006-07-01  Eric Blake  <ebb9@byu.net>
75406
75407         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75408         Reported by Andreas Buening.
75409
75410 2006-07-01  Eric Blake  <ebb9@byu.net>
75411
75412         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75413
75414 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75415
75416         * lib/getaddrinfo.c: fixed typo
75417
75418 2006-06-29  Jim Meyering  <jim@meyering.net>
75419
75420         * modules/strftime (Maintainer): Add my name, since with the
75421         FPRINTFTIME changes strftime.c has forked from glibc.
75422
75423 2006-06-29  Eric Blake  <ebb9@byu.net>
75424
75425         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75426
75427 2006-06-29  Eric Blake  <ebb9@byu.net>
75428
75429         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75430
75431 2006-06-29  Eric Blake  <ebb9@byu.net>
75432
75433         * lib/stat_.h: New file.
75434
75435 2006-06-29  Eric Blake  <ebb9@byu.net>
75436
75437         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75438         unused static function.
75439
75440 2006-06-29  Eric Blake  <ebb9@byu.net>
75441
75442         * doc/functions.texi (Function Portability): Document missing lstat
75443         on mingw.
75444
75445 2006-06-29  Eric Blake  <ebb9@byu.net>
75446
75447         * MODULES.html.sh: Add sys_stat.
75448         * modules/sys_stat: New module.
75449         * modules/mkstemp (Depends-on): Add sys_stat.
75450
75451 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75452
75453         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75454
75455 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75456
75457         * m4/c-bs-a.m4: Removed.
75458
75459 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75460
75461         * lib/strftime.c: Assume strftime() exists.
75462
75463 2006-06-29  Derek Price  <derek@ximbiot.com>
75464
75465         * modules/c-bs-a: Removed - \a is C89.
75466         * MODULES.html.sh: Remove c-bs-a.
75467
75468 2006-06-29  Bruno Haible  <bruno@clisp.org>
75469
75470         * modules/wcwidth (License): Change to LGPL.
75471
75472 2006-06-28  Simon Josefsson  <jas@extundo.com>
75473
75474         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75475         on _WIN32.
75476
75477         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75478         getnameinfo.
75479
75480 2006-06-28  Simon Josefsson  <jas@extundo.com>
75481
75482         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75483
75484 2006-06-28  Simon Josefsson  <jas@extundo.com>
75485
75486         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75487         functions there.  It will succeed on Windows XP, but on Windows
75488         2000 and (presumably) earlier, it will fail, and use the internal
75489         re-implementation.
75490         (use_win32_p): New function.
75491         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75492         Support AI_NUMERICSERV to disable getservbyname.
75493         (getnameinfo): New function, only supports
75494         NI_NUMERICHOST|NI_NUMERICSERV for now.
75495
75496         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75497         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75498         getnameinfo.
75499
75500 2006-06-28  Eric Blake  <ebb9@byu.net>
75501
75502         * modules/wcwidth: New file.
75503         * modules/mbchar (Depends-on): Add wcwidth.
75504         * modules/mbswidth (Depends-on): Add wcwidth.
75505         * MODULES.html.sh: Add wcwidth.
75506
75507 2006-06-28  Eric Blake  <ebb9@byu.net>
75508
75509         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75510         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75511
75512 2006-06-28  Eric Blake  <ebb9@byu.net>
75513
75514         * lib/xvasprintf.h: Fix comments.
75515
75516 2006-06-28  Eric Blake  <ebb9@byu.net>
75517
75518         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75519         * lib/mbswidth.c (wcwidth): Move from here...
75520         * lib/wcwidth.h: ...to this new file.
75521
75522 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75523
75524         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75525
75526         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75527         it's obsolete.
75528         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75529
75530 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75531
75532         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75533         Autoconf 2.60 says this stuff was obsolete.
75534
75535 2006-06-28  Bruno Haible  <bruno@clisp.org>
75536
75537         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75538
75539 2006-06-28  Bruno Haible  <bruno@clisp.org>
75540
75541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75542         gt_TYPE_WCHAR_T.
75543
75544 2006-06-28  Bruno Haible  <bruno@clisp.org>
75545
75546         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75547         declaration for wcwidth.
75548         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75549
75550 2006-06-28  Bruno Haible  <bruno@clisp.org>
75551
75552         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75553         (mkdir): Define using _mkdir.
75554
75555 2006-06-28  Bruno Haible  <bruno@clisp.org>
75556
75557         * lib/getaddrinfo.h: Fix POSIX URL.
75558         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75559         _WIN32.
75560         (use_win32_p): Make static.
75561         (getaddrinfo): Reject service name if it is empty or does not consist
75562         solely of decimal digits, or if its value is > 65535.
75563         (getnameinfo): Remove useless casts.
75564
75565 2006-06-27  Simon Josefsson  <jas@extundo.com>
75566
75567         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75568         Eggert and Martin Lambers.
75569
75570 2006-06-27  Simon Josefsson  <jas@extundo.com>
75571
75572         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75573         Eggert and Martin Lambers.
75574
75575 2006-06-27  Bruno Haible  <bruno@clisp.org>
75576
75577         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75578         result to 0, not to empty.
75579         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75580
75581 2006-06-27  Bruno Haible  <bruno@clisp.org>
75582
75583         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75584
75585 2006-06-26  Simon Josefsson  <jas@extundo.com>
75586
75587         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75588         present.
75589
75590 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75591
75592         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75593         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75594         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75595
75596 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75597
75598         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75599
75600 2006-06-26  Bruno Haible  <bruno@clisp.org>
75601
75602         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75603
75604 2006-06-26  Bruno Haible  <bruno@clisp.org>
75605
75606         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75607
75608 2006-06-26  Bruno Haible  <bruno@clisp.org>
75609
75610         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75611         SGI C compiler in pre-C99 mode.
75612         Suggested by Mark D. Baushke and Larry Jones.
75613
75614 2006-06-26  Bruno Haible  <bruno@clisp.org>
75615
75616         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75617         WCHAR_MAX.
75618         Reported by Mark D. Baushke and Larry Jones.
75619
75620 2006-06-26  Bruno Haible  <bruno@clisp.org>
75621
75622         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75623         in pre-C99 mode.
75624         Suggested by Mark D. Baushke and Larry Jones.
75625
75626 2006-06-23  Simon Josefsson  <jas@extundo.com>
75627             Bruno Haible  <bruno@clisp.org>
75628
75629         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75630         Emit mostlyclean-local rule.
75631         (func_emit_tests_Makefile_am): Likewise.
75632         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75633
75634 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75635
75636         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75637
75638 2006-06-23  Bruno Haible  <bruno@clisp.org>
75639
75640         * tests/test-stdint.c: Update to match ISO C 99 Technical
75641         Corrigendum 1.
75642
75643 2006-06-23  Bruno Haible  <bruno@clisp.org>
75644
75645         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75646
75647 2006-06-23  Bruno Haible  <bruno@clisp.org>
75648
75649         * lib/stdint_.h: Treat IRIX like OpenBSD.
75650
75651 2006-06-23  Bruno Haible  <bruno@clisp.org>
75652
75653         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75654         ISO C 99 Technical Corrigendum 1.
75655
75656 2006-06-22  Simon Josefsson  <jas@extundo.com>
75657
75658         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75659         MinGW.
75660
75661 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75662
75663         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75664         needed.  Some compiler complained about some of them.  Problem reported
75665         by Larry Jones in
75666         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75667
75668 2006-06-21  Simon Josefsson  <jas@extundo.com>
75669
75670         * tests/test-getaddrinfo.c: New file.
75671
75672         * modules/getaddrinfo-tests: New file.
75673
75674         * MODULES.html.sh: Add inet_pton.
75675
75676         * modules/inet_pton: New file.
75677
75678 2006-06-21  Simon Josefsson  <jas@extundo.com>
75679
75680         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75681         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75682         of using the (limited) gnulib implementation on Windows XP.
75683
75684         * m4/inet_pton.m4: New file.
75685
75686 2006-06-21  Simon Josefsson  <jas@extundo.com>
75687
75688         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75689         variable.
75690
75691         * lib/socket_.h: Don't define WINVER.
75692
75693         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75694         slightly modified to work in gnulib.
75695
75696 2006-06-21  Simon Josefsson  <jas@extundo.com>
75697
75698         * doc/gnulib.texi (Windows sockets): Add.
75699
75700 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75701
75702         * lib/read-file.c (fread_file): Start with buffer allocation of
75703         0 bytes rather than 1 byte; this simplifies the code.
75704         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75705         code to free buffer and save/restore errno.
75706         (internal_read_file): Remove unused local.
75707
75708 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75709
75710         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75711         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75712         Problem reported by Denis Excoffier in
75713         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75714
75715 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75716
75717         * modules/sys_socket, modules/socklen: Include sys/types since
75718         FreeBSD 4.x's sys/socket.h needs it.
75719
75720 2006-06-19  Simon Josefsson  <jas@extundo.com>
75721
75722         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75723
75724 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75727
75728 2006-06-19  Bruno Haible  <bruno@clisp.org>
75729
75730         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75731         and FULL_PATH_INTTYPES_H in angle brackets.
75732         Reported by Mark D. Baushke <mdb@gnu.org>.
75733
75734 2006-06-17  Eric Blake  <ebb9@byu.net>
75735
75736         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75737         errno.
75738
75739 2006-06-17  Bruno Haible  <bruno@clisp.org>
75740
75741         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75742         <sys/inttypes.h>.
75743
75744 2006-06-17  Bruno Haible  <bruno@clisp.org>
75745
75746         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75747         whether errno is declared. Assume <errno.h> declares errno.
75748
75749 2006-06-17  Bruno Haible  <bruno@clisp.org>
75750
75751         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75752
75753 2006-06-17  Bruno Haible  <bruno@clisp.org>
75754
75755         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75756         problem on Solaris 2.5.1.
75757
75758 2006-06-16  Eric Blake  <ebb9@byu.net>
75759
75760         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75761         * lib/unicodeio.c [!defined errno]: Likewise.
75762         * lib/strtol.c [!defined errno]: Likewise.
75763         * lib/strtod.c [!defined errno]: Likewise.
75764
75765 2006-06-15  Eric Blake  <ebb9@byu.net>
75766
75767         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75768
75769 2006-06-15  Eric Blake  <ebb9@byu.net>
75770
75771         * config/srclist.txt (ssize_t.m4): Lose sync.
75772
75773 2006-06-15  Bruno Haible  <bruno@clisp.org>
75774
75775         * modules/stdint (Files): Include m4/full-header-path.m4,
75776         m4/size_max.m4, m4/wchar_t.m4.
75777         (Makefile.am): Many more substitutions.
75778         * modules/stdint-tests: New file.
75779         * tests/test-stdint.c: New file.
75780
75781 2006-06-15  Bruno Haible  <bruno@clisp.org>
75782
75783         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75784         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75785         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75786         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75787         gl_CHECK_TYPE_SAME): New macros.
75788
75789 2006-06-15  Bruno Haible  <bruno@clisp.org>
75790
75791         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75792
75793 2006-06-15  Bruno Haible  <bruno@clisp.org>
75794
75795         * lib/stdint_.h: Rewritten to be fully auto-configured.
75796         Fixes bug on HP-UX/IA64.
75797
75798 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
75799
75800         * lib/getdate.y (__attribute__): Don't define if already defined.
75801         Problem reported by Larry Jones.
75802         * lib/utimens.c (__attribute__): Likewise.
75803
75804 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
75805
75806         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
75807         reported by Andreas Schwab.
75808
75809 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75810             Bruno Haible  <bruno@clisp.org>
75811
75812         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75813         check for the declaration of strnlen and a run test that exposes the
75814         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75815         rpl_strndup.
75816
75817 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75818             Bruno Haible  <bruno@clisp.org>
75819
75820         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75821
75822 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75823
75824         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75825         compile test, for Tru64 4.0D.
75826
75827 2006-05-28  Karl Berry  <karl@gnu.org>
75828
75829         * config/srclist.txt (printf-args.c): lose sync.
75830
75831 2006-05-26  Martin Lambers  <marlam@marlam.de>
75832
75833         * lib/getpass.c: Updates the test for the native W32 API, and adds
75834         missing includes, thus fixing compilation warnings.
75835
75836 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75837
75838         * lib/exclude.c (exclude_fnmatch): New function.
75839         (excluded_file_name): Call exclude_fnmatch.
75840         * lib/exclude.h (excluded_file_name): New prototype
75841
75842 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75843
75844         * lib/tempname.c (small_open, large_open): New macros.
75845         (__open, __open64) [!_LIBC]: Remove.
75846         (__gen_tempname): Use small_open and large_open instead of __open
75847         and __open64.  This fixes a portability bug on HP-UX 11.11i
75848         reported by Simon Wing-Tang in
75849         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75850
75851 2006-05-24  Bruno Haible  <bruno@clisp.org>
75852
75853         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75854         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75855         Reported by Thorsten Maerz <torte@netztorte.de> via
75856         Aaron Stone <aaron@serendipity.cx>.
75857
75858 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75859
75860         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75861         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75862         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75863         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75864         not really conditional on the cache.
75865         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75866
75867 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75868
75869         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75870         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75871         (my_usleep): Don't mishandle maximum value.
75872
75873 2006-05-19  Jim Meyering  <jim@meyering.net>
75874
75875         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75876
75877 2006-05-17  Bruno Haible  <bruno@clisp.org>
75878
75879         Cygwin portability.
75880         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75881
75882 2006-05-17  Bruno Haible  <bruno@clisp.org>
75883
75884         * lib/stdint_.h: Fix recognition of Cygwin.
75885
75886 2006-05-15  Bruno Haible  <bruno@clisp.org>
75887
75888         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75889         on libtool patch by Ralf Wildenhues.
75890
75891 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75892
75893         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75894         test for C99 conformance; (bool) 0.5 is an integer constant
75895         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75896         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75897
75898 2006-05-11  Simon Josefsson  <jas@extundo.com>
75899
75900         * m4/xvasprintf.m4: Fix obvious typo.
75901
75902 2006-05-11  Jim Meyering  <jim@meyering.net>
75903
75904         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75905         James Lemley.
75906
75907 2006-05-10  Simon Josefsson  <jas@extundo.com>
75908
75909         * lib/md4.c: Typo fix, update copyright years.
75910         (K1, K2): Don't use L because it turn computations into 64-bit on
75911         64-bit platforms.
75912
75913 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75914
75915         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
75916         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
75917         unwanted sign propagation, e.g., on hosts with 64-bit int.
75918         There still are some problems with reeelly weird theoretical hosts
75919         (e.g., 33-bit int) but it's not worth worrying about now.
75920         * lib/sha1.c (rol): Likewise.
75921         (K1, K2, K3, K4): Remove unnecessary L suffix.
75922
75923 2006-05-10  Bruno Haible  <bruno@clisp.org>
75924
75925         * lib/des.c: Cast to avoid warnings.
75926
75927 2006-05-09  Bruno Haible  <bruno@clisp.org>
75928
75929         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
75930         (Depends-on): Depend also on xsize, stdarg.
75931         (configure.ac): Add gl_XVASPRINTF.
75932
75933 2006-05-09  Bruno Haible  <bruno@clisp.org>
75934
75935         * m4/xvasprintf.m4: New file.
75936
75937 2006-05-09  Bruno Haible  <bruno@clisp.org>
75938
75939         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
75940         (EOVERFLOW): Define fallback value.
75941         (xstrcat): New function.
75942         (xvasprintf): Recognize the special case of a string concatenation.
75943
75944 2006-05-08  Eric Blake  <ebb9@byu.net>
75945
75946         * gnulib-tool (func_version): Base copyright year on CVS date.
75947         (func_emit_copyright_notice): New function.
75948         (func_emit_lib_Makefile_am): Use it.
75949         (func_emit_tests_Makefile_am): Likewise.
75950         (func_import): Likewise.
75951
75952 2006-05-08  Bruno Haible  <bruno@clisp.org>
75953
75954         * modules/stdarg: New file.
75955         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
75956
75957 2006-05-08  Bruno Haible  <bruno@clisp.org>
75958
75959         * m4/stdarg.m4: New file, from GNU gettext.
75960
75961 2006-05-08  Bruno Haible  <bruno@clisp.org>
75962
75963         * config/srclist.txt (build-aux/config.rpath): different from latest
75964         release.
75965
75966 2006-05-08  Bruno Haible  <bruno@clisp.org>
75967
75968         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
75969
75970 2006-05-05  Jim Meyering  <jim@meyering.net>
75971
75972         * m4/warning.m4: New file, derived from bison's file by the same name.
75973
75974 2006-05-03  Bruno Haible  <bruno@clisp.org>
75975
75976         * lib/stdint_.h: Shorter URL.
75977         * lib/inttypes.h: Likewise.
75978
75979 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75980
75981         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
75982
75983 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75984
75985         * lib/verify.h: Document the internals better.  Most of this change
75986         was written by Bruno Haible.
75987
75988 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75989
75990         * doc/verify.texi: New file, partly based on a proposal by
75991         Bruno Haible.
75992
75993 2006-05-02  Bruno Haible  <bruno@clisp.org>
75994
75995         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
75996         test from here...
75997         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
75998
75999 2006-04-29  Bruno Haible  <bruno@clisp.org>
76000
76001         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76002         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76003
76004 2006-04-29  Bruno Haible  <bruno@clisp.org>
76005
76006         * gnulib-tool: Make --update option actually work.
76007
76008 2006-04-29  Bruno Haible  <bruno@clisp.org>
76009
76010         * doc/gcd.texi: New file.
76011         * doc/gnulib.texi: Include it.
76012
76013 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76014
76015         * lib/getdate.y (get_date): When adding relative date, start with the
76016         initial time, not with the result of the first mktime call.
76017
76018 2006-04-25  Bruno Haible  <bruno@clisp.org>
76019
76020         * gnulib-tool (func_import): Output the include directives in three
76021         blocks, sorted separately.
76022         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76023
76024 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76025
76026         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76027         to define main with arguments, for C++.  Reported by Eric Blake.
76028         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76029         Prefer 'int main ()' to 'int main (void)', for C++.
76030         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76031         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76032         for 'main', for C99 and C++.
76033
76034 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76035
76036         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76037         Don't assume that exit status -1 is valid.
76038         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76039         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76040         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76041         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76042         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76043         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76044         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76045         functions can be used without declaring them, or that you can
76046         exit with status -1.
76047         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76048
76049 2006-04-24  Karl Berry  <karl@gnu.org>
76050
76051         * config/srclist.txt (longdouble.m4): sync lost.
76052
76053 2006-04-24  Eric Blake  <ebb9@byu.net>
76054
76055         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76056
76057 2006-04-24  Bruno Haible  <bruno@clisp.org>
76058
76059         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76060         poll() implementation in AIX.
76061         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76062
76063 2006-04-24  Bruno Haible  <bruno@clisp.org>
76064
76065         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76066         assigned exactly once.
76067
76068 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76069             Bruno Haible  <bruno@clisp.org>
76070
76071         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76072         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76073         for AM_CPPFLAGS.
76074
76075 2006-04-23  Bruno Haible  <bruno@clisp.org>
76076
76077         * modules/copy-file: Depend on unistd.
76078         * modules/execute: Likewise.
76079         * modules/fatal-signal: Likewise.
76080         * modules/findprog: Likewise.
76081         * modules/mkdtemp : Likewise.
76082         * modules/pipe: Likewise.
76083         * modules/wait-process: Likewise.
76084
76085 2006-04-23  Bruno Haible  <bruno@clisp.org>
76086
76087         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76088         condition was already detected.
76089         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76090
76091 2006-04-23  Bruno Haible  <bruno@clisp.org>
76092
76093         * lib/copy-file.c: Include <unistd.h> unconditionally.
76094         * lib/execute.c: Likewise.
76095         * lib/fatal-signal.c: Likewise.
76096         * lib/findprog.c: Likewise.
76097         * lib/mkdtemp.c: Likewise.
76098         * lib/pipe.h: Likewise.
76099         * lib/pipe.c: Likewise.
76100         * lib/wait-process.h: Likewise.
76101
76102 2006-04-23  Bruno Haible  <bruno@clisp.org>
76103
76104         * gnulib-tool (func_usage): Fix --import description. Document
76105         --update.
76106         (func_import): Create temporary file in a temporary directory, if
76107         --dry-run is specified. Silence errors from 'grep' when there are no
76108         m4 files in $m4dir.
76109         (func_create_testdir): Silence errors from 'grep' when there are no
76110         m4 files in $m4dir.
76111         Reported by Karl Berry <karl@freefriends.org>.
76112
76113 2006-04-20  Bruno Haible  <bruno@clisp.org>
76114
76115         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76116         one argument, so that the code will be portable to Autoconf 2.60.
76117         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76118         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76119         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76120
76121 2006-04-19  Derek Price  <derek@ximbiot.com>
76122             Eric Blake  <ebb9@byu.net>
76123
76124         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76125         rather than "/full/path.h".  Update comment to match.  Shorten &
76126         generalize m4_translit call via AS_TR_CPP.
76127
76128 2006-04-19  Derek Price  <derek@ximbiot.com>
76129             Eric Blake  <ebb9@byu.net>
76130
76131         * lib/inttypes.h: Correct grammar in comment.
76132
76133 2006-04-18  Derek Price  <derek@ximbiot.com>
76134             Paul Eggert  <eggert@cs.ucla.edu>
76135
76136         * modules/inttypes: New file.
76137         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76138
76139 2006-04-18  Derek Price  <derek@ximbiot.com>
76140             Paul Eggert  <eggert@cs.ucla.edu>
76141
76142         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76143         New files.
76144
76145 2006-04-18  Derek Price  <derek@ximbiot.com>
76146             Paul Eggert  <eggert@cs.ucla.edu>
76147
76148         * lib/inttypes.h: New file.
76149         * lib/strtoimax.c: Assume <inttypes.h>.
76150
76151 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76152
76153         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76154         isn't mounted.  Problem reported by Kir Kolyshkin.
76155
76156 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76157
76158         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76159         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76160         Derek R. Price.
76161         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76162         implementation.
76163
76164 2006-04-12  Eric Blake  <ebb9@byu.net>
76165
76166         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76167         is now done automatically by the corresponding Autoconf macro.
76168
76169 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76170
76171         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76172         time_r.h.
76173
76174 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76175
76176         Merge regex changes from libc, removing some of our
76177         POSIX-conformance changes that were rejected and redoing them in a
76178         less-intrusive way.
76179
76180         * lib/regcomp.c (re_compile_internal, init_dfa):
76181         Length arg is now size_t, not Idx.  All uses changed.
76182         (peek_token): Forward decl now says internal_function.
76183         (__re_error_msgid, __re_error_msgid_idx):
76184         Now static rather than extern with attribute_hidden.
76185         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76186         For some reason libc prefers K&R style defns for external functions.
76187         (regerror) [!defined _LIBC]: Likewise.
76188         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76189         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76190         (build_range_exp, build_collating_symbol):
76191         Use K&R-style defn.
76192         (re_compile_fastmap): Use '\0' to memset, not 0.
76193         (utf8_sb_map): Make the calculations more obvious.
76194         (init_dfa, parse_bracket_exp, build_charclass_op):
76195         Call calloc and cast result, as glibc does.
76196         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76197         (build_range_exp, build_collating_symbol):
76198         Now internal functions.
76199
76200         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76201
76202         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76203         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76204         Don't depend on VMS; depend on __VMS instead, for POSIX
76205         namespace cleanness.
76206         (regoff_t): Define to ssize_t, not long int.
76207
76208         Remove the REG_ macros named below.  Instead, make the old names
76209         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76210         __USE_GNU_REGEX.
76211         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76212         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76213         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76214         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76215         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76216         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76217         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76218         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76219         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76220         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76221         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76222         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76223         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76224         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76225         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76226         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76227         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76228         (REG_NREGS):
76229         Remove.  All uses replaced by the old RE_* names.
76230         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76231         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76232         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76233         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76234         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76235         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76236         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76237         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76238         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76239         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76240         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76241         Don't bother having these macros be independent of each others'
76242         values, since they no longer exist in the POSIX name space.
76243
76244         Rename the following member names back to their old names,
76245         unless !__USE_GNU_REGEX.  All uses changed back.
76246         (buffer): Renamed from re_buffer.
76247         (allocated): Renamed from re_allocated.
76248         (used): Renamed from re_used.
76249         (syntax): Renamed from re_syntax.
76250         (fastmap): Renamed from re_fastmap.
76251         (translate): Renamed from re_translate.
76252         (can_be_null): Renamed from re_can_be_null.
76253         (regs_allocated): Renamed from re_regs_allocated.
76254         (fastmap_accurate): Renamed from re_fastmap_accurate.
76255         (no_sub): Renamed from re_no_sub.
76256         (not_bol): Renamed from re_not_bol.
76257         (not_eol): Renamed from re_not_eol.
76258         (newline_anchor): Renamed from re_newline_anchor.
76259         (num_regs): Renamed from rm_num_regs.
76260         (start): Renamed from rm_start.
76261         (end): Renamed from rm_end.
76262
76263         (free_state): Move up a bit.
76264
76265         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76266         #define to be empty.
76267         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76268         when that is what is intended.
76269         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76270         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76271         (MAX): New macro.
76272         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76273         All uses changed back to re_malloc, etc.  It's now the caller's
76274         responsibility to check for overflow; all callers changed.
76275         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76276         (re_x2nrealloc): Remove.
76277         (free_state): Remove decl.
76278
76279         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76280         (re_set_registers, re_exec):
76281         Use K&R-style defn.
76282
76283         2006-01-31  Roland McGrath  <roland@redhat.com>
76284
76285         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76286         Reported by Mike Frysinger <vapier@gentoo.org>.
76287
76288         2006-01-15  Andreas Jaeger  <aj@suse.de>
76289
76290         [BZ #1950]
76291         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76292         build_wcs_upper_buffer change.
76293         (build_wcs_upper_buffer): Change return type.
76294
76295         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76296
76297         * lib/regex_internal.h: Include <stdint.h> if available.
76298
76299         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76300
76301         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76302
76303         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76304
76305         * lib/regcomp.c: Adjust for changed secondary hash function.
76306
76307         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76308
76309         * lib/regex.h: Pretty printing.
76310         Clean up namespace a bit.
76311
76312         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76313
76314         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76315         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76316
76317         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76318                     Ulrich Drepper  <drepper@redhat.com>
76319
76320         [BZ #1302]
76321         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76322         changed.
76323         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76324
76325         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76326
76327         [BZ #281]
76328         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76329         * lib/regcomp.c: Remove unnecessary uses of
76330         unsigned RE_TRANSLATE_TYPE.
76331         * lib/regex_internal.h: Likewise.
76332         * lib/regex_internal.c: Likewise.
76333         * lib/regexec.c: Likewise.
76334         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76335
76336         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76337
76338         * lib/regexec.c (find_recover_state): Remove unnecessary
76339         initialization.
76340         (transit_state_bkref): Make DFA a const pointer.
76341         (get_subexp): Likewise.
76342         (check_arrival): Likewise.
76343         (update_cur_sifted_state): Likewise.
76344         (re_search_internal): Likewise.
76345         (prune_impossible_nodes): Likewise.
76346         (acquire_init_state_context): Likewise.
76347         (proceed_next_node): Likewise.
76348         (set_regs): Likewise.
76349         (free_fail_stack_return): Likewise.
76350         (check_arrival_expand_ecl): Mark DFA parameter as const.
76351         (check_arrival_expand_ecl_sub): Likewise.
76352         (check_subexp_limits): Likewise.
76353         (sub_epsilon_src_nodes):  Likewise.
76354         (add_epsilon_src_nodes):  Likewise.
76355         (merge_state_array): Likewise.
76356         (update_regs): Likewise.
76357         (build_trtable): Likewise.
76358         (sift_states_backward): Mark MCTX parameter as const.
76359         (build_sifted_states): Likewise.
76360         (update_cur_sifted_state): Likewise.
76361         (sift_states_mkref): Likewise.
76362         (check_arrival_expand_ecl): Mark eclosure as const.
76363         (check_dst_limits_calc_pos_1): Likewise.
76364         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76365         pointer.
76366
76367         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76368
76369         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76370         (transit_state_sb): Likewise.
76371         (transit_state_mb): Likewise.
76372         (sift_states_iter_mb): Likewise.
76373         (check_arrival_add_next_nodes): Likewise.
76374         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76375         [_LIBC] (re_search_2_stub): Use mempcpy.
76376
76377         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76378         mbrtowc for very simple UTF-8 case.
76379
76380         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76381         a pointer-to-const.
76382         (re_acquire_state_context): Likewise.
76383         * lib/regex_internal.h: Adjust prototypes.
76384
76385         * lib/regex.c: Prevent using C++ compilers.
76386
76387         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76388         (re_acquire_state_context): Likewise.
76389
76390 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76391
76392         * modules/regex (Depends-on): Add ssize_t.
76393
76394 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76395
76396         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76397         translation table.
76398
76399 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76400
76401         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76402
76403 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76404             Bruno Haible  <bruno@clisp.org>
76405
76406         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76407         <sys/types.h> and <inttypes.h>.
76408
76409 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76410
76411         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76412         `__error_t_defined', so argp.h will not typedef the former.
76413
76414 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76415
76416         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76417         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76418         glibc names.  Even if glibc is changed to conform to POSIX, the
76419         traditional names will be available anyway, since regex depends on
76420         the extensions module.  Also, fix a longstanding typo in the
76421         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76422         reported by Emanuele Giaquinta.  Also, change sense of cached
76423         variable, so that the message makes sense.
76424
76425 2006-03-24  Simon Josefsson  <jas@extundo.com>
76426
76427         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76428         including some doc fixes.
76429         (base64_encode_alloc): Fix +1 bug on allocation failures.
76430
76431 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76432
76433         * lib/base64.c (base64_encode): Do not read past end of array with
76434         unsanitized input on systems with CHAR_BIT > 8.
76435
76436 2006-03-24  Eric Blake  <ebb9@byu.net>
76437
76438         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76439
76440 2006-03-22  Karl Berry  <karl@gnu.org>
76441
76442         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76443         * config/srclistvars.sh (COREUTILS): new var.
76444
76445 2006-03-17  Jim Meyering  <jim@meyering.net>
76446
76447         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76448         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76449
76450 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76451
76452         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76453         no longer needs it.  Instead, check that regoff_t is as least
76454         as wide as ptrdiff_t.
76455
76456         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76457         so that our regex.h stays compatible with the installed regex.
76458         This is helpful for installers who configure --without-included-regex.
76459         Problem reported by Emanuele Giaquinta.
76460
76461 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76462
76463         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76464         Typedef to long int, not to off_, as POSIX will likely change
76465         in that direction.
76466
76467 2006-03-15  Eric Blake  <ebb9@byu.net>
76468
76469         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76470
76471 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76472
76473         * lib/argp-help.c (validate_uparams): Fix typo
76474         * lib/argp-parse.c (argp_default_options): Consistently begin help
76475         messages with a lowercase letter.
76476
76477 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76478
76479         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76480         overrun buffers and shouldn't be used (much as gets shouldn't be
76481         used).
76482         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76483
76484 2006-03-08  Simon Josefsson  <jas@extundo.com>
76485
76486         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76487         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76488
76489 2006-03-08  Simon Josefsson  <jas@extundo.com>
76490
76491         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76492         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76493
76494 2006-03-08  Simon Josefsson  <jas@extundo.com>
76495
76496         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76497         signal that configure disabled the device.
76498
76499 2006-03-08  Simon Josefsson  <jas@extundo.com>
76500
76501         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76502         languages.
76503
76504 2006-03-07  Simon Josefsson  <jas@extundo.com>
76505
76506         * modules/getopt (Depends-on): Add unistd.
76507
76508         * modules/unistd: New file.
76509
76510 2006-03-07  Simon Josefsson  <jas@extundo.com>
76511
76512         * modules/gc-random: New file.
76513
76514 2006-03-07  Simon Josefsson  <jas@extundo.com>
76515
76516         * m4/unistd_h.m4: New file.
76517
76518 2006-03-07  Simon Josefsson  <jas@extundo.com>
76519
76520         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76521         test to be side-effect free by storing the result in the cache
76522         variable gl_cv_lib_readline, and moving the assignment of
76523         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76524         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76525
76526 2006-03-07  Simon Josefsson  <jas@extundo.com>
76527
76528         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76529         error on missing devices (the functions will return an error).
76530
76531         * m4/gc.m4: Move random stuff to gc-random.m4
76532
76533 2006-03-07  Simon Josefsson  <jas@extundo.com>
76534
76535         * lib/unistd_.h: New file.
76536
76537 2006-03-07  Simon Josefsson  <jas@extundo.com>
76538
76539         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76540
76541 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76542
76543         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76544         Problem reported by Juan Manuel Guerrero.
76545
76546 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76547
76548         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76549         the unistd module.
76550         * lib/getlogin_r.c: Likewise.
76551         * lib/getlogin_r.h: Likewise.
76552         * lib/glob.c: Likewise.
76553         * lib/pagealign_alloc.c: Likewise.
76554         * lib/unistd_.h: Remove; no longer needed.
76555
76556 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76557
76558         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76559         Add unistd.
76560         * modules/c-stack (Depends-on): Add unistd.
76561         * modules/getlogin_r: Likewise.
76562         * modules/glob: Likewise.
76563         * modules/pagealign_alloc: Likewise.
76564         * modules/unistd (Files): Remove lib/unistd_.h.
76565         (EXTRA_DIST): Remove.
76566         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76567         need unistd_.h.
76568         (MOSTLYCLEANFILES): Remove unistd.h-t.
76569
76570 2006-03-03  Simon Josefsson  <jas@extundo.com>
76571
76572         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76573
76574 2006-03-03  Simon Josefsson  <jas@extundo.com>
76575
76576         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76577         libidn and bison.
76578
76579 2006-03-03  Simon Josefsson  <jas@extundo.com>
76580
76581         * build-aux/maint.mk: Add indent target.
76582
76583 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76584
76585         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76586         our replacement poll.h in any case, to avoid a differing
76587         declaration from a system header.  Seen on AIX.
76588
76589 2006-03-01  Simon Josefsson  <jas@extundo.com>
76590
76591         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76592         <kasal@ucw.cz>.
76593
76594 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76595
76596         * modules/gettime (Depends-on): Add extensions module.
76597         * modules/nanosleep (Depends-on): Likewise.
76598         * modules/settime (Depends-on): Likewise.
76599
76600 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76601
76602         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76603         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76604         pedantically.
76605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76606         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76607
76608         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76609         not "==".  Reported by Ralf Wildenhues.
76610
76611 2006-03-01  Karl Berry  <karl@gnu.org>
76612
76613         * doc/Copyright/request-*: new files, synced from gnuorg.
76614
76615 2006-03-01  Karl Berry  <karl@gnu.org>
76616
76617         * config/srclist.txt (Copyright/*): new entries.
76618
76619 2006-02-28  Simon Josefsson  <jas@extundo.com>
76620
76621         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76622
76623 2006-02-27  Simon Josefsson  <jas@extundo.com>
76624
76625         * lib/base64.h: Indent #define's.  From Jim Meyering
76626         <jim@meyering.net>.
76627
76628 2006-02-27  Jim Meyering  <jim@meyering.net>
76629
76630         Revert the change of 2006-02-24, so these files can continue
76631         to be sync'd from gettext.
76632         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76633         of `config.h'.
76634
76635 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76636
76637         * modules/intprops: New file.
76638         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76639         Add intprops.
76640         * modules/getloadavg (Files): Remove lib/intprops.h.
76641         (Depends-on): Add intprops.
76642         * modules/human: Likewise.
76643         * modules/inttostr: Likewise.
76644         * modules/openat: Likewise.
76645         * modules/sig2str: Likewise.
76646         * modules/userspec: Likewise.
76647         * modules/utimecmp: Likewise.
76648         * modules/xnanosleep: Likewise.
76649         * modules/xstrtol: Likewise.
76650
76651 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76652
76653         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76654         * modules/lock-tests (TESTS): Use $(EXEEXT).
76655         * modules/tls-tests: Likewise.
76656         * modules/argp-tests: Likewise.
76657         (check_PROGRAMS): New var, replacing...
76658         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76659
76660 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76661
76662         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76663         `config.h'.
76664
76665 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76666
76667         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76668
76669 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76670
76671         Sync from coreutils.
76672         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76673         gl_CHDIR_SAFER.
76674
76675 2006-02-22  Jim Meyering  <jim@meyering.net>
76676
76677         Sync from coreutils.
76678         * m4/chdir-safer.m4: New file.
76679
76680 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76681
76682         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76683         AT_FDCWD exceeds INT_MAX.
76684         * lib/openat.h (AT_FDCWD): Likewise.
76685
76686 2006-02-17  Eric Blake  <address@hidden>
76687
76688         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76689
76690 2006-02-16  Simon Josefsson  <jas@extundo.com>
76691
76692         * modules/getaddrinfo (Depends-on): Add sys_socket.
76693
76694 2006-02-15  Simon Josefsson  <jas@extundo.com>
76695
76696         * build-aux/maint.mk: Add dsyntax-check rule.
76697
76698 2006-02-15  Eric Blake  <ebb9@byu.net>
76699
76700         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76701         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76702         'present but cannot compile' warnings on cygwin.
76703         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76704         use ws2tcpip.h if sys/socket.h works.
76705         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76706         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76707
76708 2006-02-14  Simon Josefsson  <jas@extundo.com>
76709
76710         * modules/maintainer-makefile (Files): Rename.
76711
76712         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76713         and (the local) Makefile.cfg to maint-cfg.mk.
76714
76715         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76716         to the latter.
76717
76718         * modules/maintainer-makefile: New module.
76719
76720         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76721         severaly stripped to make it possible to build it up from scratch
76722         with reliable tests.
76723
76724         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76725         fixes to permit overriding the default actions when configure and
76726         makefile are not available.
76727
76728 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76729
76730         Sync from coreutils.
76731         * modules/lstat (Depends-on): Don't depend on xalloc.
76732         (License): Change from GPL to LGPL, since this is now simply a
76733         replacement for a libc function.
76734
76735 2006-02-14  Jim Meyering  <jim@meyering.net>
76736
76737         Sync from coreutils.
76738
76739         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76740         failure on deficient systems, and simplify gnulib lgpl dependencies.
76741         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76742         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76743
76744         * lib/xalloc-die.c: Remove unused definition of N_.
76745
76746 2006-02-14  Jim Meyering  <jim@meyering.net>
76747
76748         Sync from coreutils.
76749         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76750         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76751         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76752         double-quote uses of that variable, to accommodate the rare case in
76753         which getmntent is available in none of the libraries checked.  This
76754         happens at least on FreeBSD 5.0.
76755
76756 2006-02-13  Simon Josefsson  <jas@extundo.com>
76757
76758         * gnulib-tool (Usage): Fix --import, from
76759         karl@freefriends.org (Karl Berry).
76760
76761 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76762
76763         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76764
76765 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76766
76767         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76768         "autoupdate" on 2005-12-12.
76769
76770 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76771
76772         * modules/closeout (Depends-on): Remove atexit.
76773
76774 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76775
76776         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76777         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76778
76779 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76780
76781         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76782         __EXTENSIONS__ if this causes compilation to fail.  Problem
76783         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76784         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76785
76786 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76787
76788         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76789         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76790         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76791         All uses changed.
76792
76793 2006-01-26  Simon Josefsson  <jas@extundo.com>
76794
76795         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76796         prototype is visible on mingw32.
76797
76798         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
76799         for mingw32.
76800
76801         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
76802         mingw32).
76803
76804 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
76805
76806         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
76807         attempt to open for write; this always fails, at least on POSIX
76808         hosts.  This reinstates the 2006-01-09 change, which was
76809         inadvertently removed.
76810
76811 2006-01-26  Bruno Haible  <bruno@clisp.org>
76812
76813         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76814         Reported by Paul Eggert.
76815
76816 2006-01-26  Bruno Haible  <bruno@clisp.org>
76817             Paul Eggert  <eggert@cs.ucla.edu>
76818
76819         * lib/stdbool_.h (_Bool)
76820         [(! (defined __cplusplus || defined __BEOS__)
76821           && !defined __GNUC__
76822           && !(defined __HP_cc || defined __xlc__
76823                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76824                || defined __sgi))]:
76825         #define to signed char in these cases too; this simplifies
76826         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76827         etc., separately) and makes it more conservative.
76828
76829 2006-01-25  Simon Josefsson  <jas@extundo.com>
76830
76831         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76832         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76833         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76834
76835 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76836
76837         * lib/argp-namefrob.h: Bugfix. Remove stray #
76838
76839 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76840
76841         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76842         so that we test the test.
76843         Check for yet another HP-UX cc bug involving *bool |= bool.
76844
76845 2006-01-25  Karl Berry  <karl@gnu.org>
76846
76847         * config/srclist.txt (vasnprintf.c): sync lost.
76848
76849 2006-01-25  Jim Meyering  <jim@meyering.net>
76850
76851         Sync from the stable (b5) branch of coreutils:
76852
76853         * lib/fts.c (fts_children): Don't let close() clobber errno from
76854         failed fchdir().
76855
76856         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76857         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76858         a dangling symlink.  That can also happen at least for ELOOP.
76859         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76860         FYI, this bug predates the inclusion of fts.c in coreutils.
76861
76862         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76863         in their own block, so pre-c99 compilers don't object.
76864
76865         Avoid the double-free (first in fts_read, second in fts_close) that
76866         would occur when an `active' directory is made inaccessible (e.g.,
76867         via chmod a-x) during a traversal.
76868         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76869         before returning.  Reproduce this failure by
76870         mkdir -p a/b; cd a; chmod a-x . b
76871         Reported by Stavros Passas.
76872
76873 2006-01-25  Jim Meyering  <jim@meyering.net>
76874
76875         * lib/fileblocks.c: Remove more useless parentheses.
76876         * lib/readutmp.h: Likewise.
76877
76878 2006-01-25  Bruno Haible  <bruno@clisp.org>
76879
76880         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76881         warnings.
76882         Reported by Paul Eggert.
76883
76884 2006-01-25  Bruno Haible  <bruno@clisp.org>
76885
76886         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76887         rid of a trap command. For Solaris sh.
76888         Reported by Mark D. Baushke <mdb@gnu.org>.
76889
76890 2006-01-24  Simon Josefsson  <jas@extundo.com>
76891
76892         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76893         Bruno.
76894
76895 2006-01-24  Karl Berry  <karl@gnu.org>
76896
76897         * config/srclist.txt (argp-namefrob.h): sync lost.
76898
76899 2006-01-24  Jim Meyering  <jim@meyering.net>
76900
76901         * modules/openat (Files): Add lib/intprops.h.
76902         From Mark D. Baushke.
76903
76904 2006-01-24  Jim Meyering  <jim@meyering.net>
76905
76906         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76907         Reported by Mark D. Baushke.
76908
76909 2006-01-24  Jim Meyering  <jim@meyering.net>
76910
76911         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76912
76913 2006-01-24  Bruno Haible  <bruno@clisp.org>
76914
76915         * modules/strnlen (Maintainer): Change from glibc to all.
76916
76917 2006-01-24  Bruno Haible  <bruno@clisp.org>
76918
76919         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
76920         Patch by Paul Eggert.
76921
76922 2006-01-24  Bruno Haible  <bruno@clisp.org>
76923
76924         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
76925         already has it.
76926         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
76927         2005-11-26.
76928
76929         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
76930         'signed char' to avoid problems with the built-in _Bool type.
76931         Reported by Paul Eggert on 2005-11-26.
76932
76933 2006-01-24  Bruno Haible  <bruno@clisp.org>
76934
76935         * gnulib-tool (func_import): Avoid constructing complicated sed
76936         expressions inside backquote.
76937         Report and solution by Mark D. Baushke <mdb@gnu.org>.
76938
76939 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
76940
76941         These changes imported from libc.
76942         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
76943         test and two separate function calls.
76944         * lib/strndup.c (__strndup): Add libc_hidden_def.
76945
76946 2006-01-23  Simon Josefsson  <jas@extundo.com>
76947
76948         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
76949         Remove the test_*_SOURCES variable: automake infers it by default.
76950         * modules/tls-tests: Likewise.
76951
76952 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76953
76954         Work around porting bugs reported by Dieter in
76955         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
76956         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
76957         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
76958         Include "getopt.h" first, to check interface.
76959         (getenv): Declare only if defined HAVE_DECL_GETENV &&
76960         !HAVE_DECL_GETENV.
76961         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
76962         (__strndup): Revert to K&R-style function dfns, the glibc style.
76963         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
76964         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
76965         Include strnlen.h first, to get prototype properly.
76966         (strnlen): Renamed from __strnlen.
76967         Remove weak alias.
76968
76969 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76970
76971         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
76972
76973 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76974
76975         * config/srclist.txt: Adjust to reflect glibc reorganization.
76976         This affects only comments.
76977
76978 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76979
76980          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
76981          Reported by Bruce Korb <bkorb@gnu.org>.
76982
76983 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
76984
76985         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
76986         to pacify gcc -Wswitch-default.
76987
76988 2006-01-22  Bruno Haible  <bruno@clisp.org>
76989
76990         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
76991         temporary buffer for sprintf, take into account the precision also
76992         for 'd', 'i', 'u', 'o', 'x', 'X'.
76993
76994 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76995
76996         * modules/argp-tests: New module
76997         * tests/test-argp.c: New file
76998         * tests/test-argp-2.sh: New file
76999
77000 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77001
77002         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77003         (__argp_base_name): Removed
77004         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77005         typo.
77006         (__argp_base_name): Provide macro definition or extern declaration
77007         depending on the configuration
77008
77009 2006-01-20  Simon Josefsson  <jas@extundo.com>
77010
77011         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77012
77013 2006-01-20  Simon Josefsson  <jas@extundo.com>
77014
77015         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77016
77017 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77018
77019         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77020         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77021         Suggested by Bruno Haible.
77022
77023 2006-01-20  Karl Berry  <karl@gnu.org>
77024
77025         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77026         until changes propagate, I guess.
77027
77028 2006-01-19  Simon Josefsson  <jas@extundo.com>
77029
77030         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77031
77032 2006-01-19  Simon Josefsson  <jas@extundo.com>
77033
77034         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77035
77036 2006-01-19  Simon Josefsson  <jas@extundo.com>
77037
77038         * gnulib-tool: Set check_PROGRAMS.
77039
77040         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77041         modules/des-tests, modules/gc-arcfour-tests,
77042         modules/gc-arctwo-tests, modules/gc-des-tests,
77043         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77044         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77045         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77046         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77047         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77048         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77049         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77050         test_*_SOURCES.
77051
77052 2006-01-18  Simon Josefsson  <jas@extundo.com>
77053
77054         * modules/socklen (Depends-on): Depend on sys_socket.
77055
77056 2006-01-18  Simon Josefsson  <jas@extundo.com>
77057
77058         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77059         modules/des-tests, modules/gc-arcfour-tests,
77060         modules/gc-arctwo-tests, modules/gc-des-tests,
77061         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77062         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77063         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77064         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77065         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77066         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77067         $(EXEEXT) to automake TESTS variable, for mingw32.
77068
77069 2006-01-17  Simon Josefsson  <jas@extundo.com>
77070
77071         * modules/socklen (Include): Need sys/socket.h.
77072
77073 2006-01-17  Bruno Haible  <bruno@clisp.org>
77074
77075         * modules/ssize_t (Include): Add <sys/types.h>.
77076
77077 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77078
77079         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77080         it's not portable and it doesn't work with cross-compiles.
77081         Problem reported by Bruno Haible.  Fix missing-$ typo in
77082         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77083         -zignore from being used with Sun's C compiler.
77084
77085 2006-01-12  Simon Josefsson  <jas@extundo.com>
77086
77087         * lib/base64.c: Fix warning, reported by Bruno Haible
77088         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77089
77090 2006-01-12  Bruno Haible  <bruno@clisp.org>
77091
77092         * modules/ldd: New file.
77093         * build-aux/ldd.sh.in: New file.
77094         * MODULES.html.sh (Support for building libraries and executables): Add
77095         ldd.
77096
77097 2006-01-12  Bruno Haible  <bruno@clisp.org>
77098
77099         * m4/ldd.m4: New file.
77100
77101 2006-01-12  Bruno Haible  <bruno@clisp.org>
77102
77103         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77104         endless loop while replacing $auxdir with build-aux.
77105
77106 2006-01-11  Simon Josefsson  <jas@extundo.com>
77107
77108         * lib/stdint_.h (SIZE_MAX): Add missing (.
77109
77110 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77111
77112         Sync from coreutils.
77113         * lib/md5.c: Fix commentary typos.
77114         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77115         * lib/md5.h (__attribute__): Remove; unused.
77116         * lib/sha1.c: Fix commentary to match md5 better.
77117         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77118         so that we don't need to worry about alignment.  All uses changed.
77119         This merges the 2005-10-28 md5 change into sha1.
77120
77121 2006-01-11  Jim Meyering  <jim@meyering.net>
77122
77123         Sync from coreutils.
77124         * lib/md5.c (OP): Fix spacing.
77125
77126 2006-01-11  Bruno Haible  <bruno@clisp.org>
77127
77128         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77129         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77130         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77131
77132 2006-01-11  Bruno Haible  <bruno@clisp.org>
77133
77134         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77135         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77136         the "early" section as well.
77137
77138 2006-01-11  Bruno Haible  <bruno@clisp.org>
77139
77140         Avoid "ar: no archive members specified" error on MacOS X.
77141         * gnulib-tool (func_modules_add_dummy): New function.
77142         (func_import, func_create_testdir): Invoke it.
77143
77144 2006-01-11  Bruno Haible  <bruno@clisp.org>
77145
77146         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77147         with $auxdir in AC_CONFIG_FILES statements.
77148
77149 2006-01-11  Bruno Haible  <bruno@clisp.org>
77150
77151         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77152         Initialize also noinst_HEADERS to empty.
77153
77154 2006-01-11  Bruno Haible  <bruno@clisp.org>
77155
77156         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77157         variables.
77158         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77159         autoreconf.
77160
77161 2006-01-11  Bruno Haible  <bruno@clisp.org>
77162
77163         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77164         overridable by the user.
77165         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77166
77167 2006-01-10  Simon Josefsson  <jas@extundo.com>
77168
77169         * modules/sys_socket: New file.
77170
77171 2006-01-10  Simon Josefsson  <jas@extundo.com>
77172
77173         * m4/sys_socket_h.m4: New file.
77174
77175 2006-01-10  Simon Josefsson  <jas@extundo.com>
77176
77177         * lib/socket_.h: New file.
77178
77179 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77180
77181         * modules/readutmp (Maintainer): Add myself.
77182
77183 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77184
77185         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77186         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77187         People who are still concerned with buggy memcmp implementations
77188         can invoke gl_FUNC_MEMCMP themselves.
77189
77190 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77191
77192         * lib/regex_internal.h (BITSET_WORD_BITS):
77193         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77194         preprocessor mishandles large unsigned values as if they were signed.
77195         Problem reported by Claudio Fontana in
77196         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77197
77198 2006-01-10  Jim Meyering  <jim@meyering.net>
77199
77200         Avoid the double-free (first in fts_read, second in fts_close) that
77201         would occur when an `active' directory is made inaccessible (e.g.,
77202         via chmod a-x) during a traversal.
77203         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77204         before returning.  Reproduce this failure by
77205         mkdir -p a/b; cd a; chmod a-x . b
77206         Reported by Stavros Passas.
77207
77208         Sync from coreutils.
77209         * lib/sha1.c: Tweak grammar in a comment.
77210
77211 2006-01-10  Jim Meyering  <jim@meyering.net>
77212
77213         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77214         Patch by Joerg Sonnenberger.
77215
77216 2006-01-10  Bruno Haible  <bruno@clisp.org>
77217
77218         * modules/readutmp: Depend on module free.
77219         * modules/strtok_r: Depend on module restrict.
77220
77221 2006-01-10  Bruno Haible  <bruno@clisp.org>
77222
77223         * modules/gettext (configure.ac): Add an invocation of
77224         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77225
77226 2006-01-10  Bruno Haible  <bruno@clisp.org>
77227
77228         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77229         Reported by Werner Lemberg <wl@gnu.org>.
77230
77231 2006-01-10  Bruno Haible  <bruno@clisp.org>
77232
77233         * lib/localcharset.c: Update from GNU gettext.
77234
77235 2006-01-10  Bruno Haible  <bruno@clisp.org>
77236
77237         * lib/argp.h (__const): Remove macro. Use const instead.
77238         * lib/argp-fmtstream.h (__const): Likewise.
77239         * lib/glob_.h (__const): Remove macro.
77240         * lib/glob-libc.h: Use const instead of __const.
77241
77242 2006-01-10  Bruno Haible  <bruno@clisp.org>
77243
77244         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77245         variable.
77246         Needed to avoid an automake error regarding the 'gettext' module.
77247
77248 2006-01-09  Simon Josefsson  <jas@extundo.com>
77249
77250         * modules/inet_ntop (Depends-on): Add restrict.
77251
77252 2006-01-09  Simon Josefsson  <jas@extundo.com>
77253
77254         * modules/gc-rijndael-tests (License): Put under LGPL.
77255
77256         * modules/gc-des-tests (License): Likewise.
77257
77258         * modules/gc-arcfour-tests (License): Likewise.
77259
77260         * modules/gc-arctwo-tests (License): Likewise.
77261
77262         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77263
77264         * modules/gc-hmac-sha1-tests (Files): Likewise.
77265
77266         * modules/gc-hmac-md5-tests (License): Likewise.
77267
77268         * modules/gc-sha1-tests (License): Likewise.
77269
77270         * modules/gc-md5-tests (License): Likewise.
77271
77272         * modules/gc-md4-tests (License): Likewise.
77273
77274         * modules/gc-md2-tests (License): Likewise.
77275
77276         * modules/gc-tests (License): Likewise.
77277
77278         * modules/des-tests (License): Likewise.
77279
77280         * modules/md4-tests (License): Likewise.
77281
77282         * modules/md2-tests (License): Likewise.
77283
77284 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77285
77286         Sync from coreutils:
77287
77288         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77289         * modules/lib-ignore: New file.
77290         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77291         chdir-safer.m4, lchmod.m4.
77292         * modules/openat: Add mkdirat.c, openat-priv.h.
77293
77294 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77295
77296         Sync from coreutils.
77297         * m4/lib-ignore.m4: New file.
77298         * m4/lchmod.m4: New file.
77299
77300 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77301
77302         Sync from coreutils.
77303         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77304         for write access: POSIX says that must fail.
77305         * lib/fts.c (diropen): Likewise.
77306         * lib/save-cwd.c (save_cwd): Likewise.
77307         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77308         well, for minor improvements on hosts that lack O_DIRECTORY.
77309         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77310         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77311         Fall back on chown if open failed with EACCES.
77312
77313         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77314         Report an error at compile-time if only a 1-second nominal clock
77315         resolution is found.
77316
77317         * lib/lchmod.h: New file.
77318         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77319         (make_dir_parents): Use lchown rather than chown, and
77320         lchmod rather than chmod.
77321
77322         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77323         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77324         "proc" reported by n0dalus.
77325
77326         * lib/mountlist.c: Include <limits.h>.
77327         (dev_from_mount_options)
77328         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77329         New function.  It no longer assumes "dev=" has the System V meaning
77330         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77331         (read_file_system_list)
77332         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77333         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77334         dev= in that case.
77335
77336         * lib/posixtm.h (PDS_PRE_2000): New macro.
77337         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77338         allow_century.  All usages changed.  Reject dates outside the range
77339         1969-1999 if PDS_PRE_2000 is used.
77340
77341 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77342
77343         Sync from coreutils.
77344         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77345         (Time of day items): Mention the possibility of leap seconds.
77346         Problem reported by Dr. David Alan Gilbert.
77347
77348 2006-01-09  Jim Meyering  <jim@meyering.net>
77349
77350         Sync from coreutils.
77351
77352         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77353
77354         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77355
77356         * lib/modechange.c (mode_compile): Reject an invalid mode string
77357         that starts with an octal digit.  From Andreas Gruenbacher.
77358
77359         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77360         and dup to open_safer and dup_safer, respectively.
77361         (openat_permissive): Fix typo in comment.
77362
77363         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77364         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77365         (_): Remove; no longer needed.
77366         (openat): Renamed from rpl_openat; no need for rpl_openat
77367         since openat.h renames openat for us.
77368         Replace most of the body with a call to openat_permissive,
77369         to avoid duplicate code.
77370         Port to (probably hypothetical) environments were mode_t is
77371         wider than int.
77372         (openat_permissive): Require mode arg, so that we can check
77373         types better.  Put it just after flags.  Change cwd failure
77374         indicator from pointer-to-bool to pointer-to-errno-value.
77375         All callers changed.
77376         Invoke openat_save_fail and/or openat_restore_fail if
77377         cwd_errno is null, so that openat can call us.
77378         (openat_permissive, fdopendir, fstatat, unlinkat):
77379         Simplify errno handling to avoid some duplicate code,
77380         as it's OK to set errno on success.
77381         * lib/openat.h: Revamp code so that function macros depend on
77382         __OPENAT_PREFIX only, not also on AT_FDCWD.
77383         (openat_ro): Remove.  Caller changed to use openat_permissive.
77384         (openat_permissive): Now a macro, if not a function.
77385         (openat_restore_fail, openat_save_fail): Now always functions,
77386         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77387
77388         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77389         and openat.c.
77390         * lib/mkdirat.c: Include openat-priv.h.
77391         Remove definitions of macros defined therein.
77392         * lib/openat.c: Likewise.
77393
77394         * lib/mkdirat.c (mkdirat): New file and function.
77395         * lib/openat.h (mkdirat): Declare.
77396
77397         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77398
77399         * lib/openat.h (openat_permissive): Declare.
77400         (openat_ro): Define.
77401
77402         * lib/openat.c (EXPECTED_ERRNO): New macro.
77403         (openat_permissive): New function -- used in remove.c rewrite.
77404         (all functions): Set errno just before returning, only if there
77405         was an actual failure.
77406         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77407
77408         Emulate openat-family functions using Linux's procfs, if possible.
77409         Idea and some code based on Ulrich Drepper's glibc changes.
77410
77411         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77412         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77413         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77414         before falling back on save_cwd and restore_cwd.
77415         (fdopendir, fstatat, unlinkat): Likewise.
77416
77417         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77418         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77419
77420         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77421         as second argument to va_arg.  Otherwise, some versions of gcc
77422         warn that `if this code is reached, the program will abort'.
77423
77424 2006-01-09  Jim Meyering  <jim@meyering.net>
77425
77426         Sync from coreutils.
77427         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77428         Require openat-priv.h.
77429
77430 2006-01-09  Bruno Haible  <bruno@clisp.org>
77431
77432         * modules/strnlen (Include): Use strnlen.h.
77433
77434 2006-01-09  Bruno Haible  <bruno@clisp.org>
77435
77436         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77437
77438 2006-01-09  Bruno Haible  <bruno@clisp.org>
77439
77440         * lib/sysexit_.h (EX_OK): New macro.
77441         Suggested by Martin Lambers <marlam@marlam.de>.
77442
77443 2006-01-09  Bruno Haible  <bruno@clisp.org>
77444
77445         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77446         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77447
77448 2006-01-09  Bruno Haible  <bruno@clisp.org>
77449
77450         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77451         numbers.
77452
77453 2006-01-09  Bruno Haible  <bruno@clisp.org>
77454
77455         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77456         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77457         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77458         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77459
77460 2006-01-09  Bruno Haible  <bruno@clisp.org>
77461
77462         * build-aux/javacomp.sh.in: New file, moved from lib/.
77463         * modules/javacomp-script (Files): Update.
77464         (configure.ac): Add AC_CONFIG_FILES invocation.
77465         (EXTRA_DIST): Remove variable.
77466
77467         * build-aux/javaexec.sh.in: New file, moved from lib/.
77468         * modules/javaexec (Files): Update.
77469         (configure.ac): Add AC_CONFIG_FILES invocation.
77470         (EXTRA_DIST): Remove javaexec.sh.in.
77471
77472         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77473         * modules/csharpcomp-script (Files): Update.
77474         (configure.ac): Add AC_CONFIG_FILES invocation.
77475         (EXTRA_DIST): Remove variable.
77476
77477         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77478         * modules/csharpexec (Files): Update.
77479         (configure.ac): Add AC_CONFIG_FILES invocation.
77480         (EXTRA_DIST): Remove csharpexec.sh.in.
77481
77482 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77483
77484         Sync from coreutils.
77485
77486         Add POSIX ACL support
77487         * lib/acl.h (copy_acl, set_acl): Add declarations.
77488         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77489         systems other than Linux.
77490         (chmod_or_fchmod): New function: use fchmod when possible,
77491         and chmod otherwise.
77492         (file_has_acl): Add a POSIX ACL implementation, with a
77493         Linux-specific subcase.
77494         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77495         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77496         acls are unsupported.
77497         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77498         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77499         are unsupported.
77500
77501 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77502
77503         Sync from coreutils.
77504         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77505
77506 2006-01-07  Bruno Haible  <bruno@clisp.org>
77507
77508         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77509         gl_EARLY.
77510
77511 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77512
77513         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77514         Problem reported for Mingw by Mark Junker.
77515
77516 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77517
77518         * README: Gnulib normally doesn't generate a tarball.
77519
77520 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77521
77522         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77523         long int, not int, for nanosecond counts, so that people who are
77524         used to POSIX struct timespec won't be surprised.  Reported by Jim
77525         Meyering.
77526
77527 2005-12-28  Bruno Haible  <bruno@clisp.org>
77528
77529         * build-aux/config.rpath: Update from GNU gettext.
77530
77531 2005-12-16  Jim Meyering  <jim@meyering.net>
77532
77533         * modules/fprintftime: New module.
77534         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77535
77536 2005-12-16  Jim Meyering  <jim@meyering.net>
77537
77538         * m4/fprintftime.m4: New file.
77539
77540 2005-12-16  Jim Meyering  <jim@meyering.net>
77541
77542         * lib/fprintftime.c, lib/fprintftime.h: New files.
77543
77544 2005-12-15  Simon Josefsson  <jas@extundo.com>
77545
77546         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77547         new m4/socklen.m4.
77548
77549 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77550
77551         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77552         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77553
77554 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77555
77556         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77557         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77558         struct uparams is valid. Fall back to the default values if it is
77559         not.
77560
77561 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77562
77563         * modules/argp (Files): Add argp-pin.c
77564         (Depends-on): dirname
77565         (lib_SOURCES): Add argp-pin.c
77566
77567 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77568
77569         * m4/argp.m4:  Check if program_invocation_name and
77570         program_invocation_short_name are declared and define appropriate
77571         macros if they are not.
77572
77573 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77574
77575         * lib/argp-help.c (__argp_base_name): New function
77576         (__argp_short_program_name): Rewrite using __argp_base_name
77577         * lib/argp-namefrob.h: Define program_invocation_name and
77578         program_invocation_short_name if requested
77579         (__argp_base_name): Add prototype
77580         * lib/argp-parse.c (argp_def): Use gettext wrappers
77581         (argp_default_parser): Use __argp_base_name
77582         * lib/argp-pin.c: New file. Defines program_invocation_name and
77583         program_invocation_short_name on systems that lack them.
77584
77585 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77586
77587         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77588         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77589         porting problem reported by Georg Schwarz in
77590         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77591
77592 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77593
77594         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77595         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77596         porting problem reported by Georg Schwarz in
77597         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77598
77599 2005-12-05  Bruno Haible  <bruno@clisp.org>
77600
77601         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77602         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77603         Reported by Mark Junker <mjscod@gmx.de>.
77604
77605 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77606
77607         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77608         Use implementation from Albert Chin, with some
77609         comments/corrections by Stepan Kasal and myself.
77610
77611 2005-12-02  Bruno Haible  <bruno@clisp.org>
77612
77613         * gnulib-tool (func_import): Accept GPLed build tool modules when
77614         --lgpl is given.
77615         * modules/csharpcomp-script: New file.
77616         * modules/csharpcomp: Depend on it.
77617         * modules/javacomp-script: New file.
77618         * modules/javacomp: Depend on it.
77619         Suggested by Simon Josefsson.
77620
77621 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77622
77623         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77624         statement, to work around an HP-UX 10.20 compiler bug reported by
77625         Peter O'Gorman.
77626
77627 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77628
77629         * modules/savedir (Depends-on): Add openat.
77630
77631 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77632
77633         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77634         (uintmax_t) [defined uintmax_t]: Do not declare.
77635         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77636         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77637         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77638         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77639         sake of portability to weird hosts that C allows (though we don't
77640         know of any practical examples).
77641
77642         * lib/savedir.h (fdsavedir): New decl.
77643         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77644         contains most of the former guts of savedir.
77645         (savedir): Use savedirstream.
77646         Include "openat.h".
77647
77648 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77649
77650         * modules/obstack (Files): Add m4/ulonglong.m4.
77651         Problem reported by Davide Angelocola.
77652
77653 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77654
77655         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77656         coreutils no longer futzes with rounding modes.
77657
77658 2005-11-14  Jim Meyering  <jim@meyering.net>
77659
77660         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77661         replacement of mkstemp.
77662
77663 2005-11-10  Simon Josefsson  <jas@extundo.com>
77664
77665         * lib/readline.c: Remove EOL.
77666
77667 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77668
77669         * modules/gethrxtime (Depends-on): Add gettime.
77670
77671 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77672
77673         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77674         or gettimeofday; no longer needed.
77675
77676 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77677
77678         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77679         time business.
77680         (gethrxtime) [! (HAVE_NANOUPTIME
77681         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77682         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77683         our own approximation.
77684
77685 2005-11-08  Eric Blake  <ebb9@byu.net>
77686
77687         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77688
77689 2005-11-08  Eric Blake  <ebb9@byu.net>
77690
77691         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77692
77693 2005-11-04  Bruno Haible  <bruno@clisp.org>
77694
77695         * gnulib-tool: Implement --update mode.
77696
77697 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77698
77699         Fix porting problem reported by Theodoros V. Kalamatianos.
77700         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77701         Don't assume that futimes failing means we must fail.
77702
77703 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77704
77705         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77706         variables to suggest the intended function of the PATH_MAX check.
77707
77708 2005-10-30  Kean Johnston  <jkj@sco.com>
77709
77710         Trivial changes to support SCO systems.
77711         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77712         as PATH_MAX.
77713         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77714         where __ptr is null when no I/O is pending.
77715
77716 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77717
77718         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77719         leave errno alone.  Problem reported by Dmitry V. Levin.
77720
77721 2005-10-28  Simon Josefsson  <jas@extundo.com>
77722
77723         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77724         Test more.
77725
77726         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77727
77728         * modules/md2, modules/md2-tests: New files.
77729
77730 2005-10-28  Simon Josefsson  <jas@extundo.com>
77731
77732         * m4/inet_ntop.m4: More tests.
77733
77734         * m4/gc-md2.m4, md2.m4: New file.
77735
77736 2005-10-28  Simon Josefsson  <jas@extundo.com>
77737
77738         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77739         "restrict" keywords, as per POSIX.  Protect the function
77740         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77741         Don't use K&R prototypes.  Check the sprintf return values.
77742         Re-define EAFNOSUPPORT if not present.  Indent.
77743
77744         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77745         suggested by Bruno Haible <bruno@clisp.org>.
77746
77747         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77748
77749         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77750
77751         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77752         libgcrypt).
77753
77754         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77755
77756         * lib/md2.h, lib/md2.c: New files.
77757
77758 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77759
77760         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77761         errno alone.  Problem reported by Frederic Jolliton.
77762
77763 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77764
77765         * modules/verify (License): Change from GPL to LGPL.  This is a
77766         tiny module and there are apparently near-equivalents that are
77767         under the BSD license.
77768
77769 2005-10-24  Simon Josefsson  <jas@extundo.com>
77770
77771         * modules/sha1: Relicense to LGPL.
77772
77773 2005-10-24  Simon Josefsson  <jas@extundo.com>
77774
77775         * lib/md4.h: Shrink buffer size, now that we changed the type.
77776
77777 2005-10-23  Simon Josefsson  <jas@extundo.com>
77778
77779         * gnulib-tool (func_import): Fix --tests-base.
77780
77781 2005-10-22  Simon Josefsson  <jas@extundo.com>
77782
77783         * modules/arcfour (Depends-on): Need stdint.
77784
77785 2005-10-22  Simon Josefsson  <jas@extundo.com>
77786
77787         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77788         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77789
77790 2005-10-22  Simon Josefsson  <jas@extundo.com>
77791
77792         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77793         suggested by Bruno Haible <bruno@clisp.org>.
77794
77795 2005-10-22  Simon Josefsson  <jas@extundo.com>
77796
77797         * lib/crc.h: Include stddef.h, for size_t.
77798
77799 2005-10-22  Simon Josefsson  <jas@extundo.com>
77800
77801         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
77802         arcfour_context struct (simplify test vector testing in GNU
77803         Shishi).
77804
77805 2005-10-21  Simon Josefsson  <jas@extundo.com>
77806
77807         * modules/des, modules/des-tests: New files.
77808
77809         * modules/gc-des, modules/gc-des-tests: New files.
77810
77811         * tests/test-des.c, tests/test-gc-des.c: New file.
77812
77813 2005-10-21  Simon Josefsson  <jas@extundo.com>
77814
77815         * modules/arctwo, modules/arctwo-tests: New files.
77816
77817         * tests/test-arctwo.c: New file.
77818
77819         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77820
77821         * tests/test-gc-arctwo.c: New file.
77822
77823 2005-10-21  Simon Josefsson  <jas@extundo.com>
77824
77825         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77826         Bruno Haible <bruno@clisp.org>.
77827
77828         * m4/gc-des.m4: New file.
77829
77830 2005-10-21  Simon Josefsson  <jas@extundo.com>
77831
77832         * m4/arctwo.m4: New file.
77833
77834         * m4/gc-arctwo.m4: New file.
77835
77836 2005-10-21  Simon Josefsson  <jas@extundo.com>
77837
77838         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77839         block.
77840
77841 2005-10-21  Simon Josefsson  <jas@extundo.com>
77842
77843         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77844         <bruno@clisp.org>.
77845
77846         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77847
77848         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77849         Bruno Haible <bruno@clisp.org>.
77850
77851         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77852         <bruno@clisp.org>.
77853
77854 2005-10-21  Simon Josefsson  <jas@extundo.com>
77855
77856         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77857
77858 2005-10-21  Simon Josefsson  <jas@extundo.com>
77859
77860         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77861
77862 2005-10-21  Simon Josefsson  <jas@extundo.com>
77863
77864         * lib/des.h, lib/des.c: New files.
77865
77866         * lib/gc-gnulib.c: Support DES.c
77867
77868 2005-10-21  Simon Josefsson  <jas@extundo.com>
77869
77870         * lib/arctwo.h, lib/arctwo.c: New files.
77871
77872         * lib/gc-gnulib.c: Support ARCTWO.
77873
77874 2005-10-21  Simon Josefsson  <jas@extundo.com>
77875
77876         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77877         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77878
77879 2005-10-21  Simon Josefsson  <jas@extundo.com>
77880
77881         * gnulib-tool (func_import, func_create_testdir): Define automake
77882         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77883         Makefile.am snippet),
77884         suggested by Bruno Haible <bruno@clisp.org>.
77885
77886         * modules/gc (Makefile.am): Use it.
77887
77888 2005-10-21  Bruno Haible  <bruno@clisp.org>
77889
77890         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77891         patch.
77892
77893 2005-10-19  Simon Josefsson  <jas@extundo.com>
77894
77895         * tests/test-gc-rijndael.c: New file.
77896
77897         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77898
77899 2005-10-19  Simon Josefsson  <jas@extundo.com>
77900
77901         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77902         interface too.
77903
77904 2005-10-19  Simon Josefsson  <jas@extundo.com>
77905
77906         * tests/test-gc-arcfour.c: New file.
77907
77908         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77909
77910 2005-10-19  Simon Josefsson  <jas@extundo.com>
77911
77912         * modules/gc-md4, modules/gc-md4-tests: New file.
77913
77914         * tests/test-gc-md4.c: New file.
77915
77916 2005-10-19  Simon Josefsson  <jas@extundo.com>
77917
77918         * m4/gc-md4.m4: New file.
77919
77920 2005-10-19  Simon Josefsson  <jas@extundo.com>
77921
77922         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
77923         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
77924         <kasal@ucw.cz>.
77925
77926 2005-10-19  Simon Josefsson  <jas@extundo.com>
77927
77928         * m4/gc-arcfour.m4: New file.
77929
77930         * m4/gc-rijndael.m4: New file.
77931
77932 2005-10-19  Simon Josefsson  <jas@extundo.com>
77933
77934         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
77935
77936 2005-10-19  Simon Josefsson  <jas@extundo.com>
77937
77938         * lib/gc-gnulib.c: Support ARCFOUR.
77939
77940 2005-10-19  Simon Josefsson  <jas@extundo.com>
77941
77942         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
77943         support.
77944
77945         * lib/gc.h: Add ECB enum type.
77946
77947         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
77948
77949 2005-10-18  Simon Josefsson  <jas@extundo.com>
77950
77951         * tests/test-md5.c: New file.
77952
77953         * modules/md5-tests: New file.
77954
77955 2005-10-18  Simon Josefsson  <jas@extundo.com>
77956
77957         * tests/test-md4.c: New file.
77958
77959         * modules/md4, modules/md4-tests: New files.
77960
77961 2005-10-18  Simon Josefsson  <jas@extundo.com>
77962
77963         * m4/md4.m4: New file.
77964
77965 2005-10-18  Simon Josefsson  <jas@extundo.com>
77966
77967         * lib/md4.h, lib/md4.c: New files, based on md5.?.
77968
77969 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
77970
77971         * gnulib-tool (func_create_testdir): Omit the second check whether
77972         BUILT_SOURCES in nonempty.
77973
77974 2005-10-17  Simon Josefsson  <jas@extundo.com>
77975
77976         * tests/test-rijndael.c: New file.
77977
77978 2005-10-17  Simon Josefsson  <jas@extundo.com>
77979
77980         * modules/sha1: Depend on stdint instead of md5.
77981
77982         * modules/md5: Depend on stdint, remove uint32_t.
77983
77984 2005-10-17  Simon Josefsson  <jas@extundo.com>
77985
77986         * modules/gc-sha1-tests: New file.
77987
77988         * tests/test-gc-sha1.c: New file.
77989
77990 2005-10-17  Simon Josefsson  <jas@extundo.com>
77991
77992         * m4/md5.m4: Remove call to uint32_t.m4.
77993
77994 2005-10-17  Simon Josefsson  <jas@extundo.com>
77995
77996         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
77997
77998         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
77999         md5.h.
78000
78001         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78002
78003         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78004
78005 2005-10-17  Simon Josefsson  <jas@extundo.com>
78006
78007         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78008
78009 2005-10-17  Simon Josefsson  <jas@extundo.com>
78010
78011         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78012
78013 2005-10-17  Simon Josefsson  <jas@extundo.com>
78014
78015         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78016
78017         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78018
78019 2005-10-17  Bruno Haible  <bruno@clisp.org>
78020
78021         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78022         that it can also be used in a test.
78023
78024 2005-10-16  Bruno Haible  <bruno@clisp.org>
78025
78026         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78027         TESTS_ENVIRONMENT, so that individual tests can augment it.
78028
78029         * gnulib-tool (func_create_testdir): Use an intermediate target for
78030         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78031         macros, like $(ALLOCA_H), which cannot be passed through the command
78032         line.
78033
78034 2005-10-15  Simon Josefsson  <jas@extundo.com>
78035
78036         * modules/rijndael-tests: New file.
78037
78038         * modules/rijndael: New file.
78039
78040 2005-10-15  Simon Josefsson  <jas@extundo.com>
78041
78042         * m4/rijndael.m4: New file.
78043
78044 2005-10-15  Simon Josefsson  <jas@extundo.com>
78045
78046         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78047
78048         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78049
78050 2005-10-14  Simon Josefsson  <jas@extundo.com>
78051
78052         * tests/test-arcfour.c: New file.
78053
78054         * modules/arcfour, modules/arcfour-tests: New files.
78055
78056 2005-10-14  Simon Josefsson  <jas@extundo.com>
78057
78058         * m4/arcfour.m4: New file.
78059
78060 2005-10-14  Simon Josefsson  <jas@extundo.com>
78061
78062         * lib/arcfour.h, lib/arcfour.c: New files.
78063
78064 2005-10-14  Roland McGrath  <roland@redhat.com>
78065
78066         Import from libc.  [BZ #1331]
78067         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78068         macro argument.
78069         Reported by Matej Vela <vela@debian.org>.
78070
78071 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78072
78073         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78074         include <wchar.h>; no longer needed.
78075
78076 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78077
78078         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78079
78080 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78081         and  Ulrich Drepper  <drepper@redhat.com>
78082
78083         Import from libc.
78084         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78085         instead of inline stream orientation test and two separate
78086         function calls.  Pay no attention to USE_IN_LIBIO.
78087
78088 2005-10-13  Simon Josefsson  <jas@extundo.com>
78089
78090         * modules/gc-hmac-md5-tests: New file.
78091
78092         * tests/test-gc-hmac-sha1.c: New file.
78093
78094         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78095
78096         * modules/gc-hmac-md5-tests: New file.
78097
78098         * tests/test-gc-md5.c: New file.
78099
78100         * modules/gc-md5-tests: New file.
78101
78102 2005-10-13  Simon Josefsson  <jas@extundo.com>
78103
78104         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78105         Move memory allocation outside of loop.
78106
78107 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78108
78109         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78110         intermediate directory is in a read-only file system.  Problem
78111         reported by Eric Blake.
78112
78113 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78114
78115         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78116
78117 2005-10-12  Simon Josefsson  <jas@extundo.com>
78118
78119         * tests/test-hmac-sha1.c: New file.
78120
78121         * modules/hmac-sha1-tests: New file.
78122
78123         * modules/hmac-sha1: New file.
78124
78125 2005-10-12  Simon Josefsson  <jas@extundo.com>
78126
78127         * modules/gc-sha1: New file.
78128
78129 2005-10-12  Simon Josefsson  <jas@extundo.com>
78130
78131         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78132
78133         * tests/test-gc-pbkdf2-sha1.c: New file.
78134
78135 2005-10-12  Simon Josefsson  <jas@extundo.com>
78136
78137         * modules/gc-md5, modules/gc-hmac-md5: New files.
78138
78139         * modules/gc (Files): Remove md5, memxor and hmac files.
78140
78141 2005-10-12  Simon Josefsson  <jas@extundo.com>
78142
78143         * m4/gc-pbkdf2-sha1.m4: New file.
78144
78145         * m4/gc-hmac-sha1.m4: New file.
78146
78147         * m4/gc-sha1: New file.
78148
78149         * m4/hmac-sha1.m4: New file.
78150
78151 2005-10-12  Simon Josefsson  <jas@extundo.com>
78152
78153         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78154
78155         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78156
78157 2005-10-12  Simon Josefsson  <jas@extundo.com>
78158
78159         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78160         suggested by Bruno Haible <bruno@clisp.org>.
78161
78162 2005-10-12  Simon Josefsson  <jas@extundo.com>
78163
78164         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78165
78166 2005-10-12  Simon Josefsson  <jas@extundo.com>
78167
78168         * lib/gc-pbkdf2-sha1.c: New file.
78169
78170         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78171
78172 2005-10-12  Simon Josefsson  <jas@extundo.com>
78173
78174         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78175
78176         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78177
78178 2005-10-12  Simon Josefsson  <jas@extundo.com>
78179
78180         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78181         GC_USE_HMAC_MD5, respectively.
78182
78183         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78184         (gc_md5): Fix typo.
78185
78186         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78187
78188         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78189
78190         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78191
78192 2005-10-12  Bruno Haible  <bruno@clisp.org>
78193
78194         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78195         Reported by Stepan Kasal <kasal@ucw.cz>.
78196
78197 2005-10-11  Simon Josefsson  <jas@extundo.com>
78198
78199         * tests/test-crc.c: New file.
78200
78201         * modules/crc, modules/crc-tests: New files.
78202
78203 2005-10-11  Simon Josefsson  <jas@extundo.com>
78204
78205         * m4/crc.m4: New file.
78206
78207 2005-10-11  Simon Josefsson  <jas@extundo.com>
78208
78209         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78210
78211         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78212
78213         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78214
78215 2005-10-11  Simon Josefsson  <jas@extundo.com>
78216
78217         * lib/crc.h, lib/crc.c: New files.
78218
78219         * lib/gc.h (gc_hash_buffer): Add doc.
78220
78221 2005-10-11  Bruno Haible  <bruno@clisp.org>
78222
78223         * modules/c-strcasestr: New file.
78224         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78225
78226 2005-10-11  Bruno Haible  <bruno@clisp.org>
78227
78228         * modules/c-strcase: New file.
78229         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78230
78231 2005-10-11  Bruno Haible  <bruno@clisp.org>
78232
78233         * lib/strcasecmp.c: Include limits.h.
78234         (strcasecmp): Avoid integer overflow on exotic platforms.
78235         * lib/strncasecmp.c: Include limits.h.
78236         (strncasecmp): Avoid integer overflow on exotic platforms.
78237         Reported by Paul Eggert.
78238
78239 2005-10-11  Bruno Haible  <bruno@clisp.org>
78240
78241         * lib/c-strcasestr.h: New file, from GNU gettext.
78242         * lib/c-strcasestr.c: New file, from GNU gettext.
78243
78244 2005-10-11  Bruno Haible  <bruno@clisp.org>
78245
78246         * lib/c-strcase.h: New file, from GNU gettext.
78247         * lib/c-strcasecmp.c: New file, from GNU gettext.
78248         * lib/c-strncasecmp.c: New file, from GNU gettext.
78249
78250 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78251
78252         * modules/mempcpy (License): GPL -> LGPL.
78253         * modules/strchrnul (License): Likewise.
78254         * modules/sysexits (License): Likewise.
78255
78256 2005-10-08  Simon Josefsson  <jas@extundo.com>
78257
78258         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78259
78260 2005-10-07  Simon Josefsson  <jas@extundo.com>
78261
78262         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78263
78264 2005-10-06  Simon Josefsson  <jas@extundo.com>
78265
78266         * tests/test-hmac-md5.c: New file.
78267
78268         * modules/hmac-md5-tests: New file.
78269
78270         * modules/hmac-md5: New file.
78271
78272 2005-10-06  Simon Josefsson  <jas@extundo.com>
78273
78274         * m4/hmac-md5.m4: New file.
78275
78276         * m4/memxor.m4: Require gl_C_RESTRICT.
78277
78278 2005-10-06  Simon Josefsson  <jas@extundo.com>
78279
78280         * lib/memxor.c (memxor): Avoid casts and warnings.
78281
78282 2005-10-06  Simon Josefsson  <jas@extundo.com>
78283
78284         * lib/hmac-md5.c: New file.
78285
78286         * lib/hmac.h: New file.
78287
78288 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78289
78290         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78291         promotes to int, not unsigned int, to catch the AIX 5.3
78292         compiler bug.
78293
78294 2005-10-05  Simon Josefsson  <jas@extundo.com>
78295
78296         * modules/memxor: New file.
78297
78298         * modules/iconv (Files): Move config.rpath to havelib, it is used
78299         there.
78300
78301         * modules/havelib (Files): Add config.rpath.
78302
78303 2005-10-05  Simon Josefsson  <jas@extundo.com>
78304
78305         * m4/memxor.m4: New file.
78306
78307 2005-10-05  Simon Josefsson  <jas@extundo.com>
78308
78309         * lib/memxor.c (memxor): Fix compiler error.
78310
78311         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78312         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78313
78314         * lib/memxor.h, lib/memxor.c: New files.
78315
78316         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78317         we assume all systems have it, suggested by Jim Meyering
78318         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78319         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78320         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78321         same reasons.
78322
78323 2005-10-05  Simon Josefsson  <jas@extundo.com>
78324
78325         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78326
78327 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78328
78329         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78330         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78331         needed, since the source code now assumes these .h files.
78332
78333 2005-10-05  Derek Price  <derek@ximbiot.com>
78334
78335         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78336
78337 2005-10-05  Bruno Haible  <bruno@clisp.org>
78338
78339         * modules/stdint (License): Change to LGPL.
78340
78341 2005-10-04  Simon Josefsson  <jas@extundo.com>
78342
78343         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78344         D. Baushke" <mdb@gnu.org>.
78345
78346 2005-10-04  Bruno Haible  <bruno@clisp.org>
78347
78348         * lib/verify.h (verify_true): Provide alternative definition for C++.
78349
78350 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78351
78352         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78353         (SSIZE_MAX): New macro, if not already defined.
78354         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78355         than 2 GiB.
78356
78357 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78358
78359         Sync from coreutils.
78360         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78361         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78362         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78363         ULLONG_MAX doesn't work with 2.7.2.1.
78364
78365 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78366
78367         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78368         From Ben Pfaff.
78369
78370         * modules/exclude (Depends-on): Depend on verify.
78371         * modules/strtoimax (Depends-on): Likewise.
78372         * modules/utimecmp (Depends-on): Likewise.
78373
78374 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78375
78376         * lib/exclude.c: Include verify.h.
78377         (verify): Remove.  All callers changed to use verify.h's version.
78378         * lib/strtoimax.c: Likewise.
78379         * lib/utimecmp.c: Likewis.e
78380
78381         Sync from coreutils.
78382         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78383         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78384         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78385         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78386         bother returning ENOSYS if settimeofday or stime fails; just let
78387         them return whatever errno they want to return.
78388         * lib/utimens.c: Include unistd.h, for dup2.
78389         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78390         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78391
78392 2005-10-02  Jim Meyering  <jim@meyering.net>
78393
78394         Sync from coreutils.
78395         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78396         from glibc-2.2.5 that fails for read-only files.
78397
78398 2005-10-02  Jim Meyering  <jim@meyering.net>
78399
78400         Sync from coreutils.
78401         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78402         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78403         `#if HAVE_CONFIG_H'.
78404         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78405         Remove AT_FDCWD test.
78406         Do not consume the fd unless successful.
78407         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78408         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78409         block, so that we don't even try to compile it if settimeofday is
78410         available.  This works around a compilation failure on OSF1 V5.1,
78411         due to stime requiring a `long int*' while tv_sec is `int'.
78412
78413 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78414
78415         Sync from coreutils.
78416         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78417         against `yes', rather than just testing for nonempty.
78418
78419 2005-10-01  Simon Josefsson  <jas@extundo.com>
78420
78421         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78422         and Darwin.
78423
78424         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78425         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78426         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78427         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78428         Check if struct addrinfo is declared.
78429
78430 2005-10-01  Simon Josefsson  <jas@extundo.com>
78431
78432         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78433         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78434         AI_* and EAI_* definitions.  Protect function declarations.
78435
78436 2005-10-01  Jim Meyering  <jim@meyering.net>
78437
78438         Sync from coreutils.
78439
78440         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78441         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78442         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78443         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78444         in the inet and nsl libraries.  Required on Solaris 5.7.
78445
78446 2005-10-01  Jim Meyering  <jim@meyering.net>
78447
78448         Sync from coreutils.
78449         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78450         in the inet and nsl libraries.  Required on Solaris 5.7.
78451
78452 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78453
78454         * lib/getdelim.c (getdelim): Remove unused variables.
78455
78456 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78457
78458         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78459         so that the code works even with ancient cpp.  Portability problem
78460         with GCC 2.7.2.1 reported by Thomas M.Ott.
78461
78462 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78463
78464         * modules/regex (Depends-on): Add strcase.
78465
78466         * modules/gethostname (Licence): Change from GPL to LGPL, since
78467         gethostname.c is a trivial implementation of a standard library
78468         function.
78469         * modules/poll (License): Change from GPL to LGPL, since it's
78470         derived from LGPL code.
78471
78472 2005-09-27  Jim Meyering  <jim@meyering.net>
78473
78474         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78475         HAVE_CONFIG_H.
78476
78477         * lib/intprops.h (signed_type_or_expr__): Define.
78478         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78479         for unsigned types.
78480
78481 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78482
78483         * lib/verify.h (verify_expr): Remove, replacing with:
78484         (verify_true): New macro that returns true instead of void.
78485         (verify_type__): Remove.
78486         (verify): Use verify_true rather than verify_type__.
78487
78488 2005-09-26  Bruno Haible  <bruno@clisp.org>
78489
78490         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78491         is necessary.
78492         (lib_SOURCES): Remove mbchar.c.
78493         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78494         (Files): Add m4/mbrtowc.m4.
78495         * modules/mbiter: Likewise.
78496         * modules/mbuiter: Likewise.
78497
78498 2005-09-26  Bruno Haible  <bruno@clisp.org>
78499
78500         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78501         compile mbchar.c if they are not both present.
78502         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78503         * m4/mbiter.m4 (gl_MBITER): Likewise.
78504         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78505         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78506         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78507
78508 2005-09-25  Jim Meyering  <jim@meyering.net>
78509
78510         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78511         also uses socklen_t.
78512
78513 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78514
78515         * lib/utimens.c (ENOSYS): Define if not already defined.
78516         (futimens): Support having a null PATH if the file descriptor
78517         is nonnegative.
78518
78519         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78520         Remove.
78521         (__attribute): Define to empty unless GCC 3.1 or later.
78522         This works around a core dump on OpenBSD 3.4, which has GCC
78523         2.95.3, which dumps core when given __attribute__(()).  It also
78524         simplifies other tests, since we really don't want to bother with
78525         worrying about which ancient version of GCC supported what.
78526         Original problem reported by Yoann Vandoorselaere, with part of
78527         the fix suggested by Derek Price.
78528
78529 2005-09-24  Jim Meyering  <jim@meyering.net>
78530
78531         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78532         so we can once again use a positive bitfield width of 1 -- now we
78533         don't have to explain why we were using a bitfield width of 2.
78534
78535 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78536
78537         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78538         and similarly for the other external symbols.  Problem reported
78539         by James Gallager.
78540
78541         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78542         bug reported by Jim Meyering.
78543
78544         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78545         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78546         not needed, since socklen is a prerequisite module.
78547
78548 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78549
78550         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78551         Problem reported by Eric Blake.
78552         (getaddrinfo): Initialize se so that it's not garbage.
78553         Redo internal storage allocation so that it doesn't make unportable
78554         assumptions about alignment.
78555         Fix a memory leak.
78556
78557         * lib/utimens.c (futimens): Use futimesat if available.
78558         Prefer it to futimes since it doesn't have the futimes bug.
78559
78560         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78561         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78562         Instead, declare a function that returns a pointer to an array,
78563         and use verify_type__ to declare the size of the array.
78564         Problem and germ of a solution reported by Bruno Haible.
78565         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78566         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78567
78568 2005-09-23  Jim Meyering  <jim@meyering.net>
78569
78570         Sync from coreutils.
78571         Correct build failure (socklen_t not defined) on at least
78572         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78573         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78574
78575 2005-09-23  Jim Meyering  <jim@meyering.net>
78576
78577         * modules/getaddrinfo (Depends-on): Add socklen.
78578
78579 2005-09-23  Bruno Haible  <bruno@clisp.org>
78580
78581         * tests/test-verify.c: New file.
78582
78583 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78584
78585         Sync from coreutils.
78586
78587         * modules/argmatch (Depends-on): Add verify.
78588         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78589         unistd-safer.
78590         * modules/save-cwd (Depends-on): Likewise.
78591
78592         * modules/openat (Files): Add lib/openat-die.c.
78593         (Depends-on): Remove error, exitfail.
78594         Add dirname.
78595
78596         * modules/verify: New file.
78597         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78598         with "verify" module.
78599
78600 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78601
78602         Sync from coreutils.
78603
78604         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78605         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78606         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78607         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78608         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78609         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78610         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78611         Don't bother checking for string.h, stdlib.h, unistd.h.
78612         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78613         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78614         module's job.
78615         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78616         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78617
78618         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78619         (gl_GETDATE): Use it.
78620
78621         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78622
78623 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78624
78625         Sync from coreutils.
78626
78627         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78628         stat-time.h.
78629         * lib/argmatch.h: Include verify.h
78630         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78631         (ARGMATCH_ASSERT): Remove; unused.
78632         * lib/canonicalize.c: Assume STDC_HEADERS.
78633         * lib/exclude.c: Include "strcase.h".
78634         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78635         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78636         and stdio-safer.h.
78637         (getusershell): Call fopen, not fopen_safer.
78638         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78639         Do not include unistd-safer.h.
78640         (save_cwd): Don't call fd_safer; no longer needed
78641         now that we include fcntl--.h.
78642
78643         * lib/getdate.y (relative_time): New type.
78644         (RELATIVE_TIME_0): New constant.
78645         (parser_control): Use relative_time instead of doing it ourselves.
78646         (%union): Add new relative_time rel member.
78647         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78648         Now typeless.
78649         (relunit, relunit_snumber): Now of type rel.
78650         (zone, rel, relunit, get_date): Adjust to above changes.
78651
78652         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78653         Do not include unistd-safer.h.
78654         (getloadavg): Don't call fd_safer; no longer needed
78655         now that we include fcntl--.h.
78656
78657         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78658         (make_dir_parents): Treat ENOSYS like EEXIST.
78659
78660         Improve quality of diagnostics on restore_cwd failure.
78661         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78662         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78663         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78664         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78665         each time through the loop.  Do not diagnose restore_cwd failure;
78666         that is the caller's job (and perhaps the caller does not care).
78667
78668         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78669         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78670         If the file already exists but is not a directory, don't bother
78671         to try to make its parents.
78672         Close potential file descriptor leak if we can't chdir("/") (!).
78673         Don't always return true if chdir($PWD) fails; return true only
78674         if the requested action was done successfully (except for the
78675         chdir($PWD)).
78676         Don't log final directory unless we actually made it.
78677         Refactor to avoid duplicate code to fix up permissions.
78678         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78679
78680         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78681         to make it a bit faster and (I hope) clearer.
78682         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78683         Fix bug in formats like %2N.
78684
78685         * lib/verify.h: New file.
78686
78687 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78688
78689         Sync from coreutils.
78690         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78691
78692 2005-09-22  Jim Meyering  <jim@meyering.net>
78693
78694         Sync from coreutils.
78695
78696         * m4/lstat.m4 (gl_FUNC_LSTAT):
78697         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78698         Remove obsolete comment.
78699         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78700         * m4/xstrtod.m4: Likewise.
78701
78702         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78703
78704 2005-09-22  Jim Meyering  <jim@meyering.net>
78705
78706         Sync from coreutils.
78707
78708         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78709
78710         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78711         the .tm_year member, since otherwise gcc-4.0 would now warn about
78712         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78713
78714         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78715         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78716
78717         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78718         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78719         when run in a time zone for which daylight savings time is in effect
78720         for the starting date.
78721
78722         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78723         stop us from restricting permissions of just-created absolute-named
78724         directories.
78725         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78726         to restore initial working directory.
78727         * lib/mkdir-p.c (make_dir_parents): New parameter:
78728         different_working_dir, to tell caller if/when we change the working
78729         directory and are unable to return to the initial one.
78730         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78731         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78732         `return false'.  This fixes a bug introduced on 2004-07-30.
78733
78734         * lib/openat.c (fdopendir): Be sure to close the supplied
78735         file descriptor before returning.  This makes our replacement
78736         implementation a little closer to Solaris's, where fdopendir
78737         ties the file descriptor to the returned DIR* pointer.
78738         * lib/openat.c (unlinkat): New function.
78739         * lib/openat.h (unlinkat): Add prototype.
78740         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78741         (openat_restore_fail): Rename from openat_restore_die.
78742         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78743
78744         Provide an alternative to exiting immediately upon save_cwd or
78745         restore_cwd failure.  Now, an application can arrange e.g.,
78746         to perform a longjump in that case.
78747         * lib/openat.c: Include dirname.h.
78748         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78749         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78750         and openat_restore_die rather than calling error directly.
78751         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78752
78753         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78754         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78755         define.
78756
78757         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78758         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78759                             int utc, int nanoseconds);
78760         Background:
78761         date should not have to allocate a megabyte of virtual memory to
78762         handle a format argument like +%1048575T.  When implemented with
78763         strftime, it must allocate such a buffer, use strftime to fill it
78764         in, print it, then free it.
78765         With fprintftime, it simply prints everything and exits.
78766         With no need for memory allocation, that's one fewer way to fail.
78767         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78768         optional field width, not before, so we accept %9:z, not %:9z.
78769         (my_strftime): Be sure to use L_('x') for literals.
78770
78771         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78772         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78773         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78774         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78775         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78776         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78777         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78778         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78779         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78780         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78781         * lib/xgethostname.c, lib/xreadlink.c:
78782         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78783
78784         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78785         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78786         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78787         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78788         and don't include <sys/file.h>).
78789
78790 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78791
78792         Sync from coreutils.
78793
78794         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78795         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78796         [!LDAV_DONE]: Avoid unused variable warning.
78797
78798 2005-09-21  Bruno Haible  <bruno@clisp.org>
78799
78800         * lib/unicodeio.h (unicode_to_mb): New declaration.
78801
78802 2005-09-20  Derek Price  <derek@ximbiot.com>
78803
78804         * lib/getaddrinfo.c: Don't include <netdb.h> included from
78805         getaddrinfo.h.
78806
78807 2005-09-20  Bruno Haible  <bruno@clisp.org>
78808
78809         * gnulib-tool: Remove trailing slashes from the values specified for
78810         --source-base, --m4-base, --tests-base, --aux-dir.
78811         Suggested by Simon Josefsson <jas@extundo.com>.
78812
78813 2005-09-20  Bruno Haible  <bruno@clisp.org>
78814
78815         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78816         func_modules_to_filelist, func_import, func_create_testdir): Make all
78817         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78818         change when gnulib-tool is invoked in a different locale.
78819
78820 2005-09-19  Simon Josefsson  <jas@extundo.com>
78821
78822         * m4/socklen.m4: Fix typo.
78823
78824 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78825
78826         Use a consistent style for including <config.h>.
78827         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78828         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78829         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78830         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78831         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78832         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78833         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78834         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78835         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78836         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78837         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78838         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78839         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78840         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78841         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78842         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78843         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78844         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78845         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78846         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78847         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78848         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78849         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78850         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78851         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78852         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78853         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78854         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78855         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78856         lib/xstrtoumax.c, lib/yesno.c:
78857         Standardize inclusion of config.h.
78858         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78859         lib/inttostr.h:  Removed inclusion of config.h from header files.
78860         * lib/inttostr.c:  Adjusted in-tree users.
78861         * lib/timespec.h: Remove superfluous warning to include config.h.
78862         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78863         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78864         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78865         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78866         config.h with HAVE_CONFIG_H.
78867
78868 2005-09-19  Jim Meyering  <jim@meyering.net>
78869
78870         * modules/pathmax (License): Change to LGPL.
78871
78872 2005-09-19  Derek Price  <derek@ximbiot.com>
78873
78874         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78875
78876 2005-09-19  Bruno Haible  <bruno@clisp.org>
78877
78878         * gnulib-tool (import): Provide default for --tests-base.
78879
78880 2005-09-19  Bruno Haible  <bruno@clisp.org>
78881
78882         * doc/quote.texi: New file, extracted from gnulib.texi.
78883         * doc/ctime.texi: New file, extracted from gnulib.texi.
78884         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78885         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78886         * doc/gnulib.texi: Include them.
78887
78888 2005-09-18  Bruno Haible  <bruno@clisp.org>
78889
78890         Portability fix.
78891         * gnulib-tool (func_readlink): New function.
78892         (func_ln_if_changed): Use it.
78893
78894 2005-09-18  Bruno Haible  <bruno@clisp.org>
78895
78896         * gnulib-tool: Support --with-tests also with --import.
78897         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78898         (func_import): Use variables $testsbase and $inctests. Emit a
78899         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78900         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78901         SUBDIRS += $testsdir.
78902         (func_create_testdir): Update.
78903
78904 2005-09-18  Bruno Haible  <bruno@clisp.org>
78905
78906         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78907         instead of $dry_run.
78908         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78909         (func_ln_if_changed): Don't handle dry-run here.
78910         (func_import): In dry-run mode, detect more precisely which actions
78911         would be performed, and don't use "...ing" verbs.
78912
78913 2005-09-18  Bruno Haible  <bruno@clisp.org>
78914
78915         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
78916         (func_import): Use join on two temporary files instead of three nested
78917         loops, in order to determine which files are new or old.
78918
78919 2005-09-18  Bruno Haible  <bruno@clisp.org>
78920
78921         * gnulib-tool (func_import): Comment out code that spits out the
78922         new files with --dry-run.
78923
78924 2005-09-18  Bruno Haible  <bruno@clisp.org>
78925
78926         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
78927
78928 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78929
78930         * lib/stat-time.h: New file.
78931         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
78932         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
78933         in a different way.
78934         (timespec_cmp): New function.
78935         * lib/utimecmp.c: Include stat-time.h.
78936         (SYSCALL_RESOLUTION): Depend on whether various struct stat
78937         members exist, not on the obsolescent ST_MTIM_NSEC.
78938         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
78939
78940 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78941
78942         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
78943
78944 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78945
78946         * MODULES.html.sh (File system functions): Add stat-time.
78947         * modules/stat-time: New file.
78948         * modules/timespec (Files): Remove m4/st_mtim.m4; this
78949         is now done in a different way, by the stat-time module.
78950         * modules/utimecmp (Depends-on): Add stat-time.
78951
78952 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78953
78954         * m4/st_mtim.m4: Remove.  Superseded by...
78955         * m4/stat-time.m4: New file.
78956         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
78957         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
78958
78959 2005-09-15  Derek Price  <derek@ximbiot.com>
78960
78961         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
78962
78963 2005-09-15  Derek Price  <derek@ximbiot.com>
78964
78965         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
78966         * lib/regex_internal.c: Ditto, using this...
78967         (__GNUC_PREREQ): ...new macro.
78968         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
78969         using...
78970         (__GNUC_PREREQ): ...this new macro.
78971
78972         * lib/strstr.h: Include string.h. Define strstr as a macro here.
78973
78974 2005-09-15  Derek Price  <derek@ximbiot.com>
78975             Paul Eggert  <eggert@cs.ucla.edu>
78976
78977         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
78978         changes, consolidating in...
78979         * lib/regex_internal.h: ...this file.
78980
78981 2005-09-13  Jim Meyering  <jim@meyering.net>
78982
78983         * lib/canon-host.c: Filter through gnu indent and reword comments
78984         slightly.
78985         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
78986
78987 2005-09-13  Derek Price  <derek@ximbiot.com>
78988
78989         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
78990         failure.
78991         Reported by Jim Meyering  <jim@meyering.net>.
78992
78993 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78994
78995         * lib/base64.c: Typo.
78996         (base64_encode): Put b64str in initialized data section.
78997
78998 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
78999
79000         Merge glibc and coreutils changes into gnulib, plus a few
79001         extra fixes.
79002         * lib/md5.c: Use #error rather than a string.
79003         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79004         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79005         (__attribute__): Define to empty for non recent-GCC.
79006         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79007         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79008         Renamed from their non-__ counterparts, with new macros replacing
79009         them if not _LIBC.  Add __THROW attribute.
79010         (rol): Remove.
79011         (struct md5_ctx): Align buffer if using GCC.
79012         * lib/sha1.h (struct sha1_ctx): Likewise.
79013         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79014         The old name was backwards.
79015         (NOTSWAP): Remove; not used.
79016         (rol): New macro, moved here from md5.h.
79017         (sha1_process_block): Remove a FIXME that doesn't make sense.
79018
79019 2005-09-12  Derek Price  <derek@ximbiot.com>
79020
79021         Return usable errors from canon-host.
79022         * lib/canon-host.h: New file.
79023         * lib/canon-host.c (canon_host): Wrap...
79024         (canon_host_r): ...this new function, which now relies exclusively on
79025         getaddrinfo.
79026         (ch_strerror): New function.
79027         (last_cherror): New global.
79028         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79029         interface.
79030         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79031         void *.
79032         (freeaddrinfo): Free ai->ai_canonname when set.
79033
79034 2005-09-12  Derek Price  <derek@ximbiot.com>
79035
79036         Make canon-host require getaddrinfo.
79037         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79038         AC_LIBSOURCE canon-host.h.  Call...
79039         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79040         gl_GETADDRINFO.
79041         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79042
79043 2005-09-12  Derek Price  <derek@ximbiot.com>
79044
79045         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79046         LGPL.
79047         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79048
79049 2005-09-12  Derek Price  <derek@ximbiot.com>
79050
79051         * lib/gai_strerror.c: Include config.h when available.  Include
79052         getaddrinfo.h before other headers to test interface.
79053         Reported by Larry Jones <lawrence.jones@ugs.com>.
79054
79055 2005-09-12  Derek Price  <derek@ximbiot.com>
79056             Paul Eggert  <eggert@cs.ucla.edu>
79057
79058         * modules/glob (Files): Add glob-libc.h.
79059
79060 2005-09-12  Derek Price  <derek@ximbiot.com>
79061             Paul Eggert  <eggert@cs.ucla.edu>
79062
79063         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79064         glob_.h, glob-libc.h.
79065         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79066
79067 2005-09-12  Derek Price  <derek@ximbiot.com>
79068             Paul Eggert  <eggert@cs.ucla.edu>
79069
79070         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79071         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79072         protecting things that should be done only in gnulib contexts.
79073         * lib/glob_.h: New file, containing only the glob things needed for
79074         gnulib.
79075         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79076         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79077         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79078         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79079         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79080         and to respect the namespace rules better.
79081
79082 2005-09-08  Simon Josefsson  <jas@extundo.com>
79083
79084         * modules/socklen: New file.
79085
79086 2005-09-08  Simon Josefsson  <jas@extundo.com>
79087
79088         * m4/socklen.m4: New file.
79089
79090 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79091
79092         * modules/utimens (Files): Add m4/utimbuf.m4, since
79093         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79094         Reported by Sergey Poznyakoff.
79095
79096 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79097
79098         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79099         definitions, since that's the preferred style in glibc.
79100         Fix a minor spacing issue, and update copyright notice to match
79101         glibc's.
79102
79103 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79104
79105         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79106
79107 2005-09-06  Simon Josefsson  <jas@extundo.com>
79108
79109         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79110         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79111
79112 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79115         warning.
79116
79117 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79118
79119         * config/srclist.txt: Add glibc bug 1302.
79120
79121 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79122
79123         Change bitset word type from unsigned int to unsigned long int,
79124         as this has better performance on typical 64-bit hosts.
79125         Port bitset code to hosts with unusual word sizes.
79126         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79127         (build_collating_symbol):
79128         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79129         argument is a bitset.  This is merely a style issue, but it makes
79130         it clearer that an entire array is expected.
79131         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79132         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79133         Port to the case where bitset_word is not the same as unsigned int.
79134         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79135         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79136         Likewise.
79137         * lib/regexec.c (check_dst_limits_calc_pos_1,
79138         check_subexp_matching_top):
79139         (build_trtable, group_nodes_into_DFAstates):
79140         Likewise.
79141         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79142         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79143         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79144         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79145         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79146         * lib/regcomp.c (optimize_subexps, lower_subexp):
79147         Work even if bitset_word has holes in its bitwise representation.
79148         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79149         * lib/regexec.c (check_dst_limits_calc_pos_1,
79150         check_subexp_matching_top):
79151         Likewise.
79152         * lib/regex_internal.c (re_string_reconstruct):
79153         Don't assume UCHAR_MAX == 255.
79154         * lib/regex_internal.h (bitset_set_all): Likewise.
79155         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79156         All uses changed.
79157         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79158         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79159         All uses changed.
79160         (BITSET_WORD_MAX): New macro.
79161         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79162         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79163         (bitset_empty, bitset_copy):
79164         Prefer sizeof (bitset) to multiplying it out ourselves.
79165         (bitset_not_merge): Remove; unused.
79166         (bitset_contain): Return bool, not unsigned int with one bit on.
79167         All callers changed.
79168         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79169         alignment than re_node_set; do this by defining a new internal
79170         type struct dests_alloc and using it to allocate memory.
79171
79172 2005-09-05  Bruno Haible  <bruno@clisp.org>
79173
79174         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79175         links.
79176
79177 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79178
79179         * modules/size_max (Makefile.am): Add size_max.h
79180
79181 2005-09-04  Derek Price  <derek@ximbiot.com>
79182
79183         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79184
79185 2005-09-03  Simon Josefsson  <jas@extundo.com>
79186
79187         * gnulib-tool: Fix typo.
79188
79189 2005-09-03  Simon Josefsson  <jas@extundo.com>
79190
79191         * config/srclist.txt: Add glibc bug 1293.
79192
79193 2005-09-03  Derek Price  <derek@ximbiot.com>
79194
79195         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79196         From Larry Jones <lawrence.jones@ugs.com>.
79197
79198 2005-09-02  Simon Josefsson  <jas@extundo.com>
79199
79200         * modules/socklen: New file.
79201
79202 2005-09-02  Simon Josefsson  <jas@extundo.com>
79203
79204         * modules/havelib: New module.
79205
79206         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79207         Use havelib.
79208
79209 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79210
79211         Check for arithmetic overflow when calculating sizes, to prevent
79212         some buffer-overflow issues.  These patches are conservative, in the
79213         sense that when I couldn't determine whether an overflow was possible,
79214         I inserted a run-time check.
79215         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79216         macros.
79217         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79218         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79219         (re_xnrealloc, re_x2nrealloc): New inline functions.
79220         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79221         parse_bracket_exp):
79222         (build_equiv_class, build_charclass): Check for arithmetic overflow
79223         in size expression calculations.
79224         * lib/regex_internal.c (re_string_realloc_buffers):
79225         (build_wcs_upper_buffer, re_node_set_add_intersect):
79226         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79227         (re_dfa_add_node, register_state): Likewise.
79228         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79229         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79230         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79231         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79232
79233 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79234
79235         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79236         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79237
79238 2005-09-02  Bruno Haible  <bruno@clisp.org>
79239
79240         Support for lib vs. lib64 distinction on biarch platforms.
79241         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79242         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79243         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79244
79245 2005-09-02  Bruno Haible  <bruno@clisp.org>
79246
79247         * gnulib-tool (import): In the other first-use case, provide defaults
79248         as well.
79249
79250 2005-09-02  Bruno Haible  <bruno@clisp.org>
79251
79252         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79253         patches not yet found in the latest gettext release.
79254
79255 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79256
79257         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79258         to avoid a collision with bits/local_lim.h in glibc.
79259         All uses changed.  Problem reported by Dmitry V. Levin in
79260         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79261
79262         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79263         bugs in int versus size_t comparisons.
79264         (re_string_context_at): Fix bug where the code assumed that
79265         Idx is signed.
79266
79267         Use bool where appropriate.
79268         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79269         All callers changed.
79270         (calc_eclosure_iter): Likewise, for ROOT arg.
79271         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79272         (build_charclass_op): Likewise, for NON_MATCH arg.
79273         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79274         (re_string_construct_common): Likewise, for ICASE arg.
79275         * lib/regexec.c (re_search_2_stub, re_search_stub):
79276         Likewise, for RET_LEN arg.
79277         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79278         (set_regs): Likewise, for FL_BACKTRACK arg.
79279         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79280         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79281         (calc_eclosure_iter, parse_bracket_exp):
79282         Use bool for internal variables that are booleans.
79283         * lib/regexec.c (re_search_internal, check_matching,
79284         proceed_next_node):
79285         (set_regs, build_sifted_states, sift_states_bkref):
79286         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79287         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79288         (find_collation_sequence_value):
79289         Likewise.
79290         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79291         (re_node_set_compare):
79292         Return bool, not int. All callers changed.
79293         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79294         (build_trtable, check_node_accept): Likewise.
79295         * lib/regex_internal.h: Include stdbool.h.
79296
79297         Fix bugs uncovered when converting to bool.
79298         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79299         failure instead of charging ahead blindly.
79300         * lib/regex_internal.c (register_state): Likewise.
79301         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79302         for freeing internal storage.
79303         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79304         bitset pieces used as boolean, to avoid undefined behavior
79305         on hosts that do int overflow checking.
79306
79307 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79308
79309         * config/srclist.txt: Add glibc bugs 1285-1287.
79310
79311 2005-09-01  Jim Meyering  <jim@meyering.net>
79312
79313         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79314         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79315         Require gl_STAT_MACROS, too.
79316
79317 2005-09-01  Bruno Haible  <bruno@clisp.org>
79318
79319         * gnulib-tool (import): In the first-use case, provide defaults.
79320
79321 2005-09-01  Bruno Haible  <bruno@clisp.org>
79322
79323         * gnulib-tool (func_import): Remove the .tmp files.
79324
79325 2005-09-01  Bruno Haible  <bruno@clisp.org>
79326
79327         * gnulib-tool (func_import): Fix handling of symbolic links.
79328
79329 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79330
79331         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79332         old glibc regex code mishandles strings longer than 2**31 bytes.
79333         This patch fixes this when the regex code is used in gnulib
79334         (i.e., outside glibc).
79335
79336         This patch should not affect the use of the regex code inside
79337         glibc.  No doubt this problem also needs to be handled for glibc
79338         as well, but the result will be an incompatible change to the
79339         glibc ABI, and the old ABI will have to be supported too.  That
79340         can be the the subject for another patch.
79341
79342         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79343         governing whether the rest of this patch is active.  By default,
79344         the macro is disabled and the patch has no effect.
79345         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79346         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79347         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79348         (re_match_2, re_set_registers): Use the new types.
79349         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79350         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79351         New macros.
79352         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79353         (re_string_context_at, bin_tree_t, re_dfastate_t):
79354         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79355         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79356         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79357         (re_string_char_size_at, re_string_wchar_at):
79358         (re_string_elem_size_at):
79359         Use the new types and macros to port to 64-bit hosts.
79360         Use unsigned types for internal values, so that the code
79361         mostly works even for arrays larger than SSIZE_MAX.
79362         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79363         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79364         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79365         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79366         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79367         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79368         (calc_inveclosure, parse_dup_op, build_range_exp):
79369         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79370         (fetch_number, create_token_tree, mark_opt_subexp):
79371         Likewise.
79372         * lib/regex_internal.c (re_string_construct_common,
79373         create_ci_newstate):
79374         (create_cd_newstate, re_string_allocate, re_string_construct):
79375         (re_string_realloc_buffers, build_wcs_upper_buffer):
79376         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79377         (re_string_reconstruct, re_string_peek_byte_case):
79378         (re_string_fetch_byte_case, re_string_context_at):
79379         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79380         (re_node_set_init_copy, re_node_set_add_intersect):
79381         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79382         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79383         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79384         (re_acquire_state, re_acquire_state_context, register_state):
79385         Likewise.
79386         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79387         search_cur_bkref_entry):
79388         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79389         (re_search_internal, re_search_2_stub, re_search_stub)
79390         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79391         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79392         (update_cur_sifted_state, check_dst_limits):
79393         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79394         (check_subexp_limits, sift_states_bkref, merge_state_array):
79395         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79396         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79397         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79398         (expand_bkref_cache, check_node_accept_bytes):
79399         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79400         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79401         (acquire_init_state_context, check_halt_node_context):
79402         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79403         (sift_states_backward, clean_state_log_if_needed):
79404         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79405         (find_recover_state, transit_state_sb, transit_state_mb):
79406         (transit_state_bkref, build_trtable, match_ctx_clean):
79407         Likewise.
79408         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79409         to work around an assumption that REG_MISSING is negative.
79410
79411         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79412         (seek_collating_symbol_entry) [defined _LIBC]:
79413         (lookup_collation_sequence_value) [defined _LIBC]:
79414         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79415         Use prototypes rather than old-style function definitions.
79416         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79417         (transit_state_sb) [0]:
79418         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79419
79420         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79421         rm_eo.
79422
79423         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79424         (optimize_subexps, lower_subexp):
79425         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79426         since the signed shift might overflow.  Use 1u<<31 instead.
79427         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79428         Likewise.
79429         * lib/regexec.c (check_dst_limits_calc_pos_1,
79430         check_subexp_matching_top): Likewise.
79431
79432         * lib/regcomp.c (optimize_subexps, lower_subexp):
79433         Use CHAR_BIT rather than 8, for clarity.
79434         * lib/regexec.c (check_dst_limits_calc_pos_1):
79435         (check_subexp_matching_top): Likewise.
79436         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79437         have to worry about portability issues when shifting it left.
79438         Remove no-longer-needed test for table_size > 0.
79439         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79440         in a word, as the resulting behavior is undefined.
79441         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79442         in one case, a <= should have been an <, and in another case the
79443         whole test was missing.
79444         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79445         the standard name CHAR_BIT.
79446         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79447         this is not true on one's complement and signed-magnitude hosts.
79448
79449         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79450         next_last_offset.
79451         (struct re_dfa_t): Remove unused member states_alloc.
79452         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79453
79454 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79455
79456         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79457         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79458         and large-file glibc and in 32-bit large-file Solaris.
79459
79460 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79461
79462         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79463         lengths fit in regoff_t; this isn't true if regoff_t is the same
79464         width as size_t.
79465         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79466         (= START + RANGE) instead of RANGE.  This avoids overflow
79467         problems when regoff_t is the same width as size_t.
79468         All callers changed.
79469         (re_search_2_stub): Check for overflow when adding the
79470         sizes of the two strings.
79471         (re_search_stub): Check for overflow when adding START
79472         to RANGE; if it occurs, substitute the extreme value.
79473
79474 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79475
79476         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79477
79478 2005-08-31  Jim Meyering  <jim@meyering.net>
79479
79480         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79481         a pointer-to-const.
79482         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79483         (register_state): Likewise.
79484         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79485         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79486         (group_nodes_into_DFAstates): Likewise.
79487
79488 2005-08-31  Jim Meyering  <jim@meyering.net>
79489
79490         * check-module: Add a FIXME comment.
79491
79492 2005-08-31  Eric Blake  <ebb9@byu.net>
79493
79494         * modules/unistd-safer (Files): Add unistd--.h.
79495         * modules/stdio-safer (Files): Add stdio--.h.
79496
79497 2005-08-31  Derek Price  <derek@ximbiot.com>
79498
79499         * lib/getdelim.c (getdelim): Return EOF on EOF.
79500         Reported by Larry Jones <lawrence.jones@ugs.com>.
79501
79502 2005-08-31  Bruno Haible  <bruno@clisp.org>
79503
79504         Avoid unnecessary diffs in the generated lib/Makefile.am.
79505         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79506         the generated files.
79507         (func_import): Don't set cmd.
79508
79509 2005-08-31  Bruno Haible  <bruno@clisp.org>
79510
79511         * lib/strstr.c: Include <stddef.h>, for NULL.
79512         * lib/strcasestr.c: Likewise.
79513         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79514
79515 2005-08-31  Bruno Haible  <bruno@clisp.org>
79516
79517         * gnulib-tool: New option --macro-prefix.
79518         (func_import): Use macro_prefix.
79519         (import): Handle option --macro-prefix.
79520
79521 2005-08-31  Bruno Haible  <bruno@clisp.org>
79522
79523         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79524         Also use new variables cached_lgpl, cached_libtool.
79525
79526 2005-08-31  Bruno Haible  <bruno@clisp.org>
79527
79528         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79529         always instantiating them.
79530
79531 2005-08-31  Bruno Haible  <bruno@clisp.org>
79532
79533         * gnulib-tool (func_import): Read the previous cached settings
79534         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79535         earlier added by gnulib but are now dropped. Warn when a gnulib file
79536         overwrites a non-gnulib file.
79537
79538 2005-08-31  Bruno Haible  <bruno@clisp.org>
79539
79540         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79541         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79542         projects that don't keep autogenerated files in CVS. Put into
79543         actioncmd only the specified modules, not the transitive closure.
79544
79545 2005-08-31  Bruno Haible  <bruno@clisp.org>
79546
79547         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79548         Create directories that shall be filled.
79549         (import): Don't look for gl_* macros in configure.ac. Recurse across
79550         all directories containing a gnulib-cache.m4 files, if meaningful.
79551
79552 2005-08-31  Bruno Haible  <bruno@clisp.org>
79553
79554         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79555         (import): Set seen_libtool when we see gl_LIBTOOL.
79556
79557 2005-08-31  Bruno Haible  <bruno@clisp.org>
79558
79559         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79560         declaration macro definitions from generated gnulib.m4.
79561
79562 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79563
79564         * lib/iconvme.h: Add prototype for iconv_alloc.
79565
79566 2005-08-29  Simon Josefsson  <jas@extundo.com>
79567
79568         * lib/iconvme.c: Fix errno.
79569
79570 2005-08-29  Bruno Haible  <bruno@clisp.org>
79571
79572         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79573         that it works when the directory contains spaces.
79574
79575 2005-08-29  Bruno Haible  <bruno@clisp.org>
79576
79577         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79578
79579 2005-08-29  Bruno Haible  <bruno@clisp.org>
79580
79581         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79582         Emit more advice.
79583
79584 2005-08-29  Bruno Haible  <bruno@clisp.org>
79585         and Stepan Kasal  <kasal@ucw.cz>
79586
79587         * check-module: If more parameters are given, check each of them
79588         separately; add more exceptions, as noted by Jim Meyering.
79589         (check_module): New procedure.
79590         (%exempt_header): Now contains all exceptions.
79591
79592 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79593
79594         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79595
79596 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79597
79598         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79599
79600 2005-08-28  Bruno Haible  <bruno@clisp.org>
79601
79602         * m4/gnulib-tool.m4: New file.
79603
79604 2005-08-27  Jim Meyering  <jim@meyering.net>
79605
79606         * modules/unistd-safer (Files): Add pipe-safer.c.
79607         * modules/fcntl-safer (Files): Add creat-safer.c.
79608
79609 2005-08-27  Jim Meyering  <jim@meyering.net>
79610
79611         * m4/stdlib-safer.m4: New file.  From coreutils.
79612         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79613         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79614         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79615         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79616         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79617
79618 2005-08-27  Jim Meyering  <jim@meyering.net>
79619
79620         * lib/fopen-safer.c: Merge minor changes from coreutils.
79621         * lib/dup-safer.c: Likewise.
79622         * lib/fd-safer.c: Likewise.
79623
79624         Merge from coreutils.
79625         * lib/stdio--.h: New file.
79626         * lib/stdlib--.h: New file.
79627         * lib/mkstemp-safer.c: New file.
79628
79629         GNU tar needs these.
79630         * lib/pipe-safer.c: New file.
79631         * lib/creat-safer.c: New file.
79632         * lib/fcntl--.h (creat): Define to creat_safer.
79633         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79634         * lib/unistd--.h (pipe): Define to pipe_safer.
79635         * lib/unistd-safer.h: Declare pipe_safer.
79636
79637 2005-08-26  Simon Josefsson  <jas@extundo.com>
79638
79639         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79640         Haible <bruno@clisp.org>.
79641
79642 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79643
79644         * lib/regex_internal.h: Remove all references to
79645         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79646         or better.
79647         (bitset_not, bitset_merge, bitset_not_merge):
79648         (bitset_mask, re_string_allocate, re_string_construct):
79649         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79650         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79651         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79652         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79653         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79654         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79655         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79656         (re_acquire_state_context):
79657         Remove unnecessary forward decls.
79658         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79659         Put __attribute at function definition,
79660         now that the function decl has been removed.
79661         * lib/regex_internal.c (re_string_peek_byte_case):
79662         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79663         Likewise.
79664
79665 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79666
79667         * m4/regex.m4: Add AC_PREREQ(2.50).
79668         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79669
79670 2005-08-25  Simon Josefsson  <jas@extundo.com>
79671
79672         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79673         __fsetlocking.
79674
79675 2005-08-25  Simon Josefsson  <jas@extundo.com>
79676
79677         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79678         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79679         GLIBC specific code.
79680
79681 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79682
79683         Make regex safe for g++.  This fixes one real bug (an "err"
79684         that should have been "*err").  g++ problem reported by
79685         Sam Steingold.
79686         * lib/regex_internal.h (re_calloc): New macro, consistent with
79687         re_malloc etc.  All callers of calloc changed to use re_calloc.
79688         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79689         not int.  All callers changed.
79690         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79691         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79692         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79693         (find_recover_state): Change "err" to "*err"; this fixes what
79694         appears to be a real bug.
79695         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79696         versus int.
79697
79698 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79699
79700         * modules/regex (Depends-on): Add malloc, since the code
79701         assumes that !malloc(0) means failure.
79702
79703 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79704
79705         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79706
79707         alloca modernization/simplification for regex.
79708         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79709         needs to be at the start of the file, and can be moved into
79710         regex_internal.h and simplified.
79711         * lib/regex_internal.h: Include <alloca.h>.
79712         (__libc_use_alloca) [!defined _LIBC]: New macro.
79713         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79714         now works outside glibc.
79715
79716 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79717
79718         * config/srclist.txt: Add glibc bugs 1241, 1245.
79719
79720 2005-08-25  Jim Meyering  <jim@meyering.net>
79721
79722         * lib/open-safer.c: Include <config.h>.
79723         Otherwise, we'd lose LARGEFILE support in any file using
79724         e.g. "fcntl--.h"
79725
79726 2005-08-25  Bruno Haible  <bruno@clisp.org>
79727
79728         * m4/minmax.m4: Require autoconf 2.52.
79729         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79730         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79731         alternatives of translit over the alphabet.
79732         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79733
79734 2005-08-24  Simon Josefsson  <jas@extundo.com>
79735
79736         * tests/test-getpass.c: New file.
79737
79738 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79739
79740         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79741         for GNU regex features.
79742
79743 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79744
79745         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79746         * lib/regex.h (regerror): Likewise.
79747
79748         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79749         requires this.  (The code never needed it.)
79750
79751         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79752         All uses of recently-renamed identifiers changed to use the new,
79753         POSIX-compliant names.  The code will build and run just fine
79754         without these changes, but it's better to eat our own dog food
79755         and use the standard-conforming names.
79756
79757         * lib/regex.h: Fix a multitude of POSIX name space violations.
79758         These changes have an effect only for programs that define
79759         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79760         do not change anything for programs compiled in the normal way.
79761         Also, there is no effect on the ABI.
79762
79763         (_REGEX_SOURCE): New macro.
79764         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79765         defined and _GNU_SOURCE is not; this fixes a name space violation.
79766
79767         Rename the following macros to obey POSIX requirements.
79768         The old names are still visible as macros if _REGEX_SOURCE is defined.
79769         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79770         RE_BACKSLASH_ESCAPE_IN_LISTS.
79771         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79772         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79773         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79774         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79775         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79776         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79777         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79778         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79779         (REG_INTERVALS): renamed from RE_INTERVALS.
79780         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79781         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79782         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79783         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79784         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79785         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79786         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79787         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79788         RE_UNMATCHED_RIGHT_PAREN_ORD.
79789         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79790         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79791         (REG_DEBUG): renamed from RE_DEBUG.
79792         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79793         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79794         unusual, since we can't clash with the POSIX REG_ICASE.
79795         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79796         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79797         (REG_NO_SUB): renamed from RE_NO_SUB.
79798         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
79799         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
79800         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
79801         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
79802         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
79803         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
79804         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
79805         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
79806         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
79807         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
79808         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
79809         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
79810         RE_SYNTAX_POSIX_MINIMAL_BASIC.
79811         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79812         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79813         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79814         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79815         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79816         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79817         (REG_FIXED): Renamed from REGS_FIXED.
79818         (REG_NREGS): Renamed from RE_NREGS.
79819
79820         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79821         of other REG_* macros, since POSIX says the user is allowed to
79822         #undef these macros selectively.
79823
79824         (reg_errcode_t): Update comment stating what other tables need
79825         to be consistent.
79826
79827         Rename the following enum values to obey POSIX requirements.
79828         The old names are still visible as macros.
79829         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79830         is not defined, since GNU is supposed to be a superset of POSIX as
79831         much as possible, and since we want reg_errcode_t to be a signed
79832         type for implementation consistency.
79833         (_REG_NOERROR): Renamed from REG_NOERROR.
79834         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79835         (_REG_BADPAT): Renamed from REG_BADPAT.
79836         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79837         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79838         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79839         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79840         (_REG_EBRACK): Renamed from REG_EBRACK.
79841         (_REG_EPAREN): Renamed from REG_EPAREN.
79842         (_REG_EBRACE): Renamed from REG_EBRACE.
79843         (_REG_BADBR): Renamed from REG_BADBR.
79844         (_REG_ERANGE): Renamed from REG_ERANGE.
79845         (_REG_ESPACE): Renamed from REG_ESPACE.
79846         (_REG_BADRPT): Renamed from REG_BADRPT.
79847         (_REG_EEND): Renamed from REG_EEND.
79848         (_REG_ESIZE): Renamed from REG_ESIZE.
79849         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79850         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79851         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79852         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79853         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79854
79855         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79856         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79857         changed.  But support the old name if the new one is not defined
79858         and if _REGEX_SOURCE.
79859
79860         Change the following member names in struct re_pattern_buffer.
79861         The old names are still supported if !_REGEX_SOURCE.
79862         The new names are always supported, regardless of _REGEX_SOURCE.
79863         (re_buffer): Renamed from buffer.
79864         (re_allocated): Renamed from allocated.
79865         (re_used): Renamed from used.
79866         (re_syntax): Renamed from syntax.
79867         (re_fastmap): Renamed from fastmap.
79868         (re_translate): Renamed from translate.
79869         (re_can_be_null): Renamed from can_be_null.
79870         (re_regs_allocated): Renamed from regs_allocated.
79871         (re_fastmap_accurate): Renamed from fastmap_accurate.
79872         (re_no_sub): Renamed from no_sub.
79873         (re_not_bol): Renamed from not_bol.
79874         (re_not_eol): Renamed from not_eol.
79875         (re_newline_anchor): Renamed from newline_anchor.
79876
79877         Change the following member names in struct re_registers.
79878         The old names are still supported if !_REGEX_SOURCE.
79879         The new names are always supported, regardless of _REGEX_SOURCE.
79880         (rm_num_regs): Renamed from num_regs.
79881         (rm_start): Renamed from start.
79882         (rm_end): Renamed from end.
79883
79884         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79885         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79886         Prepend __ to parameter names.
79887
79888         Undo yesterday's changes.
79889
79890 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79891
79892         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79893         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79894         lib/regex.c.
79895
79896 2005-08-24  Jim Meyering  <jim@meyering.net>
79897
79898         Sync from coreutils.
79899         * m4/fcntl-safer.m4: New file.
79900
79901         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79902         and object files for this module.
79903
79904 2005-08-24  Jim Meyering  <jim@meyering.net>
79905
79906         Sync from coreutils.
79907         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79908
79909 2005-08-24  Jim Meyering  <jim@meyering.net>
79910
79911         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79912         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79913
79914 2005-08-24  Jim Meyering  <jim@meyering.net>
79915
79916         * modules/fcntl-safer: New module.
79917         * modules/fts (Depends-on): Add fcntl-safer.
79918         * MODULES.html.sh (File descriptor based Input/Output):
79919         Add fcntl-safer.
79920
79921 2005-08-24  Bruno Haible  <bruno@clisp.org>
79922
79923         Support for unit test modules.
79924         * modules/README: Mention tests modules.
79925         * modules/TEMPLATE-TESTS: New file.
79926         * gnulib-tool: New options --extract-tests-module, --with-tests and
79927         --tests-base (unused for the moment).
79928         (testsbase, inctests): New variables.
79929         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
79930         (func_verify_module): Exclude TEMPLATE-TESTS.
79931         (func_verify_nontests_module, func_verify_tests_module): New functions.
79932         (func_get_dependencies): Add implicit dependency for tests modules.
79933         (func_get_tests_module): New function.
79934         (func_modules_transitive_closure): When --with-tests was specified,
79935         include the unit tests as well, unless explicitly avoided.
79936         (func_emit_lib_Makefile_am): Ignore the tests modules here.
79937         (func_emit_tests_Makefile_am): New function.
79938         (func_create_testdir): When --with-tests was specified, emit a
79939         tests/ directory.
79940         * MODULES.html.sh (Future developments): Update.
79941
79942 2005-08-24  Bruno Haible  <bruno@clisp.org>
79943
79944         * modules/tls-tests: New file.
79945         * tests/test-tls.c: New file, from GNU gettext.
79946
79947 2005-08-24  Bruno Haible  <bruno@clisp.org>
79948
79949         * modules/lock-tests: New file.
79950         * tests/test-lock.c: New file, from GNU gettext.
79951
79952 2005-08-24  Bruno Haible  <bruno@clisp.org>
79953
79954         * lib/lock.h: Add multiple inclusion guard.
79955         * lib/tls.h: Add multiple inclusion guard.
79956
79957 2005-08-24  Bruno Haible  <bruno@clisp.org>
79958
79959         * gnulib-tool: Add support for the --aux-dir option to
79960         --create-testdir, --create-megatestdir, --test, --megatest.
79961         (func_create_testdir, func_create_megatestdir): Optionally emit a
79962         AC_CONFIG_AUX_DIR directive.
79963         (create-testdir, create-megatestdir, test, megatest): Provide a
79964         default value for $auxdir.
79965
79966 2005-08-24  Bruno Haible  <bruno@clisp.org>
79967
79968         * gnulib-tool (import): Use compound statement instead of subshell
79969         where possible.
79970
79971 2005-08-24  Bruno Haible  <bruno@clisp.org>
79972
79973         * gnulib-tool (import): Change --aux-dir default to "build-aux".
79974
79975 2005-08-24  Bruno Haible  <bruno@clisp.org>
79976
79977         * gnulib-tool (func_version): Update.
79978
79979 2005-08-24  Bruno Haible  <bruno@clisp.org>
79980
79981         * gnulib-tool (func_import, func_create_testdir,
79982         func_create_megatestdir): Quote all autoconf macro arguments.
79983
79984 2005-08-24  Bruno Haible  <bruno@clisp.org>
79985
79986         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
79987         option --force, because --force causes the aclocal.m4 of each
79988         subdirectory to be newer than the corresponding config.h.in.
79989
79990 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79991
79992         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
79993         All contents moved to gl_REGEX.
79994         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
79995         assume that it does.
79996
79997 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79998
79999         * lib/regex.h (REG_NOSYS)
80000         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80001         Define, since POSIX requires it as of 2001.
80002         (_REG_ENOSYS)
80003         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80004         New private symbol, used to keep the enum signed in all cases.
80005         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80006         Youngman in
80007         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80008
80009         * lib/regex_internal.c (re_string_skip_chars, register_state):
80010         (calc_state_hash):
80011         Remove forward decls; no longer needed now that we use prototypes.
80012         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80013         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80014         (clean_state_log_if_needed): Likewise.
80015
80016 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80017
80018         * config/srclist.txt: Add glibc bugs 1231-1233.
80019
80020 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80021
80022         Fix problems reported by Sam Steingold in
80023         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80024         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80025         assumed that reg_errcode_t is a signed type, which is not
80026         necessarily true if _XOPEN_SOURCE is not defined.
80027         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80028         since some compilers warn about it otherwise.
80029
80030 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80031
80032         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80033         (init_word_char, create_initial_state, duplicate_node_closure):
80034         (fetch_token, peek_token_bracket, build_range_exp):
80035         (build_collating_symbol): Remove forward decls; no longer needed
80036         now that we use prototypes.
80037
80038         * lib/regcomp.c:
80039         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80040         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80041         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80042         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80043         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80044         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80045         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80046         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80047         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80048         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80049         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80050         (build_charclass, build_charclass_op, fetch_number, create_tree):
80051         (create_token_tree, mark_opt_subexp, duplicate_tree):
80052         Use prototypes rather than old-style definitions.
80053
80054         * lib/regex_internal.c:
80055         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80056         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80057         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80058         (re_string_reconstruct, re_string_peek_byte_case):
80059         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80060         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80061         (re_node_set_init_copy, re_node_set_add_intersect):
80062         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80063         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80064         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80065         (re_acquire_state, re_acquire_state_context, register_state):
80066         (create_ci_newstate, create_cd_newstate, free_state):
80067         Likewise.
80068         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80069         re_search_2):
80070         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80071         (re_search_internal, prune_impossible_nodes):
80072         (acquire_init_state_context, check_matching, static):
80073         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80074         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80075         (update_regs, sift_states_backward, build_sifted_states):
80076         (clean_state_log_if_needed, merge_state_array):
80077         (update_cur_sifted_state, add_epsilon_src_nodes):
80078         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80079         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80080         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80081         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80082         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80083         (check_arrival, check_arrival_add_next_nodes):
80084         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80085         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80086         (check_node_accept_bytes, check_node_accept, extend_buffers):
80087         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80088         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80089         (sift_ctx_init):
80090         Likewise.
80091
80092         * lib/regex_internal.h:
80093         (re_string_allocate, re_string_construct, re_string_reconstruct):
80094         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80095         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80096         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80097         (re_string_context_at, re_string_peek_byte_case):
80098         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80099         is defined, since we now use prototypes always.
80100
80101         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80102         C89 or better.  All uses removed.
80103
80104 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80105
80106         * config/srclist.txt: Add glibc bugs 1220-1227.
80107
80108 2005-08-20  Jim Meyering  <jim@meyering.net>
80109
80110         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80111         of unused local, dfa.
80112
80113 2005-08-20  Bruno Haible  <bruno@clisp.org>
80114
80115         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80116
80117 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80118
80119         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80120         (re_node_set_insert_last, re_dfa_add_node):
80121         Rename local variables to avoid GCC shadowing warnings.
80122
80123 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80124
80125         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80126         [defined lint]: Suppress bogus uninitialized-variable warnings.
80127
80128         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80129         and let the caller return REG_ESPACE if out of space.  This
80130         removes an uninitialied-variable warning with GCC 4.0.1, and also
80131         avoids taking the address of a local variable.  All callers
80132         changed.
80133
80134 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80135
80136         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80137         $LIBCSRC/posix/regexec.c.
80138         Add glibc bug 1217 for regcomp.c.
80139
80140 2005-08-19  Jim Meyering  <jim@meyering.net>
80141
80142         * lib/regexec.c (proceed_next_node): Redo local variables to
80143         avoid GCC shadowing warnings.
80144
80145 2005-08-18  Bruno Haible  <bruno@clisp.org>
80146
80147         * lib/strstr.c (strstr): Fix return value in multibyte case.
80148         * lib/strcasestr.c (strcasestr): Likewise.
80149
80150 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80151
80152         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80153
80154 2005-08-17  Jim Meyering  <jim@meyering.net>
80155
80156         Make the %s format (seconds since the epoch) work for a negative
80157         number and when used with a zero-padded field width, e.g. %015s.
80158
80159         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80160         label so that it precedes the code to set `digits'.  Otherwise,
80161         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80162         print `00-22'.  Now, it prints `-0022', as it should.
80163
80164 2005-08-17  Bruno Haible  <bruno@clisp.org>
80165
80166         * modules/strstr (Files): Add m4/mbrtowc.m4.
80167         (Depends-on): Add mbuiter.
80168
80169 2005-08-17  Bruno Haible  <bruno@clisp.org>
80170
80171         * modules/strcasestr: New file.
80172         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80173         strcasestr.
80174
80175 2005-08-17  Bruno Haible  <bruno@clisp.org>
80176
80177         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80178
80179 2005-08-17  Bruno Haible  <bruno@clisp.org>
80180
80181         * modules/mbuiter: New file.
80182         * MODULES.html.sh (Extended multibyte and wide character utilities):
80183         Add mbuiter.
80184
80185 2005-08-17  Bruno Haible  <bruno@clisp.org>
80186
80187         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80188         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80189
80190 2005-08-17  Bruno Haible  <bruno@clisp.org>
80191
80192         * m4/strcasestr.m4: New file.
80193
80194 2005-08-17  Bruno Haible  <bruno@clisp.org>
80195
80196         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80197         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80198
80199 2005-08-17  Bruno Haible  <bruno@clisp.org>
80200
80201         * lib/strcasestr.h: New file.
80202         * lib/strcasestr.c: New file.
80203
80204 2005-08-17  Bruno Haible  <bruno@clisp.org>
80205
80206         * lib/strcasecmp.c: Use mbuiter.h.
80207
80208 2005-08-17  Bruno Haible  <bruno@clisp.org>
80209
80210         * lib/mbuiter.h: New file.
80211
80212 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80213
80214         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80215         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80216         and gl_GETOPT are both invoked via different paths (as happens
80217         with GNU tar CVS because it uses both argp and getopt), the former
80218         wins.
80219
80220 2005-08-16  Bruno Haible  <bruno@clisp.org>
80221
80222         * modules/tls: New file.
80223         * MODULES.html.sh (Multithreading): Add tls.
80224
80225 2005-08-16  Bruno Haible  <bruno@clisp.org>
80226
80227         * modules/strnlen1: New file.
80228         * MODULES.html.sh (String handling): Add strnlen1.
80229
80230 2005-08-16  Bruno Haible  <bruno@clisp.org>
80231
80232         * modules/strcase (Files): Add m4/mbrtowc.m4.
80233         (Depends-on): Add strnlen1, mbchar.
80234
80235 2005-08-16  Bruno Haible  <bruno@clisp.org>
80236
80237         * modules/mbiter: New file.
80238         * MODULES.html.sh (Extended multibyte and wide character utilities):
80239         Add mbiter.
80240
80241 2005-08-16  Bruno Haible  <bruno@clisp.org>
80242
80243         * modules/mbfile: New file.
80244         * MODULES.html.sh (Extended multibyte and wide character utilities):
80245         Add mbfile.
80246
80247 2005-08-16  Bruno Haible  <bruno@clisp.org>
80248
80249         * modules/mbchar: New file.
80250         * MODULES.html.sh (Extended multibyte and wide character utilities):
80251         New section.
80252
80253 2005-08-16  Bruno Haible  <bruno@clisp.org>
80254
80255         * m4/tls.m4: New file, from GNU gettext.
80256
80257 2005-08-16  Bruno Haible  <bruno@clisp.org>
80258
80259         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80260         always.
80261         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80262
80263 2005-08-16  Bruno Haible  <bruno@clisp.org>
80264
80265         * m4/mbiter.m4: New file.
80266
80267 2005-08-16  Bruno Haible  <bruno@clisp.org>
80268
80269         * m4/mbfile.m4: New file.
80270
80271 2005-08-16  Bruno Haible  <bruno@clisp.org>
80272
80273         * m4/mbchar.m4: New file.
80274
80275 2005-08-16  Bruno Haible  <bruno@clisp.org>
80276
80277         * lib/tls.h: New file, from GNU gettext.
80278         * lib/tls.c: New file, from GNU gettext.
80279
80280 2005-08-16  Bruno Haible  <bruno@clisp.org>
80281
80282         * lib/strnlen1.h: New file.
80283         * lib/strnlen1.c: New file.
80284
80285 2005-08-16  Bruno Haible  <bruno@clisp.org>
80286
80287         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80288         (mbi_init): Update.
80289         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80290         NUL byte, not after it.
80291
80292 2005-08-16  Bruno Haible  <bruno@clisp.org>
80293
80294         * lib/strcase.h (strcasecmp): Add note in comments.
80295         * lib/strncasecmp.c: Use code from strcasecmp.c.
80296         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80297         (strcasecmp): Work correctly in multibyte locales.
80298
80299 2005-08-16  Bruno Haible  <bruno@clisp.org>
80300
80301         * lib/mbiter.h: New file.
80302
80303 2005-08-16  Bruno Haible  <bruno@clisp.org>
80304
80305         * lib/mbfile.h: New file.
80306
80307 2005-08-16  Bruno Haible  <bruno@clisp.org>
80308
80309         * lib/mbchar.h: New file.
80310         * lib/mbchar.c: New file.
80311
80312 2005-08-16  Bruno Haible  <bruno@clisp.org>
80313
80314         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80315         the valid ones. Makes the comparison operations transitive:
80316         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80317         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80318
80319 2005-08-15  Simon Josefsson  <jas@extundo.com>
80320
80321         * modules/ssize_t (License): Change to 'unlimited'.
80322
80323         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80324
80325 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80326
80327         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80328         Add comments for each pending glibc patch.
80329
80330 2005-08-15  Bruno Haible  <bruno@clisp.org>
80331
80332         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80333         __cplusplus is defined.
80334
80335 2005-08-14  Jim Meyering  <jim@meyering.net>
80336
80337         Sync from coreutils.
80338
80339         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80340         Use the hash-table-based cycle-detection code not just when
80341         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80342         Reported by James Youngman in
80343         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80344         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80345         FTS_TIGHT_CYCLE_CHECK.
80346         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80347         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80348         once again.
80349         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80350         * lib/fts.c (fd_safer): Remove decl.
80351         Include fcntl--.h rather than unistd-safer.h
80352         (fts_safe_changedir): Don't call fd_safer; no longer needed
80353         now that we include fcntl--.h.
80354
80355 2005-08-12  Simon Josefsson  <jas@extundo.com>
80356
80357         * modules/getndelim2: Use ssize_t module.
80358         * modules/getnline: Likewise.
80359         * modules/safe-read: Likewise.
80360         * modules/xreadlink: Likewise.
80361
80362         * modules/ssize_t: New file.
80363
80364 2005-08-12  Simon Josefsson  <jas@extundo.com>
80365
80366         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80367
80368 2005-08-12  Simon Josefsson  <jas@extundo.com>
80369
80370         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80371         ssize_t.
80372
80373 2005-08-12  Simon Josefsson  <jas@extundo.com>
80374
80375         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80376         readline, getdelim and check_version.
80377         (Support for systems lacking ISO C 99: Sizes of integer types):
80378         Add size_max.
80379
80380 2005-08-12  Bruno Haible  <bruno@clisp.org>
80381
80382         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80383
80384 2005-08-11  Simon Josefsson  <jas@extundo.com>
80385
80386         * modules/readline: New file.
80387
80388         * modules/strnlen (Files): Add strnlen.h.
80389
80390 2005-08-11  Simon Josefsson  <jas@extundo.com>
80391
80392         * m4/readline.m4: New file.
80393
80394 2005-08-11  Simon Josefsson  <jas@extundo.com>
80395
80396         * lib/readline.h, readline.c: New file.
80397
80398 2005-08-11  Simon Josefsson  <jas@extundo.com>
80399
80400         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80401         gl_AVOID.
80402
80403 2005-08-11  Bruno Haible  <bruno@clisp.org>
80404
80405         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80406
80407 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80408
80409         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80410
80411 2005-08-10  Simon Josefsson  <jas@extundo.com>
80412
80413         * tests/test-iconvme.c: New file.
80414
80415 2005-08-10  Simon Josefsson  <jas@extundo.com>
80416
80417         * m4/strnlen.m4: New file.
80418
80419         * m4/strndup.m4: Don't check for strnlen declaration, done in
80420         strnlen.m4.
80421
80422 2005-08-10  Simon Josefsson  <jas@extundo.com>
80423
80424         * lib/strndup.c: Use strnlen.h.
80425
80426         * lib/strnlen.h: New file.
80427
80428 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80429
80430         * README: Typos.
80431
80432 2005-08-02  Simon Josefsson  <jas@extundo.com>
80433
80434         * modules/readline: New file.
80435
80436 2005-08-02  Simon Josefsson  <jas@extundo.com>
80437
80438         * modules/getdelim: New file.
80439
80440         * modules/getline: Rewrite, don't use getndelim2.
80441
80442 2005-08-02  Simon Josefsson  <jas@extundo.com>
80443
80444         * m4/getline.m4: Separate out getdelim stuff into separate module.
80445
80446         * m4/getdelim.m4: New file.
80447
80448 2005-08-02  Simon Josefsson  <jas@extundo.com>
80449
80450         * lib/getline.h, getline.c: Rewrite.
80451
80452         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80453
80454 2005-07-31  Bruno Haible  <bruno@clisp.org>
80455
80456         * lib/lock.h (gl_lock_initializer): New macro.
80457         (gl_lock_define_initialized): Use it.
80458         (gl_rwlock_initializer): New macro.
80459         (gl_rwlock_define_initialized): Use it.
80460         (gl_recursive_lock_initializer): New macro.
80461         (gl_recursive_lock_define_initialized): Use it.
80462
80463 2005-07-30  Karl Berry  <karl@gnu.org>
80464
80465         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80466         Report from Ben Pfaff, regarding getopt.
80467
80468 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80469
80470         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80471         normal way.
80472         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80473         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80474         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80475         (gl_GETOPT): Use the new macros.  Most of the implementation
80476         is moved to the new macros.  This is for programs like Emacs
80477         that don't want all the functionality of gl_GETOPT.
80478
80479 2005-07-26  Bruno Haible  <bruno@clisp.org>
80480
80481         * m4/lock.m4: Update from GNU gettext.
80482
80483 2005-07-26  Bruno Haible  <bruno@clisp.org>
80484
80485         * lib/lock.h: Update from GNU gettext.
80486         * lib/lock.c: Update from GNU gettext.
80487
80488 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80489
80490         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80491         obsolescent AC_TRY_RUN.  Include the default includes files, for
80492         'exit'.
80493
80494 2005-07-24  Bruno Haible  <bruno@clisp.org>
80495
80496         * modules/visibility: New file.
80497         * MODULES.html.sh (Misc): Add visibility.
80498
80499 2005-07-24  Bruno Haible  <bruno@clisp.org>
80500
80501         * m4/visibility.m4: New file.
80502
80503 2005-07-24  Bruno Haible  <bruno@clisp.org>
80504
80505         * doc/visibility.texi: New file.
80506
80507 2005-07-22  Bruno Haible  <bruno@clisp.org>
80508
80509         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80510         $(ALLOCA_H), redundant through BUILT_SOURCES.
80511         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80512         redundant through BUILT_SOURCES.
80513         * modules/byteswap (Makefile.am): Remove explicit dependency on
80514         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80515         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80516         $(FNMATCH_H), redundant through BUILT_SOURCES.
80517         * modules/getopt (Makefile.am): Remove explicit dependency on
80518         $(GETOPT_H), redundant through BUILT_SOURCES.
80519         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80520         redundant through BUILT_SOURCES.
80521         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80522         redundant through BUILT_SOURCES.
80523         * modules/stdbool (Makefile.am): Remove explicit dependency on
80524         $(STDBOOL_H), redundant through BUILT_SOURCES.
80525         * modules/stdint (Makefile.am): Remove explicit dependency on
80526         $(STDINT_H), redundant through BUILT_SOURCES.
80527         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80528         Remove explicit dependency on $(SYSEXITS_H).
80529         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80530
80531 2005-07-18  Simon Josefsson  <jas@extundo.com>
80532
80533         * lib/check-version.c (check_version): Accept identical versions too.
80534
80535 2005-07-18  Bruno Haible  <bruno@clisp.org>
80536
80537         * modules/lock: New file.
80538         * MODULES.html.sh (Multithreading): New section.
80539
80540 2005-07-18  Bruno Haible  <bruno@clisp.org>
80541
80542         * m4/lock.m4: New file, from GNU gettext.
80543
80544 2005-07-18  Bruno Haible  <bruno@clisp.org>
80545
80546         * lib/lock.h: New file, from GNU gettext.
80547         * lib/lock.c: New file, from GNU gettext.
80548
80549 2005-07-18  Bruno Haible  <bruno@clisp.org>
80550
80551         * lib/lock.h (gl_once_t): New type.
80552         (gl_once_define, gl_once): New macros.
80553         * lib/lock.c (fresh_once): New variable.
80554         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80555         functions.
80556
80557 2005-07-16  Simon Josefsson  <jas@extundo.com>
80558
80559         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80560         workaround, suggested by Bruno.
80561
80562 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80563
80564         * modules/xalloc (Depends-on): Add xalloc-die.
80565         * modules/xvasprintf (Depends-on): Add xalloc-die.
80566
80567 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80568
80569         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80570         with a minor change.
80571
80572 2005-07-15  Bruno Haible  <bruno@clisp.org>
80573
80574         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80575         When using lib/poll.c, define poll as rpl_poll.
80576
80577 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80578
80579         * modules/argp (Depends-on): Remove unlocked-io.
80580
80581 2005-07-14  Derek Price  <derek@ximbiot.com>
80582
80583         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80584         for glob symlink bug.
80585
80586 2005-07-14  Bruno Haible  <bruno@clisp.org>
80587
80588         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80589         Instead, test for *_unlocked function declarations directly.
80590
80591 2005-07-11  Simon Josefsson  <jas@extundo.com>
80592
80593         * modules/size_max: New file.
80594
80595         * modules/xsize: Depend on size_max module for size_max.m4.
80596
80597 2005-07-11  Simon Josefsson  <jas@extundo.com>
80598
80599         * lib/size_max.h: New file.
80600
80601 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80602
80603         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80604         copyright symbol and the year.
80605         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80606         (version_etc_va): Use parameterized copyright notice.
80607         Reword to conform to the current GNU coding standards.
80608
80609 2005-07-11  Karl Berry  <karl@gnu.org>
80610
80611         * doc/gnulib.texi (Quoting): new node.
80612         (Initial import): more info, from Patrice.
80613
80614 2005-07-11  Bruno Haible  <bruno@clisp.org>
80615
80616         * gnulib-tool (func_usage): Document option --avoid.
80617         (Command line options): Handle --avoid.
80618         (func_acceptable): New function.
80619         (func_modules_transitive_closure): Use it.
80620
80621 2005-07-11  Bruno Haible  <bruno@clisp.org>
80622
80623         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80624         Reported by Jim Meyering.
80625
80626 2005-07-10  Bruno Haible  <bruno@clisp.org>
80627
80628         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80629         Needed when size_t is smaller than 'unsigned int'.
80630         Reported by Paul Eggert.
80631
80632 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80633
80634         * modules/argp (Depends-on): Add unlocked-io
80635
80636 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80637
80638         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80639         block of defines.
80640
80641 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80642
80643         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80644         fix now.
80645
80646 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80647         and Paul Eggert  <eggert@cs.ucla.edu>
80648
80649         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80650         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80651
80652 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80653
80654         * modules/regex (Files): Add lib/regex_internal.c,
80655         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80656         (Depends-on): Add extensions.
80657         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80658
80659 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80660
80661         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80662         pathconf.
80663         * m4/same.m4 (gl_SAME): Likewise.
80664         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80665
80666         * m4/regex.m4: Adjust to new libc regex implementation.
80667         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80668         all the .c and .h parts of (the new) regex.
80669         Quote the m4 stuff better.
80670         Check for RE_ICASE bug of old gnulib.
80671         Check for REG_STARTEND of recent libc.
80672         Rename local variables from jm_* to gl_*.
80673         Quote operand of "test -f".
80674         Say "recent enough" version of libc, not "version 2".
80675         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80676         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80677         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80678         Remove check for btowc, isascii.
80679         Require AM_LANGINFO_CODESET.
80680
80681 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80682
80683         * lib/regex.c, regex.h: Sync from libc.
80684         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80685         * lib/regexec.c:
80686         New files, synced from libc, except that regex_internal.h
80687         currently has a small porting fix.
80688
80689 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80690
80691         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80692         regex_internal.c, regexec.c.
80693         Add regex_internal.h too, but as a comment, since the libc version
80694         is currently broken in gnulib mode.
80695
80696 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80697
80698         Support programs like Emacs that use gnulib but not gettext.
80699         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80700         * modules/gettext-h: New file.
80701         * modules/gettext (Files): Remove lib/gettext.h.
80702         (Depends-on): Add gettext-h.
80703         (Makefile.am): Remove lib_SOURCES.
80704         * modules/argmatch, modules/c-stack, modules/closeout:
80705         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80706         * modules/execute, modules/file-type, modules/getaddrinfo:
80707         * modules/getopt, modules/human, modules/javacomp:
80708         * modules/javaexec, modules/mkdir-p, modules/obstack:
80709         * modules/openat, modules/pagealign_alloc, modules/pipe:
80710         * modules/quotearg, modules/regex, modules/rpmatch:
80711         * modules/unicodeio, modules/userspec, modules/version-etc:
80712         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80713         * modules/xsetenv:
80714         Depend on gettext-h, not gettext.
80715
80716 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80717
80718         * gnulib-tool (func_import): Add support for 'public domain' license.
80719         * modules/alloca, modules/atexit, modules/memmove:
80720         Now public domain, not GPL.
80721         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80722         * modules/realloc, modules/strerror, modules/strtod:
80723         Now LGPL, not GPL.
80724
80725 2005-07-05  Bruno Haible  <bruno@clisp.org>
80726
80727         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80728         autoconf CVS. Needed for mingw.
80729
80730 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80731
80732         Remove the dependency of the strftime module on the tzset module.
80733         * modules/strftime (Depends-on): Remove dependency on tzset.
80734
80735 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80736
80737         Remove the dependency of the strftime module on the tzset module.
80738         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80739         gl_FUNC_TZSET_CLOBBER.
80740
80741 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80742
80743         Remove the dependency of the strftime module on the tzset module.
80744         * lib/strftime.c (my_strftime)
80745         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80746         Copy the input structure, to work around some of the bug with
80747         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80748         Solaris releases, you should also use the tzset module, but we won't
80749         require it as a dependency any more since we don't want LGPLed code
80750         to depend on GPLed code.
80751
80752 2005-07-02  Jim Meyering  <jim@meyering.net>
80753
80754         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80755         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80756         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80757         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80758
80759 2005-07-02  Jim Meyering  <jim@meyering.net>
80760
80761         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80762
80763 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80764
80765         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80766         declares only 'struct timespec;' (!).
80767
80768 2005-07-01  Jim Meyering  <jim@meyering.net>
80769
80770         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80771         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80772         * lib/save-cwd.c, tempname.c:
80773         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80774         and don't include <sys/file.h>).
80775
80776 2005-06-29  Jim Meyering  <jim@meyering.net>
80777
80778         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80779         type name.  Use the variable name instead.
80780         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80781         Likewise.
80782
80783 2005-06-28  Simon Josefsson  <jas@extundo.com>
80784
80785         * modules/check-version (Files): Add check-version.m4.
80786
80787 2005-06-28  Simon Josefsson  <jas@extundo.com>
80788
80789         * m4/check-version.m4: New file, suggested by Jim Meyering
80790         <jim@meyering.net>.
80791
80792 2005-06-28  Simon Josefsson  <jas@extundo.com>
80793
80794         * lib/check-version.h, lib/check-version.c: New files.
80795
80796 2005-06-28  Simon Josefsson  <jas@extundo.com>
80797
80798         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
80799         collision with global variable.  Better indentation.  Don't
80800         increment buffer pointer beyond buffer end.  Based on comments
80801         from Paul Eggert <eggert@cs.ucla.edu>.
80802
80803         * lib/base64.h: Indent.
80804
80805 2005-06-28  Simon Josefsson  <jas@extundo.com>
80806
80807         * doc/gnulib.texi (Library version handling): New section.
80808
80809 2005-06-28  Jim Meyering  <jim@meyering.net>
80810
80811         * check-module (find_included_lib_files): Hard-code another
80812         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80813         but modules/fts-lgpl (correctly) does not list those files.
80814
80815         * modules/canonicalize (Files): Add lib/pathmax.h.
80816
80817 2005-06-25  Simon Josefsson  <jas@extundo.com>
80818
80819         * modules/check-version: New file.
80820
80821 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80822
80823         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80824         initializer of struct addrinfo, as an indication that we don't
80825         care how many members the structure has.
80826
80827 2005-06-24  Derek Price  <derek@ximbiot.com>
80828         and Bruno Haible  <bruno@clisp.org>
80829
80830         Remove stat module & update lstat.
80831         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80832         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80833         * m4/stat.m4: Remove this file.
80834
80835 2005-06-24  Derek Price  <derek@ximbiot.com>
80836         and Bruno Haible  <bruno@clisp.org>
80837
80838         Remove stat module & update lstat.
80839         * lib/stat.c: Remove this file...
80840         (slash_aware_lstat): ...moving this content and its support...
80841         * lib/lstat.c (rpl_lstat): ...into here.
80842         * lib/lstat.h: New file.
80843
80844 2005-06-24  Derek Price  <derek@ximbiot.com>
80845         and Bruno Haible  <bruno@clisp.org>
80846
80847         Remove stat module & update lstat.
80848         * config/srclist.txt (libc sources): Remove stat.
80849
80850 2005-06-24  Derek Price  <derek@ximbiot.com>
80851         and Bruno Haible  <bruno@clisp.org>
80852
80853         Remove stat module & update lstat.
80854         * MODULES.html.sh (stat): Remove.
80855         * MODULES.html: Regenerated.
80856         * modules/lstat (Description): Correct function name.
80857         (Files): Add "lstat.h".
80858         (Depends-on): Remove stat, add xalloc, stat-macros.
80859         * modules/stat: Remove this file.
80860         (Include): Add "lstat.h", remove <sys/stat.h>.
80861
80862 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80863
80864         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80865         (ranged_convert): Don't save conversion in a temporary struct.
80866         This causes a warning with GCC 4.0.0, and anyway in the typical
80867         case it's not worth the extra 100 bytes or so of code.
80868         (ranged_convert, __mktime_internal): When calling a function via a
80869         pointer P, use P () rather than (*P) (), as we now assume C89 or
80870         better.
80871
80872 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80873
80874         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80875         "who -r" failed to give output.  Problem reported by Tim Waugh.
80876
80877         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80878         (xcalloc): Use it to avoid needless tests.
80879         Problem reported by Jim Meyering.
80880
80881 2005-06-20  Derek Price  <derek@ximbiot.com>
80882
80883         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80884         unnecessary for Autoconfs > 2.59c.
80885
80886 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80887
80888         * lib/argp.h (__option_is_short): Check upper limit of
80889         __key. Isprint() requires its argument to have the value
80890         of an unsigned char or EOF.
80891
80892 2005-06-16  Jim Meyering  <jim@meyering.net>
80893
80894         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80895         when either N or S is zero.
80896
80897 2005-06-16  Derek Price  <derek@ximbiot.com>
80898
80899         * m4/bison.m4: Declare YACC & YFLAGS precious.
80900
80901 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80902
80903         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80904         multibyte string or pattern, fall back on unibyte matching.
80905         Problem reported by James Youngman.
80906
80907 2005-06-08  Bruno Haible  <bruno@clisp.org>
80908
80909         * modules/csharpcomp: New file.
80910         * MODULES.html.sh (C#): Add csharpcomp.
80911
80912 2005-06-08  Bruno Haible  <bruno@clisp.org>
80913
80914         * m4/csharpcomp.m4: New file, from GNU gettext.
80915
80916 2005-06-08  Bruno Haible  <bruno@clisp.org>
80917
80918         * lib/csharpcomp.h: New file, from GNU gettext.
80919         * lib/csharpcomp.c: New file, from GNU gettext.
80920         * lib/csharpcomp.sh.in: New file, from GNU gettext.
80921
80922 2005-06-08  Bruno Haible  <bruno@clisp.org>
80923
80924         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
80925         warning on mingw.
80926
80927 2005-06-07  Derek Price  <derek@ximbiot.com>
80928
80929         Sync from CVS.
80930         * lib/glob_.h: Indent nested #ifdef.
80931
80932 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80933
80934         Sync from coreutils.
80935         Use "file name" when talking about file names, instead of "filename"
80936         or "path", as per the GNU coding standards.
80937         * lib/mkdir-p.c: Renamed from makepath.c.
80938         (make_dir_parents): Renamed from make_path.  All callers changed.
80939         * lib/mkdir-p.h: Likewise.  All includers changed.
80940         * lib/filenamecat.c: Renamed from path-concat.c.
80941         (file_name_concat): Renamed from path_concat.  All callers changed.
80942         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
80943         * lib/filenamecat.h: Likewise.  All includers changed.
80944         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
80945         in comments or local variable names.
80946         * lib/basename.c: Likewise.
80947         * lib/canonicalize.c, canonicalize.h: Likewise.
80948         * lib/dirname.c, dirname.h: Likewise.
80949         * lib/euidaccess.c: Likewise.
80950         * lib/exclude.c: Likewise
80951         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
80952         * lib/fsusage.c, fsuage.h: Likewise.
80953         * lib/fts.c, fts_.h: Likewise.
80954         * lib/getcwd.c: Likewise.
80955         * lib/getloadavg.c: Likewise.
80956         * lib/mkstemp.c: Likewise.
80957         * lib/mountlist.c, mountlist.h: Likewise.
80958         * lib/openat.c, openat.h: Likewise.
80959         * lib/readlink-stub.c: Likewise.
80960         * lib/readutmp.c, readutmp.h: Likewise.
80961         * lib/rename.c: Likewise.
80962         * lib/rmdir.c: Likewise.
80963         * lib/same.c: Likewise.
80964         * lib/savedir.c: Likewise.
80965         * lib/stripslash.c: Likewise.
80966         * lib/tempname.c: Likewise.
80967         * lib/xreadlink.c: Likewise.
80968         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
80969         All uses changed.
80970         * lib/exclude.h: Likewise.
80971
80972         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
80973         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80974         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
80975         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80976         * lib/pathmax.h: Include <limits.h> unconditionally, since other
80977         files have been getting away with it for years (MORE/BSD 4.3
80978         is extinct now).
80979         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
80980         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80981
80982         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
80983         Define to 256, not 255, as per modern POSIX.
80984
80985 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80986
80987         Sync from coreutils.
80988         Use "file name" when talking about file names, instead of "filename"
80989         or "path", as per the GNU coding standards.
80990         * MODULES.html.sh: mkdir-p renamed from makepath.
80991         filenamecat renamed from path-concat.
80992         * modules/filenamecat: Renamed from modules/path-concat.
80993         (Files): filenamecat.h and filenamecat.c renamed from
80994         path-concat.h and path-concat.c.
80995         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
80996         (Include): filenamecat.h, not path-concat.h.
80997         * modules/mkdir-p: Renamed from modules/makepath.
80998         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
80999         makepath.c.
81000         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81001         (Include): mkdir-p.h, not makepath.h.
81002
81003 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81004
81005         Sync from coreutils.
81006         * m4/mkdir-p.m4: Renamed from makepath.m4.
81007         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81008         Rename files from makepath.c to mkdir-p.c, and from
81009         makepath.h to mkdir-p.h.
81010         * m4/filenamecat.m4: Renamed from path-concat.m4.
81011         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81012         Rename files from path-concat.c to filenamecat.c,
81013         and from path-concat.h to filenamecat.h.
81014         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81015         "file name" in local variables or comments.
81016         * m4/rename.m4: Likewise.
81017
81018 2005-06-01  Bruno Haible  <bruno@clisp.org>
81019
81020         * modules/csharpexec: New file.
81021         * MODULES.html.sh (C#): New section.
81022
81023 2005-06-01  Bruno Haible  <bruno@clisp.org>
81024
81025         * m4/csharp.m4: New file, from GNU gettext.
81026         * m4/csharpexec.m4: New file, from GNU gettext.
81027
81028 2005-06-01  Bruno Haible  <bruno@clisp.org>
81029
81030         * lib/csharpexec.h: New file, from GNU gettext.
81031         * lib/csharpexec.c: New file, from GNU gettext.
81032         * lib/csharpexec.sh.in: New file, from GNU gettext.
81033
81034 2005-05-31  Derek Price  <derek@ximbiot.com>
81035             Paul Eggert  <eggert@cs.ucla.edu>
81036
81037         Sync from cvs.
81038         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81039
81040 2005-05-31  Derek Price  <derek@ximbiot.com>
81041             Paul Eggert  <eggert@cs.ucla.edu>
81042
81043         Sync from cvs.
81044         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81045
81046 2005-05-29  Derek Price  <derek@ximbiot.com>
81047
81048         * config/srclist.txt (glob_.h, glob.c): Add these files.
81049
81050 2005-05-29  Derek Price  <derek@ximbiot.com>
81051
81052         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81053         * modules/glob: New file.
81054         * modules/getlogin_r: Add link to POSIX spec in description.
81055
81056 2005-05-29  Derek Price  <derek@ximbiot.com>
81057             Paul Eggert  <eggert@cs.ucla.edu>
81058
81059         * m4/glob.m4: New file.
81060
81061 2005-05-29  Derek Price  <derek@ximbiot.com>
81062             Paul Eggert  <eggert@cs.ucla.edu>
81063
81064         * lib/glob_.h, lib/glob.c: New files.
81065
81066 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81067
81068         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81069         * modules/fts-lgpl (Depends-on): Remove gettext.
81070
81071 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81072
81073         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81074         and don't require gt_INTTYPES_PRI.
81075
81076 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81077
81078         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81079
81080         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81081         the configuration hassle isn't worth it.
81082         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81083         (LONGEST_MODIFIER, PRIuMAX): Remove.
81084
81085 2005-05-27  Bruno Haible  <bruno@clisp.org>
81086
81087         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81088
81089 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81090
81091         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81092         _POSIX_PTHREAD_SEMANTICS for Solaris.
81093
81094 2005-05-25  Derek Price  <derek@ximbiot.com>
81095
81096         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81097
81098 2005-05-25  Derek Price  <derek@ximbiot.com>
81099             Paul Eggert  <eggert@cs.ucla.edu>
81100
81101         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81102         * lib/getlogin_r.c, getlogin_r.h: New files.
81103
81104 2005-05-25  Bruno Haible  <bruno@clisp.org>
81105             Derek Price  <derek@ximbiot.com>
81106
81107         * lib/getlogin_r.h: Simplify API documentation.
81108
81109 2005-05-23  Derek Price  <derek@ximbiot.com>
81110
81111         * modules/minmax (Files): Add m4/minmax.m4.
81112         (configure.ac): Add gl_MINMAX.
81113
81114 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81115
81116         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81117         so that unistd-safer.h (GPL'ed code) need not be included.
81118
81119 2005-05-22  Bruno Haible  <bruno@clisp.org>
81120
81121         * m4/minmax.m4: New file.
81122         Based on a patch by Derek Price <derek@ximbiot.com>.
81123
81124 2005-05-22  Bruno Haible  <bruno@clisp.org>
81125
81126         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81127         (INT64_MIN): Fix definition.
81128         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81129
81130         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81131         NEED_SIGNED_INT_TYPES.
81132
81133         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81134         HAVE_SYSTEM_INTTYPES.
81135
81136 2005-05-22  Bruno Haible  <bruno@clisp.org>
81137
81138         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81139         Also include <sys/param.h> if it defines MIN, MAX.
81140         Based on a patch by Derek Price <derek@ximbiot.com>.
81141
81142 2005-05-21  Jim Meyering  <jim@meyering.net>
81143
81144         * modules/fts (Files): Add m4/inttypes-pri.m4.
81145         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81146
81147 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81148
81149         New fts module.
81150         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81151         (setup_dir, free_dir): New functions.
81152         (enter_dir, leave_dir): Define trivial
81153         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81154         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81155         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81156         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81157         Move to fts-cycle.c.
81158         (fts_open): Use setup_dir.
81159         (fts_close): Use free_dir.
81160         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81161         This adds a label and some gotos, but the alternatives were messier.
81162         Check for memory allocation failure when entering a dir.
81163         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81164         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81165         (FTS): New member fts_cycle, that is a union that contains the
81166         old active_dir_ht and cycle_state.  All uses changed to mention
81167         fts_cycle.ht and fts_cycle.state.
81168         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81169         fts.c, with the following changes:
81170         (setup_dir, free_dir): New functions.
81171         (enter_dir): Now returns bool.  Return true if successful, false
81172         if memory exhausted.  All callers changed.
81173         Do not bother partly cleaning up on
81174         memory allocation failure; that is free_dir's job.
81175         However, free ad if hash_insert fails, to avoid memory leak.
81176         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81177         fts->fts_options to see which union member to use.
81178
81179 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81180
81181         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81182         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81183
81184 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81185
81186         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81187
81188 2005-05-20  Jim Meyering  <jim@meyering.net>
81189
81190         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81191         Now a macro, to pacify GCC.
81192
81193 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81194
81195         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81196         of -1.
81197
81198 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81199
81200         * lib/chown.c (rpl_chown): Return -1 on failure.
81201
81202 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81203
81204         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81205         Don't check for stddef.h.
81206         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81207         don't use its results.
81208         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81209         since we include them unconditionally.  Don't require
81210         AM_STDBOOL_H, since stdbool is a prerequisite.
81211         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81212         since we assume C89 or better.
81213         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81214         as we don't use their results.
81215         Don't check for fchdir, memmove, memset, strrchr, as we use
81216         them unconditionally.
81217         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81218         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81219
81220 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81221
81222         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81223         Include <stddef.h> unconditionally, since we assume C89 now.
81224         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81225         * lib/fts.c: Include fts_.h first, to check interface.
81226         Do not include intprops.h; no longer needed.
81227         Include cycle-check.h and hash.h, since fts_.h no longer does.
81228         Remove unnecessary casts of closedir to void.
81229         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81230         decide whether to decrement nlinks.
81231         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81232         (FTS): Use struct hash_table * instead of Hash_table, so that
81233         we no longer need to include hash.h here.
81234
81235 2005-05-18  Jim Meyering  <jim@meyering.net>
81236
81237         * modules/dirfd (License): Change to LGPL.  Most of the code
81238         is already in the public domain.
81239
81240 2005-05-18  Jim Meyering  <jim@meyering.net>
81241
81242         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81243         Reported by Yoann Vandoorselaere.
81244
81245 2005-05-17  Jim Meyering  <jim@meyering.net>
81246
81247         * m4/fts.m4: New file, from coreutils.
81248
81249 2005-05-17  Jim Meyering  <jim@meyering.net>
81250
81251         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81252
81253 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81254
81255         Sync from coreutils.
81256         * m4/unlinkdir.m4: New file.
81257
81258 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81259
81260         Sync from coreutils.
81261         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81262         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81263         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81264         White space changes only.
81265         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81266         special.
81267         * lib/yesno.c: Include getline.h, not ctype.h.
81268         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81269         Use getline to remove arbitrary restriction on response length.
81270
81271 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81272
81273         * config/srclist-update: Spell out "Street" in FSF postal
81274         mail address; this is the style the FSF seems to prefer.
81275
81276         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81277         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81278         this updates FSF postal mail address.
81279
81280         Sync from coreutils.
81281         * modules/unlinkdir: New file.
81282         * modules/yesno (Depends-on): Add getline.
81283         * MODULES.html.sh (File system functions): Add unlinkdir.
81284
81285 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81286
81287         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81288         lib/strsep.h:
81289         Change the initial comment to refer to GPL, not LGPL.
81290         gnulib-tool will change it to LGPL as needed.
81291
81292         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81293         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81294         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81295         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81296         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81297         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81298         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81299         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81300         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81301         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81302         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81303         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81304         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81305         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81306         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81307         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81308         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81309         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81310         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81311         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81312         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81313         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81314         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81315         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81316         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81317         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81318         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81319         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81320         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81321         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81322         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81323         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81324         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81325         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81326         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81327         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81328         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81329         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81330         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81331         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81332         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81333         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81334         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81335         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81336         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81337         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81338         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81339         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81340         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81341         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81342         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81343         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81344         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81345         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81346         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81347         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81348         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81349         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81350         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81351         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81352         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81353         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81354         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81355         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81356         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81357         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81358         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81359         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81360         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81361         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81362         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81363         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81364         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81365         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81366         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81367         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81368         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81369         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81370         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81371         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81372         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81373         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81374         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81375         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81376         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81377         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81378         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81379         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81380         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81381         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81382         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81383         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81384         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81385         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81386         lib/yesno.c, lib/yesno.h:
81387         Update FSF postal mail address.
81388
81389 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81390
81391         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81392         tests/test-memmem.c, tests/test-stpncpy.c:
81393         Update FSF postal mail address.
81394
81395 2005-05-13  Bruno Haible  <bruno@clisp.org>
81396
81397         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81398         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81399         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81400         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81401         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81402         Add support for 64-bit integers in the MSVC compiler.
81403
81404 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81405
81406         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81407
81408 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81409
81410         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81411
81412 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81413
81414         * doc/getdate.texi (General date syntax): Don't say that date
81415         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81416         Problem reported by Nic Ferrier.
81417
81418 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81419
81420         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81421         specified in ai_socktype. Fix invalid ai_protocol
81422         check. ai_protocol is usually set to 0 or depending on
81423         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81424         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81425         ai_socktype / ai_protocol in the returned addrinfo structure.
81426
81427 2005-05-10  Simon Josefsson  <jas@extundo.com>
81428
81429         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81430         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81431
81432 2005-05-10  Karl Berry  <karl@gnu.org>
81433
81434         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81435         (from http://www.gnu.org/licenses).
81436         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81437         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81438         fdl.texi suffices.
81439
81440 2005-05-10  Karl Berry  <karl@gnu.org>
81441
81442         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81443         (COPYING.DOC): remove.
81444
81445         * config/srclist-update: new FSF address.
81446
81447 2005-05-10  Derek Price  <derek@ximbiot.com>
81448
81449         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81450         possible.
81451
81452 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81453             Bruno Haible  <bruno@clisp.org>
81454
81455         * modules/inet_ntop: New file.
81456         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81457         inet_ntop.
81458
81459 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81460             Bruno Haible  <bruno@clisp.org>
81461
81462         * m4/inet_ntop.m4: New file.
81463
81464 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81465             Bruno Haible  <bruno@clisp.org>
81466
81467         * lib/inet_ntop.h: New file.
81468         * lib/inet_ntop.c: New file, from glibc with modifications.
81469
81470 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81471
81472         * modules/time_r (License): Change to LGPL.
81473         * modules/extensions (License): Change to LGPL.  Actually,
81474         the license is more permissive than that, but currently gnulib-tool
81475         doesn't know how to handle more-permissive licenses.
81476
81477         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81478         Problem reported by Dave Love.
81479
81480 2005-05-08  Jim Meyering  <jim@meyering.net>
81481
81482         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81483         blank.
81484
81485 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81486
81487         * modules/argmatch (Depends-on): Add stdbool.
81488         * modules/backupfile (Depends-on): Likewise.
81489         * modules/chdir-long (Depends-on): Likewise.
81490         * modules/closeout (Depends-on): Likewise.
81491         * modules/cycle-check (Depends-on): Likewise.
81492         * modules/dirname (Depends-on): Likewise.
81493         * modules/fnmatch (Depends-on): Likewise.
81494         * modules/fsusage (Depends-on): Likewise.
81495         * modules/fwriteerror (Depends-on): Likewise.
81496         * modules/getcwd (Depends-on): Likewise.
81497         * modules/getloadavg (Depends-on): Likewise.
81498         * modules/hard-locale (Depends-on): Likewise.
81499         * modules/makepath (Depends-on): Likewise.
81500         * modules/mountlist (Depends-on): Likewise.
81501         * modules/nanosleep (Depends-on): Likewise.
81502         * modules/posixtm (Depends-on): Likewise.
81503         * modules/quotearg (Depends-on): Likewise.
81504         * modules/readtokens (Depends-on): Likewise.
81505         * modules/readtokens0 (Depends-on): Likewise.
81506         * modules/readutmp (Depends-on): Likewise.
81507         * modules/save-cwd (Depends-on): Likewise.
81508         * modules/strftime (Depends-on): Likewise.
81509         * modules/userspec (Depends-on): Likewise.
81510         * modules/utimecmp (Depends-on): Likewise.
81511         * modules/xgetcwd (Depends-on): Likewise.
81512         * modules/xnanosleep (Depends-on): Likewise.
81513         * modules/xstrtod (Depends-on): Likewise.
81514         * modules/yesno (Depends-on): Likewise.
81515
81516 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81517
81518         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81519         needless checks.
81520
81521 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81522
81523         Merge from coreutils.  Among other things,
81524         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81525         * lib/fd-safer.c: New file.
81526         * lib/fcntl-safer.h, open-safer.c: Remove.
81527         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81528         * lib/dup-safer.c: Include unistd-safer.h first.
81529         Don't include errno.h.
81530         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81531         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81532         * lib/file-type.c: Rely on file-type.h change.
81533         * lib/getloadavg.c: Include unistd-safer.h.
81534         (getloadavg): Use safer open.
81535         * lib/getusershell.c: Include "stdio-safer.h".
81536         (getusershell): Use safer fopen.
81537         * lib/long-options.c (long_options): Use NULL rather than 0.
81538         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81539         'free'.
81540         * lib/modechange.c: Likewise.
81541         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81542         (MODE_DONE): New constant.
81543         (struct mode_change): Remove 'next' member.
81544         (make_node_op_equals): New function; like the old one of the
81545         same name, except it allocates an array.
81546         (mode_compile, mode_create_from_ref): Use it.
81547         (mode_compile): Allocate result as an array, not a linked list.
81548         Parse octal string ourself, so that we catch mistakes like "+0".
81549         (mode_adjust): Arg is an array, not a linked list.
81550         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81551         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81552         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81553         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81554         Remove.  This is now stat-macros.h's job.
81555         (talloc): Remove.  All callers replaced by xalloc, so that
81556         our invokers don't have to worry about reporting memory failures.
81557         (make_node_op_equals): Remove.
81558         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81559         New constants.
81560         (struct mode_change): Moved here from modechange.h.
81561         (mode_append_entry): Remove.
81562         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81563         apps to have incorrect behavior.  Use simpler algorithm for head
81564         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81565         Detect more invalid usages rather than having somewhat-random behavior.
81566         Don't insert an "a=" action, as that leads to incorrect behavior.
81567         (mode_compile, mode_create_from_ref): Return NULL on error instead
81568         of an enum, since now there's only one way to have an error.  All
81569         callers changed.
81570         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81571         at the correct time.  Simplify calculation of "+u" and its ilk.
81572         Don't mishandle "+X".
81573         (mode_free): Remove "register" and localize decls.
81574         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81575         (struct mode_change): Move to modechange.c; callers don't
81576         need to see this stuff.
81577         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81578         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81579         (mode_change, mode_adjust): Reflect the new signatures noted above.
81580         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81581         that might redefine system include files.
81582         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81583         (my_usleep): Use NULL rather than (void *) 0.
81584         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81585         Use siginterrupt to specify that system calls should be interrupted.
81586         (rpl_nanosleep): Move initialization of suspended closer to call of
81587         my_usleep.
81588         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81589         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81590         (desirable_utmp_entry): New function.
81591         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81592         using x2nrealloc, to simplify logic.
81593         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81594         size calculation.  Do not assume utmp file is a regular file.
81595         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81596         (READ_UTMP_CHECK_PIDS): New constant.
81597         * lib/save-cwd.c: Include unistd-safer.h.
81598         (save_cwd): Use fd_safer.
81599         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81600         [!_LIBC] Include "stat-macros.h" instead.
81601         * lib/unistd-safer.h (fd_safer): New decl.
81602
81603 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81604
81605         * modules/getloadavg (Depends-on): Add unistd-safer.
81606         * modules/getusershell (Depends-on): Add stdio-safer.
81607         * modules/lstat (Depends-on): Remove xalloc.
81608         * modules/mkstemp (Depends-on): Add stat-macros.
81609         * modules/modechange (Depends-on): Remove xstrtol.
81610         Add stat-macros, xalloc.
81611         * modules/save-cwd (Depends-on): Add unistd-safer.
81612         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81613         * modules/unistd-safer (Files): Add lib/fd-safer.c
81614         (Makefile.am): Remove lib_SOURCES.
81615
81616         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81617         Remove fcntl-safer; unistd-safer supersedes it.
81618
81619 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81620
81621         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81622         AC_HEADER_STAT.
81623         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81624         (gl_PREREQ_CHOWN): Remove.
81625         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81626         it.  Don't require AC_HEADER_STAT.
81627         (gl_PREREQ_LSTAT): Remove.
81628         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81629         Don't require AC_HEADER_STAT.
81630         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81631         (gl_PREREQ_RMDIR): Remove.
81632         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81633         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81634         the stat-macros module a prerequisite.
81635         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81636         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81637         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81638         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81639         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81640         variable names.
81641         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81642         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81643         variable prefixes.
81644         * m4/fcntl-safer.m4: Remove.
81645         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81646         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81647         Invoke gl_PREREQ_FD_SAFER.
81648         (gl_PREREQ_FD_SAFER): New macro.
81649         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81650         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81651         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81652         Remove duplicate call to AC_LIBOBJ(readutmp).
81653         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81654
81655         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81656         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81657
81658 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81659
81660         * MODULES.html.sh (Misc): Add byteswap.
81661
81662 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81663
81664         * modules/getcwd (Depends-on): Add extensions.
81665         * modules/openat (Depends-on): Likewise.
81666
81667 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81668
81669         * modules/byteswap: New file.
81670
81671 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81672
81673         * m4/byteswap.m4: New file.
81674
81675 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81676
81677         * lib/byteswap_.h: New file.
81678
81679 2005-04-25  Karl Berry  <karl@gnu.org>
81680
81681         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81682
81683 2005-04-25  Albert Chin  <china@thewrittenword.com>
81684
81685         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81686         Toolkit C bug.
81687
81688 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81689
81690         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81691         (func_ln_if_changed): Remove forcibly for no error message
81692         in case file does not exist.
81693
81694 2005-04-19  Simon Josefsson  <jas@extundo.com>
81695
81696         * gnulib-tool (Options): Make --symlink mean --symbolic.
81697
81698 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81699
81700         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81701
81702 2005-04-16  Simon Josefsson  <jas@extundo.com>
81703
81704         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81705
81706 2005-04-15  Simon Josefsson  <jas@extundo.com>
81707
81708         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81709
81710 2005-04-15  Simon Josefsson  <jas@extundo.com>
81711
81712         * gnulib-tool: Rename --symlink to --symbolic.
81713
81714 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81715
81716         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81717         symbolic links to files instead of copying/moving.  Add --aux-dir,
81718         specifying directory relative --dir where auxiliary build tools
81719         are placed.
81720
81721 2005-04-14  Bruno Haible  <bruno@clisp.org>
81722
81723         * modules/allocsa (License): Change to LGPL.
81724         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81725
81726 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81727
81728         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81729         that "UTC +1 second" continues to work.  Problem reported
81730         by Dmitry V. Levin.
81731         (relunit_snumber): New rule.
81732         (relunit): Use it.
81733
81734 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81735
81736         * lib/getdate.y (universal_time_zone_table): New constant.
81737         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81738         universal_time_zone_table.
81739         (lookup_zone): Prefer universal_time_zone_table to
81740         local_time_zone_table, so that "GMT" time stamps are allowed in
81741         London during the summer.  Problem reported by Ian Abbott.
81742
81743 2005-04-12  Jim Meyering  <jim@meyering.net>
81744
81745         * lib/human.c (humblock): Set *options even when returning due to
81746         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81747         warning from gcc-4.
81748
81749 2005-04-09  Jim Meyering  <jim@meyering.net>
81750
81751         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81752         -Wuninitialized: initialize tm0.tm_year.
81753
81754 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81755
81756         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81757         count, since there's no maximum.  All uses changed.
81758         Add member dsts_seen.
81759         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81760         not being INT_MAX.
81761         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81762         Use pc_rels_seen to decide whther a date is absolute.
81763
81764         * lib/getdate.y (number): Don't overwrite year.
81765         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81766         check.
81767
81768 2005-04-02  Simon Josefsson  <jas@extundo.com>
81769
81770         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81771         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81772
81773 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81774
81775         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81776         where no absolute path name can be longer than PATH_MAX.
81777
81778 2005-03-27  Jim Meyering  <jim@meyering.net>
81779
81780         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81781
81782 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81783
81784         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81785         "one's complement" -> "ones' complement" in comment, as per Knuth.
81786         "value of type" -> "type or expression" in comment.
81787         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81788
81789 2005-03-26  Jim Meyering  <jim@meyering.net>
81790
81791         Comment nits.
81792         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81793         Correct typos: s/or/of/.
81794
81795 2005-03-26  Jim Meyering  <jim@meyering.net>
81796
81797         * modules/check-include-files: Move to ../ and rename to...
81798         * check-module: ...this.
81799
81800 2005-03-25  Jim Meyering  <jim@meyering.net>
81801
81802         * modules/xvasprintf (Files): Add xalloc.h.
81803
81804 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
81805
81806         * modules/gettext (Files): config/config.rpath ->
81807         build-aux/config.rpath
81808         * modules/iconv (Files): Likewise.
81809         Problem reported by Oskar Liljeblad.
81810
81811 2005-03-23  Jim Meyering  <jim@meyering.net>
81812
81813         * modules/check-include-files: New script to check for
81814         missing dependencies, multiple includes, etc.
81815
81816         * modules/c-strtold (Depends-on): Add xalloc.
81817         * modules/c-strtod (Depends-on): Add xalloc.
81818         * modules/hash (Depends-on): Add xalloc.
81819         (Files): Remove lib/xalloc.h.
81820
81821         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81822         * modules/userspec (Files): Add lib/inttostr.h.
81823
81824 2005-03-23  Jim Meyering  <jim@meyering.net>
81825
81826         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81827
81828 2005-03-22  Jim Meyering  <jim@meyering.net>
81829
81830         * modules/stat-macros: New module.
81831         * modules/canonicalize, modules/euidaccess, modules/file-type,
81832         * modules/filemode, modules/lchown, modules/makepath,
81833         * modules/rmdir, modules/stat: Depend on new stat-macros module
81834         rather than listing lib/stat-macros.h manually.
81835         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81836
81837 2005-03-22  Jim Meyering  <jim@meyering.net>
81838
81839         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81840
81841 2005-03-22  Bruno Haible  <bruno@clisp.org>
81842
81843         * config/srclist.txt: Replace target directory 'config' with
81844         'build-aux'.
81845         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81846         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81847         ../build-aux/.
81848
81849 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81850
81851         * modules/chdir-long (Depends-on): Add mempcpy.
81852
81853         * modules/acl, modules/backupfile, modules/c-strtod,
81854         modules/c-strtold, modules/canon-host, modules/canonicalize,
81855         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81856         modules/exclude, modules/exitfail, modules/file-type,
81857         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81858         modules/getdate, modules/getline, modules/getpagesize,
81859         modules/getpass, modules/getugroups, modules/group-member,
81860         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81861         modules/inttostr, modules/long-options, modules/makepath,
81862         modules/md5, modules/memcasecmp, modules/memcoll,
81863         modules/modechange, modules/mountlist, modules/path-concat,
81864         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81865         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81866         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81867         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81868         modules/strftime, modules/strndup, modules/strverscmp,
81869         modules/timespec, modules/unlocked-io, modules/userspec,
81870         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81871         modules/yesno:
81872         Remove lib_SOURCES line from Makefile.am section, as this is now
81873         done automatically by the corresponding Autoconf macro.
81874
81875 2005-03-21  Jim Meyering  <jim@meyering.net>
81876
81877         Changes imported from coreutils.
81878
81879         * lib/cycle-check.c: Don't include xalloc.h.
81880
81881         * lib/path-concat.c: Don't include assert.h.
81882         (path_concat): Remove assertion that would have triggered
81883         for ABASE starting with more than one slash.
81884         Reported by Andreas Schwab.
81885
81886         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81887         properly when ABASE is an absolute file name.
81888         Correct the description of this function.
81889         Include <assert.h>.
81890         Add an assertion and a test driver.
81891         This fixes a bug introduced on 2004-07-02.
81892         Andreas Schwab reported the resulting failure of cp --parents:
81893         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81894
81895 2005-03-21  Jim Meyering  <jim@meyering.net>
81896
81897         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81898         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81899
81900 2005-03-21  Jim Meyering  <jim@meyering.net>
81901         and  Paul Eggert  <eggert@cs.ucla.edu>
81902
81903         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81904         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81905         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81906         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81907         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81908         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81909         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81910         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81911         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81912         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81913         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81914         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81915         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
81916         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
81917         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
81918         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
81919         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
81920         for these modules.
81921
81922 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
81923
81924         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
81925         (which shouldn't happen), generate nothing instead of returning 0
81926         immediately, so that nstrftime (NULL, ...) doesn't return 0.
81927
81928 2005-03-16  Bruno Haible  <bruno@clisp.org>
81929
81930         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
81931         HAVE_LONGLONG_64BIT.
81932
81933 2005-03-16  Bruno Haible  <bruno@clisp.org>
81934
81935         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
81936         HAVE_LONGLONG_64BIT.
81937
81938 2005-03-16  Bruno Haible  <bruno@clisp.org>
81939
81940         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
81941         HAVE_LONGLONG_64BIT.
81942
81943 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81944
81945         * lib/strftime.c (my_strftime): Prepend space to format so that we can
81946         reliably distinguish strftime failure from empty output on POSIX
81947         hosts.
81948
81949 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81950
81951         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
81952         (iconv_string): Don't guess a size-zero buffer, as that might cause
81953         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
81954         result would be 'too large', where 'too large' is (heuristically)
81955         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
81956         overflow concerns.  This will prevent some unwanted malloc failures
81957         when the inputs are very large.
81958
81959 2005-03-15  Karl Berry  <karl@gnu.org>
81960
81961         * config/srclist.txt (config.rpath): from gettext.
81962         * config/config.rpath: update.
81963
81964 2005-03-15  Bruno Haible  <bruno@clisp.org>
81965
81966         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
81967         to 'negate'.
81968
81969         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
81970         variable.
81971
81972         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
81973         results.
81974
81975 2005-03-14  Simon Josefsson  <jas@extundo.com>
81976
81977         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
81978         <fx@gnu.org>.
81979
81980 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
81981
81982         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
81983         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
81984         intprops.h.
81985         * lib/strtol.c: Likewise.
81986
81987 2005-03-14  Jim Meyering  <jim@meyering.net>
81988
81989         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
81990         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
81991         to be nonzero so that we (and caller) can detect the difference
81992         between a valid zero-length expansion and an error return, even
81993         when the underlying strftime fails before writing anything into
81994         that location.
81995
81996 2005-03-14  Bruno Haible  <bruno@clisp.org>
81997
81998         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
81999         Update from GNU gettext 0.14.3.
82000
82001 2005-03-10  Jim Meyering  <jim@meyering.net>
82002
82003         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82004
82005 2005-03-10  Jim Meyering  <jim@meyering.net>
82006
82007         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82008         so that this module works on systems without fchdir.
82009
82010 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82011
82012         Factor int-properties macros into a single file, except for
82013         glibc-related files.
82014         * lib/intprops.h: New file.
82015         * lib/getloadavg.c: Include it instead of limits.h.
82016         (INT_STRLEN_BOUND): Remove.
82017         * lib/human.c: Include intprops.h.
82018         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82019         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82020         302/1000.
82021         * lib/inttostr.h: Include intprops.h instead of limits.h.
82022         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82023         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82024         for consistency with intprops.h.
82025         (time_t_is_integer, twos_complement_arithmetic): Use them.
82026         * lib/sig2str.h: Include <signal.h>, intprops.h.
82027         (INT_STRLEN_BOUND): Remove.
82028         * lib/strftime.c (TYPE_SIGNED): Remove.
82029         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82030         * lib/strtol.c: Adjust comments to match intprops.h.
82031         * lib/userspec.c: Include intprops.h.
82032         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82033         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82034         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82035         instead of rolling our own expressions.
82036         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82037
82038         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82039         instead of int.
82040         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82041         the right thing even if adding 1900 would overflow.  Similarly
82042         for tm_mon + 1 and tm_yday + 1.
82043         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82044         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82045         (DO_SIGNED_NUMBER): New macro.
82046         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82047
82048 2005-03-07  Bruno Haible  <bruno@clisp.org>
82049
82050         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82051
82052 2005-03-07  Bruno Haible  <bruno@clisp.org>
82053
82054         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82055
82056 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82057
82058         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82059         (func_import): Only replace files via --import when they have actually
82060         changed.
82061
82062 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82063
82064         * m4/mmap-anon.m4: New file.
82065         * m4/pagealign_alloc.m4: New file.
82066
82067 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82068             Bruno Haible  <bruno@clisp.org>
82069
82070         * modules/pagealign_alloc: New file.
82071         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82072
82073 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82074             Bruno Haible  <bruno@clisp.org>
82075
82076         * lib/pagealign_alloc.h: New file.
82077         * lib/pagealign_alloc.c: New file.
82078
82079 2005-03-03  Bruno Haible  <bruno@clisp.org>
82080
82081         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82082         Use an all-permissive copyright notice, recommended by RMS.
82083
82084 2005-03-02  Bruno Haible  <bruno@clisp.org>
82085
82086         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82087         of AIX, the replacement has to be done only after <string.h> is
82088         included, therefore not in config.h. stpncpy.h does the replacement,
82089         and stpncpy.c uses it.
82090
82091 2005-03-02  Bruno Haible  <bruno@clisp.org>
82092
82093         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82094         stpncpy.c uses it.
82095
82096 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82097
82098         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82099         The workaround isn't strictly needed for POSIX conformance, and
82100         it's too much of a pain to configure and maintain.  We'll ask
82101         people to fix their kernels instead.
82102         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82103         (NANOSLEEP_BUG_WORKAROUND): Remove.
82104         (xnanosleep): Remove the workaround.
82105
82106 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82107
82108         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82109         Reported by Derek Price.
82110         (Include): Add "timespec.h".
82111
82112         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82113
82114 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82115
82116         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82117         to detect nanosleep bug.
82118
82119 2005-03-01  Bruno Haible  <bruno@clisp.org>
82120
82121         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82122
82123 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82124
82125         * modules/gethrxtime: New file.
82126         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82127         (Depends-on): Add gethrxtime.
82128         (configure.ac): Add gl_XNANOSLEEP.
82129         (Makefile.am): Remove lib_SOURCES line.
82130
82131 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82132
82133         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82134         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82135
82136 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82137
82138         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82139         * lib/timespec.h (gettime): Return void, since it always
82140         succeeds now.  All uses changed.
82141         * lib/gettime.c (gettime): Likewise.
82142         [HAVE_NANOTIME]: Prefer nanotime.
82143         Assume gettimeofday succeeds, as POSIX requires.
82144         Assime time () succeeds, since other code already does.
82145         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82146         (timespec_subtract): Remove.
82147         (NANOSLEEP_BUG_WORKAROUND): New constant.
82148         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82149         things considerably.  Use it only on GNU/Linux hosts, since the
82150         workaround shouldn't be needed elsewhere.
82151
82152 2005-02-24  Bruno Haible  <bruno@clisp.org>
82153
82154         * modules/gettext (Files): Add m4/glibc2.m4.
82155
82156 2005-02-24  Bruno Haible  <bruno@clisp.org>
82157
82158         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82159         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82160         * m4/progtest.m4:
82161         Update from GNU gettext 0.14.2.
82162         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82163
82164 2005-02-24  Bruno Haible  <bruno@clisp.org>
82165
82166         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82167         * lib/config.charset: Update from GNU gettext 0.14.2.
82168
82169 2005-02-24  Bruno Haible  <bruno@clisp.org>
82170
82171         * lib/gettext.h: Update from GNU gettext 0.14.2.
82172
82173 2005-02-23  Simon Josefsson  <jas@extundo.com>
82174
82175         * m4/iconvme.m4: New file.
82176
82177 2005-02-23  Jim Meyering  <jim@meyering.net>
82178
82179         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82180         change.
82181         Thanks to Bruno Haible for catching it.
82182
82183 2005-02-22  Simon Josefsson  <jas@extundo.com>
82184
82185         * modules/iconvme: New file.
82186
82187         * MODULES.html.sh: Add iconvme.
82188
82189 2005-02-22  Simon Josefsson  <jas@extundo.com>
82190
82191         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82192
82193 2005-02-22  Simon Josefsson  <jas@extundo.com>
82194
82195         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82196
82197 2005-02-22  Jim Meyering  <jim@meyering.net>
82198
82199         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82200         s/ifndef/ifdef/.
82201
82202 2005-02-20  Neil Conway  <neilc@samurai.com>
82203
82204         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82205         returned by OSX/Darwin if the specified buffer is not large
82206         enough for the hostname.
82207
82208 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82209
82210         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82211         pass it to _help, otherwise the latter coredumps trying to
82212         dereference state.root_argp.
82213
82214 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82215
82216         * modules/chdir-long (Depends-on): Add memrchr.
82217         * modules/memrchr (Files): Add lib/memrchr.h.
82218         (Include): "memrchr.h".
82219
82220 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82223
82224 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82225
82226         * lib/memrchr.h: New file.
82227         * lib/chdir-long.c: Include it.
82228         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82229         Don't bother including stddef.h.
82230
82231 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82232
82233         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82234         inclusion.
82235         Include <sys/types.h>, for dev_t.
82236         (ME_DUMMY, ME_REMOTE): Move from here....
82237         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82238         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82239         Dmitry V. Levin.
82240         Include mountlist.h first, to test the interface.
82241
82242 2005-01-29  Bruno Haible  <bruno@clisp.org>
82243
82244         * lib/progname.c (program_name): Initialize.
82245         Needed when linking statically on MacOS X.
82246
82247 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82248
82249         Sync from coreutils.
82250         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82251         (Depends-on): Add c-strtod.
82252         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82253
82254 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82255
82256         Sync from coreutils.
82257         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82258
82259         Remove files that are specific to coreutils.
82260         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82261
82262 2005-01-28  Bruno Haible  <bruno@clisp.org>
82263
82264         * modules/javacomp: New file.
82265         * MODULES.html.sh (Java): Add javacomp.
82266
82267 2005-01-28  Bruno Haible  <bruno@clisp.org>
82268
82269         * m4/javacomp.m4: New file, from GNU gettext.
82270
82271 2005-01-28  Bruno Haible  <bruno@clisp.org>
82272
82273         * lib/javacomp.sh.in: New file, from GNU gettext.
82274         * lib/javacomp.h: New file, from GNU gettext.
82275         * lib/javacomp.c: New file, from GNU gettext.
82276
82277 2005-01-26  Simon Josefsson  <jas@extundo.com>
82278
82279         * lib/gai_strerror.c: Use GPL in header.
82280
82281 2005-01-26  Bruno Haible  <bruno@clisp.org>
82282
82283         * modules/javaexec: New file.
82284         * MODULES.html.sh (Java): Add javaexec.
82285
82286 2005-01-26  Bruno Haible  <bruno@clisp.org>
82287
82288         * m4/javaexec.m4: New file, from GNU gettext.
82289
82290 2005-01-26  Bruno Haible  <bruno@clisp.org>
82291
82292         * lib/javaexec.sh.in: New file, from GNU gettext.
82293         * lib/javaexec.h: New file, from GNU gettext.
82294         * lib/javaexec.c: New file, from GNU gettext.
82295
82296 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82297
82298         * modules/lchown (Depends-on): Remove lchown.h
82299
82300 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82301
82302         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82303         must be defined if the header file was not found, in order
82304         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82305
82306 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82307
82308         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82309         initializers for struct pentry_state.
82310         (__argp_error): Check return value of __asprintf
82311         (__argp_failure): Translate error message
82312
82313         * lib/argp-parse.c: Removed braces around the expansion of N_()
82314
82315 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82316
82317         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82318         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82319         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82320         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82321         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82322         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82323         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82324         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82325         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82326         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82327         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82328         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82329         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82330         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82331         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82332         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82333         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82334         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82335         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82336         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82337         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82338         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82339         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82340         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82341         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82342         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82343         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82344         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82345         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82346         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82347         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82348         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82349         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82350         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82351         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82352         Use an all-permissive copyright notice, recommended by RMS.
82353
82354 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82355
82356         * modules/chdir-long (Depends-on): Remove mempcpy.
82357
82358 2005-01-21  Jim Meyering  <jim@meyering.net>
82359
82360         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82361         same value as for Solaris 9.
82362
82363         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82364         component length.  This included changing the parameter to be
82365         of type `char *' rather than `char const *'.
82366         * lib/chdir-long.h (chdir_long): Update prototype.
82367
82368         * lib/openat.c (fdopendir, fstatat): New functions.
82369         * lib/openat.h: Include headers required for use of DIR and struct
82370         stat.
82371         [AT_SYMLINK_NOFOLLOW]: Define.
82372         (fdopendir, fstatat): Add prototypes.
82373
82374 2005-01-21  Bruno Haible  <bruno@clisp.org>
82375
82376         * modules/classpath: New file.
82377         * MODULES.html.sh (Java): Add classpath.
82378
82379 2005-01-21  Bruno Haible  <bruno@clisp.org>
82380
82381         * lib/classpath.h: New file, from GNU gettext.
82382         * lib/classpath.c: New file, from GNU gettext.
82383
82384 2005-01-20  Simon Josefsson  <jas@extundo.com>
82385
82386         * modules/version-etc-fsf: New file.
82387
82388 2005-01-20  Simon Josefsson  <jas@extundo.com>
82389
82390         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82391         * lib/version-etc.c: Remove version_etc_copyright.
82392         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82393         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82394
82395 2005-01-20  Simon Josefsson  <jas@extundo.com>
82396
82397         * lib/base64.h (isbase64): Add.
82398
82399         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82400         using a unsigned prototype, don't inline.
82401         (base64_decode): Use it.
82402
82403 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82404
82405         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82406         it.
82407
82408 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82409
82410         * lib/save-cwd.c (save_cwd): Remove code to support the case
82411         where fchdir is missing or flaky.
82412
82413 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82414
82415         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82416
82417 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82418
82419         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82420         AC_LIBSOURCES now does this.
82421         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82422         with new ullong_max module.
82423
82424 2005-01-19  Bruno Haible  <bruno@clisp.org>
82425
82426         * modules/sh-quote: New file.
82427         * MODULES.html.sh (Executing programs): Add sh-quote.
82428
82429 2005-01-19  Bruno Haible  <bruno@clisp.org>
82430
82431         * lib/sh-quote.h: New file, from GNU gettext.
82432         * lib/sh-quote.c: New file, from GNU gettext.
82433
82434 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82435
82436         Merge from coreutils.
82437         * m4/ullong_max.m4: New file.
82438         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82439         (gl_MACROS): Assume localeconv exists.
82440
82441 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82442
82443         Merge changes from coreutils, as described below in several
82444         changelogs dated today.
82445
82446         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82447         (O_DIRECTORY): Remove; not needed here, since "." must be
82448         a directory.  All uses removed.
82449         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82450         universal on Suns, and we also need to test for IRIX.
82451         Revamp code to use 'if' rather than '#if'.
82452         Avoid unnecessary comparison of cwd->desc to 0.
82453
82454         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82455         for known valid error numbers rather than observed invalid ones.
82456
82457 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82458
82459         * modules/ullong_max: New file.
82460
82461         * modules/chdir-long, modules/openat: New files.
82462         * modules/save-cwd (Depends-on): Depend on chdir-long.
82463         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82464
82465 2005-01-18  Jim Meyering  <jim@meyering.net>
82466
82467         Merge from coreutils.
82468         * m4/chdir-long.m4, m4/openat.m4: New files.
82469         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82470         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82471         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82472         is sane and DOES follow symlinks.  Besides, testing 20 different
82473         systems found no broken chown implementations.
82474         Prompted by a change in rsync's copy of this macro.
82475         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82476
82477         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82478
82479         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82480         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82481         NULL-means-set-to-current-time semantics.
82482         Remove temporary file immediately, rather than waiting
82483         for configure's at-exit trap code to do it.
82484
82485 2005-01-18  Jim Meyering  <jim@meyering.net>
82486
82487         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82488
82489         * lib/utimens.c (futimens): Account for the fact that futimes
82490         can also fail with errno == ENOSYS or errno == ENOENT.
82491         Patch from Dmitry V. Levin.
82492
82493         Change the name of the robust chdir function from chdir to chdir_long.
82494         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82495         (restore_cwd): Use chdir_long, not chdir.
82496         * lib/chdir-long.c: Renamed from chdir.c.
82497         * lib/chdir-long.h: Renamed from chdir.h.
82498         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82499         Hurd.
82500
82501 2005-01-18  Bruno Haible  <bruno@clisp.org>
82502
82503         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82504         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82505         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82506         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82507         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82508         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82509         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82510         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82511         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82512         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82513         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82514         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82515         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82516         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82517         Use an all-permissive copyright notice, recommended by RMS.
82518
82519 2005-01-18  Bob Proulx  <bob@proulx.com>
82520
82521         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82522         simplify offsetof() macro construct to avoid compile failure with
82523         native HP-UX 11.0 ANSI C compiler.
82524
82525 2005-01-17  Bruno Haible  <bruno@clisp.org>
82526
82527         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82528         redundant because stpncpy.m4 takes care of it.
82529
82530 2005-01-17  Bruno Haible  <bruno@clisp.org>
82531
82532         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82533
82534 2005-01-17  Bruno Haible  <bruno@clisp.org>
82535
82536         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82537         used.
82538
82539 2005-01-17  Bruno Haible  <bruno@clisp.org>
82540
82541         * lib/fwriteerror.h (fwriteerror): Change specification to include
82542         fclose.
82543         * lib/fwriteerror.c: Include <stdbool.h>.
82544         (fwriteerror): At the end, close the file stream. Record whether
82545         stdout was already closed.
82546
82547 2005-01-17  Bruno Haible  <bruno@clisp.org>
82548
82549         * lib/execute.c (environ): Declare if needed.
82550         * lib/pipe.c (environ): Likewise.
82551         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82552
82553 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82554
82555         * modules/argp: Depend on vsnprintf
82556
82557 2005-01-10  Jim Meyering  <jim@meyering.net>
82558
82559         * modules/closeout (Depends-on): Add atexit.
82560
82561 2005-01-06  Bruno Haible  <bruno@clisp.org>
82562
82563         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82564
82565 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82566
82567         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82568         definitions to be after all include files, to avoid collisions.
82569         Problem reported by Bob Proulx.
82570
82571 2005-01-04  Jim Meyering  <jim@meyering.net>
82572
82573         Changes imported from coreutils.
82574         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82575         as the mkstemp template, use a temporary directory and an
82576         8.3-friendly template to avoid trouble on systems like DJGPP.
82577         Reported by Juan M. Guerrero via Stepan Kasal.
82578         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82579         close. Remove the temporary directory right away, rather than waiting
82580         for configure's at-exit trap code to do it.
82581         Suggestion from Stepan Kasal.
82582
82583 2005-01-01  Simon Josefsson  <jas@extundo.com>
82584
82585         * gnulib-tool: Print #include directives when --import'ing.
82586
82587 2004-12-28  Simon Josefsson  <jas@extundo.com>
82588
82589         * tests/test-base64.c: Include required header files.  Remove
82590         unused variables.
82591
82592 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82593
82594         * modules/error (Depends-on): Remove gettext.
82595
82596 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82597
82598         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82599         not needed.  This removes a dependency on the gettext module.
82600         [defined _LIBC]: Do not include <libintl.h>; not needed.
82601
82602 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82603
82604         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82605         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82606
82607 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82608
82609         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82610         HAVE_DECL_STRTOLD.
82611
82612 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82613
82614         * modules/getdate (Depends-on): Remove alloca-opt.
82615
82616 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82617
82618         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82619
82620 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82621
82622         * lib/argp-parse.c: Include <stddef.h>.
82623         (alignof, alignto): New macros.
82624         (parser_init): Don't assume that void * is aligned sufficiently
82625         for struct option.
82626
82627         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82628         need to extend the stack.
82629         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82630         large.
82631
82632 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82633
82634         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82635
82636 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82637
82638         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82639         (2004-10-24) change.  Apparently this was a false alarm.
82640
82641         * modules/getdate: Depend on alloca-opt, not alloca.
82642
82643 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82644
82645         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82646         Remove now-obsolete comment about AIX.
82647         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82648         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82649         (YYMAXDEPTH): New macro.
82650
82651 2004-12-18  Simon Josefsson  <jas@extundo.com>
82652
82653         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82654
82655 2004-12-18  Bruno Haible  <bruno@clisp.org>
82656
82657         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82658
82659 2004-12-18  Bruno Haible  <bruno@clisp.org>
82660
82661         * lib/fatal-signal.c (fatal_signals): Make non-const.
82662         (init_fatal_signals): New function.
82663         (uninstall_handlers, install_handlers): Ignore signals that were set to
82664         SIG_IGN.
82665         (at_fatal_signal): Call init_fatal_signals.
82666         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82667         SIG_IGN.
82668         Reported by Paul Eggert.
82669
82670 2004-12-18  Bruno Haible  <bruno@clisp.org>
82671
82672         * doc/alloca.texi: New file.
82673         * doc/alloca-opt.texi: New file.
82674
82675 2004-12-17  Jim Meyering  <jim@meyering.net>
82676
82677         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82678         Otherwise, install-sh could exit with improper exit status when
82679         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82680
82681 2004-12-16  Simon Josefsson  <jas@extundo.com>
82682
82683         * tests/test-base64.c: Add license.
82684
82685 2004-12-15  Stepan Kasal  <address@hidden>
82686
82687         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82688
82689 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82690
82691         * modules/getcwd (Files): Add m4/d-ino.m4.
82692         Suggested by Mark D. Baushke.
82693
82694 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82695
82696         * lib/getdate.y (textint): New member "negative".
82697         (time_zone_hhmm): New function.
82698         Expect 14 shift-reduce conflicts, not 13.
82699         (o_colon_minutes): New rule.
82700         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82701         (yylex): Set the "negative" member of signed numbers.
82702
82703 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82704
82705         * doc/getdate.texi (Time of day items, Time zone items):
82706         Describe new formats +00:00, UTC+00:00.
82707
82708 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82709
82710         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82711         spurious "-l"s.  Problem reported by Stepan Kasal.
82712
82713 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82714
82715         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82716         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82717
82718 2004-12-04  Simon Josefsson  <jas@extundo.com>
82719
82720         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82721         Vandoorselaere <yoann@prelude-ids.org>.
82722
82723 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82724
82725         Changes imported from coreutils.
82726         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82727         exist.
82728         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82729
82730 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82731
82732         Changes imported from coreutils.
82733         * lib/hard-locale.c: Assume <locale.h> exists.
82734         Include "strdup.h".
82735         (GLIBC_VERSION): New macro.
82736         (hard_locale): Assume setlocale exists.
82737         Rewrite to avoid #ifdef.
82738         Use strdup rather than malloc + strcpy.
82739         * lib/human.c: Assume <locale.h> exists.
82740         (human_readable): Assume localeconv exists.
82741
82742 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82743
82744         * modules/hard-locale (Depends-on): Add strdup.
82745
82746 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82747
82748         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82749         convert T2, not T.  (Imported from libc.)
82750
82751 2004-11-30  Simon Josefsson  <jas@extundo.com>
82752
82753         * modules/restrict (License): Change to LGPL.
82754
82755 2004-11-30  Simon Josefsson  <jas@extundo.com>
82756
82757         * m4/restrict.m4: Add copyright and copying conditions.
82758
82759 2004-11-30  Simon Josefsson  <jas@extundo.com>
82760
82761         * m4/base64.m4: New file.
82762
82763 2004-11-30  Simon Josefsson  <jas@extundo.com>
82764
82765         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82766         base64.
82767
82768         * tests/test-base64.c: New file.
82769
82770         * modules/base64: New file.
82771
82772 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82773
82774         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82775         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82776
82777         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82778
82779 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82780
82781         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82782         (__getcwd.c): Don't restore errno; glibc doesn't.
82783         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82784         first, falling back to our code only if its results look suspicious.
82785         Ensure that the resulting buffer is only as large as necessary.
82786
82787         * lib/readutmp.c: Include readutmp.h first.
82788         Include <errno.h>, since readutmp.h no longer does that.
82789         * lib/readutmp.h: Don't include <errno.h>,
82790         <sys/param.h>, <time.h>; not needed to establish interface.
82791         (errno): Remove decl.
82792         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82793         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82794         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82795
82796 2004-11-28  Simon Josefsson  <jas@extundo.com>
82797
82798         * lib/base64.h, base64.c: New file.
82799
82800 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
82801
82802         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
82803
82804 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
82805
82806         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
82807         (Depends-on): Remove pathmax, same.  Add mempcpy.
82808         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
82809         (Makefile.am): Append getcwd.h to lib_SOURCES.
82810         (Include): Add getcwd.h.
82811         (Maintainer): Change from Jim Meyering to "all, glibc",
82812         since getdate now uses intended-for-glibc code.
82813         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82814         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82815
82816 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82817
82818         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82819         HP's ANSI C compiler.
82820         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82821         Declaring int functions causes warnings on some modern systems and
82822         shouldn't be needed to compile on ancient ones.
82823         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82824         defined.
82825
82826         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82827         with the following changes.
82828         (__set_errno): Parenthesize properly.
82829         Include <stdbool.h>.
82830         (MIN, MAX, MATCHING_INO): New macros.
82831         (__getcwd): Define with prototype, not K&R form.
82832         Use heuristics to allocate default buffer on stack if possible.
82833         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82834         behavior, and to avoid the PATH_MAX limit when computing
82835         ../../../../...
82836         Use MATCHING_INO to compare inode number to file.
82837         Check for arithmetic overflow in size calculations.
82838         Fix bug in reallocation of dot array that caused getcwd to fail
82839         on directories nested deeper than 75.
82840         Be more careful about saving errno on error.
82841         Do not use realloc; use only free+malloc, as this is a bit
82842         more flexible and avoids a needless copy operation.
82843         Do not inspect st_dev and st_ino for symbolic links; POSIX
82844         doesn't specify the latter.
82845         Check for closedir errors.
82846         Avoid needless casts.
82847         Use "#ifdef weak_alias" around weak_alias, to be like other
82848         glibc code.
82849         The following changes to getcwd.c have effect only when used in
82850         gnulib; they have no effect inside glibc proper.
82851         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82852         as alloca isn't used.
82853         (alloca, __alloca): Likewise.
82854         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82855         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82856         unconditionally, as gnulib assumes C89 or better.
82857         Do not include <sys/param.h>.
82858         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82859         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82860         better.
82861         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82862         Include <dirent.h> in a way that is compatible with modern Autoconf.
82863         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82864         New macros, if not already defined.
82865         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82866         Use "_LIBC", not "defined _LIBC", for consistency.
82867         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82868         a mempcpy module.
82869         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82870         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82871         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82872         credit only to Jim Meyering and adjust the copyright dates.
82873         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82874         <stdlib.h>, <unistd.h>, "pathmax.h".
82875         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82876         (INITIAL_BUFFER_SIZE): Remove.
82877         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82878
82879 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82880
82881         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82882         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82883         Use the _ONCE methods, for efficiency.
82884         Check for fcntl.h.  In test program, include <errno.h>
82885         and <fcntl.h> if available.  Remove old K&R cruft from
82886         test program.  Check for common errors in GNU/Linux,
82887         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82888         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82889         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82890         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82891         name accordingly.
82892         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82893         accommodate new getcwd.c.
82894         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82895         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82896         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82897         that's all we need now.
82898
82899 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82900
82901         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82902         argp-parse.c depends on getopt internals, that means we should
82903         always use our getopt, to be on the safe side.
82904         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82905         order not to spoil the result of an eventual previous invocation
82906         of gl_GETOPT_SUBSTITUTE.
82907
82908 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82909
82910         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82911         redefinition warnings. To avoid them, include the defines
82912         in `#if !defined __need_getopt ... #endif'. The only place
82913         where __getopt_argv_const is used is in definitions
82914         of getopt_long and getopt_long_only below, which are as well
82915         protected by `#ifndef __need_getopt'.
82916         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
82917         __need_getopt after including <stdio.h> and <unistd.h> These
82918         headers might have defined it.
82919
82920 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82921
82922         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
82923
82924 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82925
82926         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
82927         (futimens): New function, which uses futimes if available.
82928         (futimens, utimens): Support timespec==NULL, with same semantics
82929         as utime and utimens.
82930         * lib/utimens.h (futimens): New decl.
82931
82932 2004-11-23  Jim Meyering  <jim@meyering.net>
82933
82934         * lib/getopt_.h: Remove trailing blanks.
82935
82936 2004-11-23  Jim Meyering  <jim@meyering.net>
82937
82938         * lib/__fpending.c: Add comment.
82939
82940 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
82941
82942         * modules/canonicalize (Depends-on): Add xreadlink.
82943         Problem reported by James Youngman.
82944
82945 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
82946
82947         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
82948         New macros.
82949         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
82950         optopt): Use them instead of invoking ## directly; otherwise, the
82951         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
82952
82953 2004-11-19  Bruno Haible  <bruno@clisp.org>
82954
82955         * lib/strtok_r.c: Move comments from here...
82956         * lib/strtok_r.h: ... to here.
82957
82958 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82959
82960         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
82961         implementations that mishandle size_t overflow.
82962
82963 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82964
82965         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
82966         might fail.  Problem reported by Yoann Vandoorselaere.
82967         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
82968         implementations that mishandle size_t overflow.
82969
82970 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82971
82972         * modules/canon-host (Depends-on): Add strdup.
82973
82974 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82975
82976         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
82977
82978 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82979
82980         * lib/canon-host.c: Include "strdup.h".
82981         (canon_host): Use getaddrinfo if available, so that IPv6 works.
82982         Use strdup instead of malloc/strcpy to duplicate strings.
82983
82984         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
82985         (human_space_before_unit): New constant.
82986         * lib/human.c (human_readable): Support it.
82987
82988         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
82989         (xgetcwd): Set errno correctly when failing.
82990         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
82991         the failure is actually due to a PATH_MAX problem.
82992
82993         Further getopt changes to make it more likely that glibc will
82994         buy the changes back.
82995         * lib/getopt.c (POSIXLY_CORRECT): New constant.
82996         (getopt): Use it, so to preserve glibc semantic
82997         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
82998         when compiling for libc.
82999         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83000         (getopt_long, getopt_long_only): Use it.
83001
83002         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83003         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83004         (getopt): Argv is now char * const *, as per standard.
83005         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83006         not char *__getopt_argv_const *.
83007         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83008         _getopt_long_only_r): Likewise.
83009         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83010         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83011         _getopt_long_r, _getopt_long_only_r): Likewise.
83012         * lib/getopt_.h (__getopt_argv_const): Remove.
83013         (getopt): Argv is now char * const *, as per standard.
83014
83015         * lib/getdate.y (tORDINAL): New token.
83016         (day, relunit): Allow it for relative times.
83017         (relative_time_table): Use tORDINAL for ordinals.
83018
83019 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83020
83021         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83022         Document that "second" isn't allowed as an ordinal number.
83023
83024 2004-11-16  Jim Meyering  <jim@meyering.net>
83025
83026         * modules/closeout (Depends-on): Add fpending.
83027
83028 2004-11-15  Jim Meyering  <jim@meyering.net>
83029
83030         * lib/closeout.c: Include "__fpending.h" once again.
83031         Include <stdbool.h>.
83032         (close_stdout): Don't fail just because stdout was closed initially,
83033         since some programs don't write to stdout in the normal course of
83034         operation (other than --version and --help), and we don't want this
83035         function to make e.g. `touch file >&-' fail.
83036         But do fail if it was closed and someone has tried to write to it.
83037         E.g., `printf foo >&-' must fail.
83038
83039 2004-11-13  Jim Meyering  <jim@meyering.net>
83040
83041         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83042
83043 2004-11-12  Simon Josefsson  <jas@extundo.com>
83044
83045         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83046         small doc fix is still pending.
83047
83048 2004-11-11  Simon Josefsson  <jas@extundo.com>
83049
83050         * modules/strtok_r: New file.
83051
83052         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83053         strtok_r.
83054
83055 2004-11-11  Simon Josefsson  <jas@extundo.com>
83056
83057         * m4/strtok_r.m4: New file.
83058
83059         * m4/getopt.m4: Replace opterr.
83060
83061 2004-11-11  Simon Josefsson  <jas@extundo.com>
83062
83063         * lib/strtok_r.h, strtok_r.c: New file.
83064
83065 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83066
83067         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83068         of replacing opterr, getopt, etc.  This should handle the
83069         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83070
83071 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83072
83073         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83074         we can stop lying to compilers about the constness of argv when we
83075         are compiled outside glibc.
83076         (getopt, getopt_long, getopt_long_only): Use it.
83077         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83078         _getopt_internal, getopt): Likewise.
83079         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83080         _getopt_long_only_r): Likewise.
83081         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83082         _getopt_long_r, _getopt_long_only_r): Likewise.
83083
83084         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83085         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83086         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83087         the other external symbols.
83088         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83089         declaration, since the above renaming now works around collisions.
83090
83091 2004-11-11  Jim Meyering  <jim@meyering.net>
83092
83093         * lib/linebreak.c: Remove trailing blanks.
83094         * lib/alloca_.h: Likewise.
83095         * lib/acosl.c: Likewise.
83096         * lib/euidaccess.c: Likewise.
83097         * lib/allocsa.h: Likewise.
83098
83099 2004-11-10  Simon Josefsson  <jas@extundo.com>
83100
83101         * m4/getaddrinfo.m4: New file.
83102
83103 2004-11-10  Simon Josefsson  <jas@extundo.com>
83104
83105         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83106
83107 2004-11-10  Simon Josefsson  <jas@extundo.com>
83108
83109         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83110         getaddrinfo.
83111
83112         * modules/getaddrinfo: New file.
83113
83114 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83115
83116         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83117
83118 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83119
83120         * lib/mktime.c (SHR): New macro, which is a portable
83121         substitute for >> that should work even on Crays.
83122         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83123         Problem reported by Mark D. Baushke in
83124         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83125         * lib/getdate.y (SHR): Likewise.
83126         (tm_diff): Use it.
83127         * lib/strftime.c (SHR): Likewise.
83128         (tm_diff): Use it.
83129         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83130         quote_these_too, so that right shifts are well defined.  All uses
83131         changed.
83132
83133 2004-11-10  Jim Meyering  <jim@meyering.net>
83134
83135         Ensure that no close failure goes unreported.
83136         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83137         return early when it seems there's nothing to flush.
83138         Don't include __fpending.h.
83139
83140 2004-11-10  Jim Meyering  <jim@meyering.net>
83141
83142         * modules/closeout (Depends-on): Remove fpending.
83143
83144 2004-11-10  Jim Meyering  <jim@meyering.net>
83145
83146         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83147
83148 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83149
83150         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83151         gl_FUNC_STRFTIME.
83152         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83153         and AC_REQUIRE when possible, to avoid duplicate checks.
83154         Check for <wchar.h>.
83155
83156 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83157
83158         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83159
83160 2004-11-09  Bruno Haible  <bruno@clisp.org>
83161
83162         * m4/sockpfaf.m4: New file.
83163
83164 2004-11-05  Bruno Haible  <bruno@clisp.org>
83165
83166         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83167         Reported by Mark D. Baushke <mdb@cvshome.org>.
83168
83169 2004-11-04  Bruno Haible  <bruno@clisp.org>
83170
83171         2004-09-11  Bruno Haible  <bruno@clisp.org>
83172                 * allocsa.valgrind: New file.
83173         2004-02-06  Bruno Haible  <bruno@clisp.org>
83174                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83175                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83176                 Reported by Christopher Seip <chris.seip@hp.com>.
83177
83178 2004-11-04  Bruno Haible  <bruno@clisp.org>
83179
83180         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83181         (Makefile.am): Distribute it.
83182
83183 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83184
83185         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83186         with errno == ERANGE if the buffer is too small.
83187         Problem reported by Mark D. Baushke.
83188
83189 2004-11-03  Albert Chin  <china@thewrittenword.com>
83190             Paul Eggert  <eggert@cs.ucla.edu>
83191
83192         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83193         equivalent, substitute $ac_type for equivalent type rather than
83194         blindly using uint32_t *always* which won't work if uint32_t is not
83195         available.  Define _UINT32_T to work around typedef of uint32_t if
83196         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83197         2.5.1.
83198
83199 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83200
83201         * m4/jm-macros.m4: Sync from coreutils.
83202         (gl_MACROS): Check for mbrlen, for pathchk.
83203         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83204
83205 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83206
83207         * lib/xreadlink.c (MAXSIZE): New macro.
83208         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83209         size does not exceed MAXSIZE.  Avoid cast.
83210         As suggested by Mark D. Baushke in
83211         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83212         if readlink fails with buffer size just under MAXSIZE, try again
83213         with MAXSIZE.
83214
83215 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83216
83217         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83218
83219 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83220         and  Paul Eggert  <eggert@cs.ucla.edu>
83221
83222         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83223         (get_date): Overparenthesize to avoid GCC warning.
83224
83225 2004-11-02  Bruno Haible  <bruno@clisp.org>
83226
83227         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83228         returns void.
83229
83230 2004-11-02  Bruno Haible  <bruno@clisp.org>
83231
83232         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83233         function returns void.
83234
83235 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83236
83237         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83238         fflush_unlocked, flockfile, funlockfile, funlockfile,
83239         fputs_unlocked, putc_unlocked.
83240
83241 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83242
83243         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83244         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83245         already declared.
83246
83247 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83248
83249         * modules/getdate (Files): Add doc/getdate.texi.
83250         (Depends-on): Add setenv, xalloc.
83251
83252 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83253
83254         * lib/getdate.y: Add support for TZ="foo" within a date string.
83255         Fix some bugs near time_t boundaries.  Reject dates with
83256         out-of-range components, e.g., "Sept 31".
83257         Include <stdlib.h>, "setenv.h", "xalloc.h".
83258         (ISDIGIT_LOCALE): Remove; unused.
83259         Note that the TZ and time functions used here are not reentrant.
83260         (mktime_ok, get_tz): New functions.
83261         (TZBUFSIZE): New constant.
83262         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83263         This requires that we sometimes generate our own TZ="XXX..." setting.
83264
83265 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83266
83267         * doc/getdate.texi: New file, from coreutils with modifications for
83268         the new TZ parsing.
83269
83270 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83271
83272         * lib/mktime.c (not_equal_tm): Remove redundant check.
83273
83274 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83275
83276         * modules/regex (lib_SOURCES): Add regex.c.
83277         Reported by James Youngman in
83278         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83279
83280 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83281
83282         * lib/getdate.y: Use Bison 1.875 features, and some minor
83283         code cleanups.  This change does not affect semantics.
83284         Don't include <stdlib.h>; no longer needed.
83285         Don't include unlocked-io.h; only the "#if TEST" code uses
83286         stdio, and performance isn't crucial there.
83287         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83288         Bison 1.875 features as described below.
83289         All uses of "PC." replaced by "pc->".
83290         (YYSTYPE): Add a forward declaration.
83291         (yylex, yyerror): Use full prototypes in forward decls.
83292         Use "%pure-parser" rather than obsolescent "%pure_parser".
83293         Use %parse-param and %lex-param instead of obsolescent
83294         YYPARSE_PARAM and YYLEX_PARAM.
83295         (meridian_table, month_and_day_table, time_units_table,
83296         relative_time_table, time_zone_table, military_table,
83297         lookup_zone, lookup_word, get_date):
83298         Use NULL instead of 0 where appropriate.
83299         (to_hour): Avoid abort (), to avoid a dependency on
83300         stdlib.h.
83301         (yyerror, yylex): Now accepts parser_control * arg.
83302         (main) [TEST]: Use '\0' rather than 0 for char.
83303
83304 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83305
83306         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83307
83308 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83309
83310         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83311         It's now the caller's responsibility to handle the case where
83312         !HAVE_GETPAGESIZE && !defined getpagesize.
83313
83314         * lib/mktime.c (leapyear): Arg is long int, not int.
83315
83316 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83317
83318         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83319
83320 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83321
83322         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83323         missing.  Problem reported by James Youngman.
83324
83325 2004-10-16  Simon Josefsson  <jas@extundo.com>
83326
83327         * gnulib-tool: Fix comments.  Fix parse problem.
83328         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83329
83330 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83331
83332         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83333         implementation of getopt_long.  Problem reported by Alexander Taler in:
83334         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83335
83336 2004-10-15  Bruno Haible  <bruno@clisp.org>
83337
83338         * gnulib-tool: Untabify. Initialize supplied_libname.
83339         (func_usage): More homogenous output.
83340         (func_modules_transitive_closure, func_modules_to_filelist,
83341         func_emit_lib_Makefile_am): New functions.
83342         (func_import): New function, extracted from big case statement. Use
83343         func_get_license, func_modules_transitive_closure,
83344         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83345         opt_lgpl. Don't use test -a, as it's not portable.
83346         (func_create_testdir): Use func_modules_transitive_closure,
83347         func_modules_to_filelist, func_emit_lib_Makefile_am.
83348
83349 2004-10-15  Bruno Haible  <bruno@clisp.org>
83350
83351         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83352
83353 2004-10-15  Bruno Haible  <bruno@clisp.org>
83354
83355         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83356         the portions belonging to each module.
83357         Suggested by Derek Robert Price <derek@ximbiot.com>.
83358
83359 2004-10-12  Simon Josefsson  <jas@extundo.com>
83360
83361         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83362         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83363         to real functions.
83364
83365 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83366
83367         * modules/vsnprintf: New file.
83368
83369 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83370
83371         * m4/vsnprintf.m4: New file.
83372
83373 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83374
83375         * lib/vsnprintf.h: New file.
83376         * lib/vsnprintf.c: New file.
83377
83378 2004-10-11  Bruno Haible  <bruno@clisp.org>
83379
83380         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83381         vsnprintf.
83382
83383 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83384
83385         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83386
83387 2004-10-07  Bruno Haible  <bruno@clisp.org>
83388
83389         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83390         fits into the provided buffer.
83391
83392 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83393
83394         * lib/diacrit.c, diacrit.h: Add GPL notice.
83395
83396         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83397         notice.
83398         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83399         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83400         This avoids a potential constant-folding bug.
83401
83402 2004-10-05  Bruno Haible  <bruno@clisp.org>
83403
83404         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83405         for the declaration of strsep.
83406
83407 2004-10-05  Bruno Haible  <bruno@clisp.org>
83408
83409         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83410
83411 2004-10-04  Simon Josefsson  <jas@extundo.com>
83412
83413         * modules/memmem: New file.
83414         * tests/test-memmem.c: New file.
83415         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83416
83417 2004-10-04  Simon Josefsson  <jas@extundo.com>
83418
83419         * m4/memmem.m4: New file.
83420
83421 2004-10-04  Simon Josefsson  <jas@extundo.com>
83422
83423         * lib/memmem.h: New file.
83424         * lib/memmem.c: New file, taken from glibc.
83425
83426 2004-10-04  Simon Josefsson  <jas@extundo.com>
83427
83428         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83429         '#ifdef USE_UNLOCKED_IO'.
83430
83431 2004-10-04  Simon Josefsson  <jas@extundo.com>
83432
83433         * config/srclist.txt: Add memmem from glibc.
83434
83435 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83436
83437         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83438
83439         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83440         modules/exclude, modules/getdate, modules/getline,
83441         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83442         modules/getusershell, modules/linebuffer, modules/md5,
83443         modules/mountlist, modules/posixtm, modules/readtokens,
83444         modules/readutmp, modules/regex, modules/sha1,
83445         modules/version-etc, modules/yesno:
83446         Remove dependency on unlocked-io.
83447
83448 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83449
83450         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83451
83452         * m4/unlocked-io.m4: Add copyright notice.
83453         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83454
83455 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83456
83457         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83458         * lib/xmalloc.c (xmemdup): Likewise.
83459         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83460         XFREE): Remove these long-obsolescent macros.
83461         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83462         * lib/xstrdup.c: Remove.
83463
83464         * lib/regex.c (re_comp): Cast gettext return value to char *,
83465         Problem reported by Martin Neitzel via Mark D. Baushke.
83466
83467 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83468
83469         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83470         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83471         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83472         regex.c, sha1.c, version-etc.c, yesno.c:
83473         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83474         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83475         the includer's responsibility.
83476
83477         Sync from coreutils.
83478
83479         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83480         points to the start of a string, as the C Standard says the
83481         resulting behavior is undefined.
83482
83483         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83484         simple -> simple_backups, numbered_existing ->
83485         numbered_existing_backups, numbered -> numbered_backups
83486         to avoid shadowing problems.  All uses changed.
83487         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83488         * lib/backupfile.c (check_extension, numbered_backup):
83489         Rename locals to avoid shadowing 'basename'.
83490         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83491         once.
83492
83493         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83494         * lib/.cvsignore: Add getopt.h.
83495
83496 2004-10-04  Bruno Haible  <bruno@clisp.org>
83497
83498         * modules/README: New file.
83499         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83500         not a module.
83501
83502 2004-10-02  Jim Meyering  <jim@meyering.net>
83503
83504         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83505
83506 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83507
83508         * modules/strsep: New file.
83509
83510 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83511
83512         * m4/strsep.m4: New file.
83513
83514 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83515
83516         * lib/strsep.h: New file.
83517         * lib/strsep.c: New file.
83518
83519 2004-10-01  Simon Josefsson  <jas@extundo.com>
83520
83521         * lib/snprintf.c (snprintf): Handle size==0.
83522
83523 2004-10-01  Simon Josefsson  <jas@extundo.com>
83524             Bruno Haible  <bruno@clisp.org>
83525
83526         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83527         (snprintf): Declare 'args'.
83528
83529 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83530
83531         * lib/snprintf.c: Remove comments as to why each header is needed.
83532
83533 2004-10-01  Bruno Haible  <bruno@clisp.org>
83534
83535         * MODULES.html.sh: Add strsep.
83536
83537 2004-09-30  Simon Josefsson  <jas@extundo.com>
83538
83539         * modules/snprintf: New file.
83540
83541 2004-09-30  Simon Josefsson  <jas@extundo.com>
83542
83543         * m4/snprintf.m4: New file.
83544
83545 2004-09-30  Simon Josefsson  <jas@extundo.com>
83546
83547         * lib/snprintf.h, lib/snprintf.c: New files.
83548
83549 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83550
83551         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83552         (hol_entry_help): Never translate an empty string.
83553         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83554         * lib/argp.h (OPTION_NO_TRANS): New option.
83555
83556 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83557
83558         * modules/argp (Maintainer): Replace Simon Josefsson
83559         by Sergey Poznyakoff.
83560
83561 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83562
83563         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83564         changes merged back into glibc.
83565
83566 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83567
83568         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83569
83570 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83571
83572         * lib/xvasprintf.c: Include xalloc.h.
83573         (xvasprintf): Use xalloc_die, not xmalloc_die.
83574
83575 2004-09-29  Bruno Haible  <bruno@clisp.org>
83576
83577         * modules/alloca-opt: New file, derived from modules/alloca.
83578         * modules/allocsa: Depend on alloca-opt instead of alloca.
83579         * modules/setenv: Likewise.
83580         * modules/vasnprintf: Likewise.
83581         * MODULES.html.sh: Add alloca-opt.
83582
83583 2004-09-28  Simon Josefsson  <jas@extundo.com>
83584
83585         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83586         LGPL, and to replace license template from GPL to LGPL.
83587
83588 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83589
83590         * modules/dummy: Change license to LGPL.
83591
83592 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83593
83594         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83595
83596 2004-09-24  Simon Josefsson  <jas@extundo.com>
83597
83598         * modules/minmax (License): Change from GPL to LGPL.
83599
83600 2004-09-23  Simon Josefsson  <jas@extundo.com>
83601
83602         * gnulib-tool (--import): Typo.
83603
83604 2004-09-23  Simon Josefsson  <jas@extundo.com>
83605
83606         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83607
83608 2004-09-22  Bruno Haible  <bruno@clisp.org>
83609
83610         * modules/*: Add 'License' field.
83611         * gnulib-tool: Accept --extract-license option.
83612         (func_get_license): New function.
83613
83614 2004-09-21  Bruno Haible  <bruno@clisp.org>
83615
83616         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83617         Reported by Simon Josefsson.
83618
83619 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83622         gl_AC_TYPE_LONG_LONG.
83623
83624 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83625
83626         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83627
83628 2004-09-18  Simon Josefsson  <jas@extundo.com>
83629         and  Paul Eggert  <eggert@cs.ucla.edu>
83630
83631         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83632         calls with autoreconf.  Define GL_LIB.
83633
83634 2004-09-14  Karl Berry  <karl@gnu.org>
83635
83636         * config/srclist.txt: unsync setenv.c, sigh.
83637
83638 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83639
83640         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83641         Problem reported by Bruno Haible in:
83642         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83643
83644 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83645
83646         * config/srclist.txt: Comment out argp-pvh.c.
83647
83648 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83649
83650         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83651         in case some system header has #define'd it.  Problem reported by
83652         Soeren D. Schulze in
83653         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83654
83655 2004-09-09  Karl Berry  <karl@gnu.org>
83656
83657         * regex.[ch]: delete from the root.  These were supposed to be
83658                 synced with emacs cvs, but this has not happened for about
83659                 a year, and anyway nothing else uses emacs regex.[ch].
83660                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83661                 lib/regex[.ch] is untouched.
83662
83663 2004-09-09  Bruno Haible  <bruno@clisp.org>
83664
83665         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83666
83667 2004-09-09  Bruno Haible  <bruno@clisp.org>
83668
83669         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83670         modifications.
83671         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83672
83673 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83674
83675         * modules/xvasprintf: New file.
83676         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83677
83678 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83679
83680         * lib/xvasprintf.h: New file.
83681         * lib/xvasprintf.c: New file.
83682         * lib/xasprintf.c: New file.
83683
83684 2004-09-08  Bruno Haible  <bruno@clisp.org>
83685
83686         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83687
83688 2004-09-08  Bruno Haible  <bruno@clisp.org>
83689
83690         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83691         length is > INT_MAX.
83692         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83693         more.
83694
83695 2004-09-08  Bruno Haible  <bruno@clisp.org>
83696
83697         * lib/stdint_.h: New file, taken from GNU clisp.
83698
83699 2004-09-08  Bruno Haible  <bruno@clisp.org>
83700             Oskar Liljeblad  <oskar@osk.mine.nu>
83701
83702         * modules/stdint: New file.
83703         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83704
83705 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83706
83707         Import from coreutils.
83708         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83709         strings on unbounded length.  alloca's performance benefits aren't
83710         that important here.
83711         (V_STRDUP): Remove.
83712         (parse_with_separator): New function, with most of the internals
83713         of the old parse_user_spec.  Allow user to omit both user and group,
83714         for compatibility with FreeBSD.
83715         Clone only the user name, not the entire spec.
83716         Do not set *uid, *gid unless entirely successful.
83717         Avoid memory leak in some failing cases.
83718         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83719         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83720         (parse_user_spec): Rewrite to use parse_with_separator.
83721
83722 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83723
83724         * modules/userspec: Don't depend on alloca.
83725
83726 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83727
83728         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83729
83730 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83731
83732         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83733         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83734         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83735
83736 2004-08-16  Simon Josefsson  <jas@extundo.com>
83737
83738         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83739         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83740         Add --dry-run for --import.
83741         Let user provided command line parameters override configure.ac
83742         settings.
83743
83744 2004-08-12  Simon Josefsson  <jas@extundo.com>
83745
83746         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83747         as discussed with Paul Eggert in threads rooted at
83748         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83749         and
83750         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83751         Before, the test was empty, and relied on ELIDE_CODE in source
83752         code.)
83753         (gl_PREREQ_GETOPT): New macro.
83754         (gl_GETOPT): Use them.
83755
83756 2004-08-12  Simon Josefsson  <jas@extundo.com>
83757
83758         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83759         * lib/getopt_.h: Renamed from getopt.h.
83760
83761 2004-08-12  Simon Josefsson  <jas@extundo.com>
83762
83763         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83764         Change default library name from libfoo to libgnu.
83765         Now, if you have a configure.ac that says:
83766                 gl_SOURCE_BASE(gl)
83767                 gl_M4_BASE(gl/m4)
83768                 gl_MODULES(error getopt etcetera)
83769                 gl_INIT
83770         you can import all you need by running:
83771                 ../gnulib/gnulib-tool --import
83772
83773         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83774         (Makefile.am): Rewrite, use logic from argz.
83775         (Include): Use <getopt.h> instead of "getopt.h".
83776
83777 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83778
83779         * modules/argp (Files): Add m4/unlocked-io.m4.
83780         (Depends-on): Add extensions.
83781
83782 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83783
83784         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83785         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83786         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83787         Check for program_invocation_name, program_invocation_short_name,
83788         flockfile, funlockfile, features.h, _getopt_long_only_r.
83789
83790 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83791
83792         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83793         its complicated substitute.
83794         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83795         and program_invocation_name.
83796         (__argp_basename) [!_LIBC]: Remove; the only use was
83797         replaced by its body.
83798         (__argp_short_program_name): Change condition from
83799         !defined __argp_short_program_name to
83800         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
83801         to match argp-namefrob.h.
83802         (__argp_failure): Don't assume strerror_r returns char *.
83803         * lib/argp-parse.c (N_): Define unconditionally.
83804         (argp_default_options): Fill out initializers with 0 to avoid
83805         gcc warnings.
83806
83807 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83808
83809         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
83810         getopt1.c.
83811
83812 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83813
83814         Merge from coreutils.
83815
83816         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83817
83818         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83819         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83820
83821 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83822
83823         Merge from coreutils.
83824
83825         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83826         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83827         for Reliant Unix 5.43.
83828
83829         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83830         (union fooround): Use uintmax_t, not long int.
83831         The rest is a merge from libc:
83832         [defined _LIBC]: Include <shlib-compat.h>.
83833         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83834
83835         * lib/settime.c (settime): Recode to avoid warning with
83836         Sun Forte C 6U2.
83837
83838         * lib/strverscmp.c: Convert to UTF-8.
83839
83840 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83841
83842         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83843         m4/uintmax_t.m4.
83844
83845 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83846
83847         * modules/xalloc-die: New file.
83848         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83849
83850         * modules/md5 (Files): Add m4/uint32_t.m4.
83851         * modules/sha1: Renamed from modules/sha.
83852         (Files):
83853         Rename lib/sha.h to lib/sha1.h.
83854         Rename lib/sha.c to lib/sha1.c.
83855         Rename m4/sha.m4 to m4/sha1.m4.
83856         (lib_SOURCES): Likewise.
83857         (configure.ac): Rename gl_SHA to gl_SHA1.
83858         (Include): sha.h -> sha1.h.
83859
83860 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83861
83862         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83863         * m4/sha1.m4: Renamed from sha.m4.
83864         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83865
83866 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83867
83868         * lib/obstack.h (obstack_empty_p):
83869         Don't assume that chunk->contents is suitably aligned.
83870         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83871         Likewise. Problem reported by Benno in
83872         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83873
83874         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83875         readable.  This could be improved further but it'd take some work.
83876
83877 2004-08-08  Simon Josefsson  <jas@extundo.com>
83878
83879         * modules/xgethostname (Depends-on): Remove exit and error (not
83880         used).
83881
83882         * modules/getpass-gnu: Add getpass.h.
83883         (Depends-on): Add stdbool.
83884         * modules/getpass: Add getpass.h.
83885
83886 2004-08-08  Simon Josefsson  <jas@extundo.com>
83887
83888         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83889         Check getpass declaration.
83890
83891 2004-08-08  Simon Josefsson  <jas@extundo.com>
83892
83893         * lib/xgethostname.c: Don't include error.h (not used).
83894
83895         * lib/getpass.h: Add.
83896         * lib/getpass.c: Include getpass.h first.
83897
83898 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83899
83900         * lib/xalloc-die.c: New file.
83901         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83902         All uses removed.
83903         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83904         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83905         xalloc-die.c.
83906         (_, N_, xalloc_die): Move to xalloc-die.c.
83907         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83908         so that we needn't mess with xalloc_msg_memory_exhausted.
83909
83910         * lib/sha1.h: Renamed from sha.h.
83911         (SHA1_H): Renamed from _SHA_H.
83912         (sha1_ctx): Renamed from sha_ctx.
83913         (sha1_init_ctx): Renamed from sha_init_ctx.
83914         (sha1_process_block): Renamed from sha_process_block.
83915         (sha1_process_bytes): Renamed from sha_process_bytes.
83916         (sha1_finish_ctx): Renamed from sha_finish_ctx.
83917         (sha1_read_ctx): Renamed from sha_read_ctx.
83918         (sha1_stream): Renamed from sha_stream.
83919         (sha1_buffer): Renamed from sha_buffer.
83920         * lib/sha1.c: Likewise; renamed from sha.c.
83921         Do not include <sys/types.h>.
83922         Include <stddef.h> rather than <stdlib.h>.
83923
83924 2004-08-08  Bruno Haible  <bruno@clisp.org>
83925
83926         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
83927         FILESYSTEM_PREFIX_LEN.
83928         * lib/progreloc.c: Likewise.
83929         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
83930
83931 2004-08-06  Simon Josefsson  <jas@extundo.com>
83932
83933         * modules/progname (Depends-on): Don't depend on stdbool.
83934
83935 2004-08-06  Simon Josefsson  <jas@extundo.com>
83936
83937         * modules/getsubopt: New file.
83938         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83939         getsubopt.
83940
83941 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83942
83943         More merge from coreutils.
83944
83945         * m4/utimens.m4, m4/utimecmp.m4: New files.
83946         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
83947         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
83948         prereq.m4, sha.m4: Import changes from coreutils.
83949
83950 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83951
83952         More merge from coreutils.
83953         * modules/raise, modules/readtokens0, modules/utimens:
83954         * modules/utimecmp, module/xnanosleep: New files.
83955         * modules/strftime: Add lib/strftime.h.
83956         Change include from <time.h> to "strftime.h".
83957         * modules/yesno: Add lib/yesno.h.
83958         * modules/backupfile: Remove lib/addext.c.
83959         * modules/euidaccess: Add stat-macros.h.
83960         * modules/canonicalize, modules/euidaccess,
83961         modules/filemode, modules/lchown, modules/makepath,
83962         modules/rmdir, modules/stat: Likewise.
83963
83964 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83965
83966         Merge from tar.
83967         * lib/argp-help.c (make_hol, hol_append): Don't assume that
83968         SIZE_MAX is a valid preprocessor constant.
83969         (__argp_basename): Change from "#ifndef _LIBC"
83970         to "#ifndef __argp_short_program_name", so that
83971         we don't compile these functions for tar.
83972
83973         More merges from coreutils.
83974         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
83975         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
83976         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
83977         * lib/addext.c: Remove; no longer needed.
83978         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
83979         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
83980         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
83981         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
83982         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
83983         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
83984         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
83985         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
83986         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
83987         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83988         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
83989         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
83990         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
83991         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
83992         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
83993         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
83994         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
83995         Import changes from coreutils.
83996
83997 2004-08-05  Simon Josefsson  <jas@extundo.com>
83998
83999         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84000
84001 2004-08-05  Simon Josefsson  <jas@extundo.com>
84002
84003         * m4/getsubopt.m4: New file.
84004
84005 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84006
84007         Merge from coreutils.
84008
84009         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84010         * m4/getcwd-path-max.m4: New files.
84011
84012         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84013         FILESYSTEM_PREFIX_LEN ->
84014         FILE_SYSTEM_PREFIX_LEN.
84015         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84016         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84017         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84018         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84019
84020         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84021         prerequisite modules now handle the DOS stuff.
84022         Don't check for unistd.h.
84023
84024 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84025
84026         Merge from coreutils.
84027
84028         * lib/.gdb-history: Remove; this doesn't belong here.
84029
84030         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84031         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84032         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84033         * lib/getcwd.c: New files.
84034
84035         * lib/dirname.h: Include <stdbool.h>.
84036         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84037         for consistency with POSIX terminology.  All uses changed.
84038         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84039         (strip_trailing_slashes): Use bool for booleans.
84040         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84041
84042         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84043         sometimes returns a positive errno value even when it succeeds.
84044         (print_errno_message) [!LIBC]: Fall back on strerror if
84045         __strerror_r fails.
84046
84047         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84048         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84049         (longest_relative_suffix): New function.
84050         (path_concat): Use it.  Assume first argument is not NULL.
84051         Port to DOS.  Omit redundant separators.
84052         Report an error instead of returning NULL.
84053         Use mempcpy instead of memcpy.
84054         (xpath_concat): Remove: not declared or used.
84055
84056         * lib/same.h: Include <stdbool.h>
84057         (same_name): Return bool, not int.
84058         * lib/same.c (same_name): Likewise.
84059         (errno): Don't declare; we assume C89 or better now.
84060
84061         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84062         if not already defined.
84063
84064         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84065         * lib/dup-safer.c (errno): Likewise.
84066
84067 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84068
84069         Merge from coreutils.
84070         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84071         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84072         * modules/path-concat: Don't depend on strdup.
84073
84074 2004-08-03  Simon Josefsson  <jas@extundo.com>
84075
84076         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84077         * lib/progname.h: Don't include stdbool.h.
84078
84079 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84080
84081         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84082         * MODULES.html.sh (func_all_modules): Remove fatal.
84083
84084 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84087
84088 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84089
84090         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84091         working.
84092
84093 2004-08-02  Simon Josefsson  <jas@extundo.com>
84094
84095         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84096         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84097         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84098
84099 2004-08-01  Simon Josefsson  <jas@extundo.com>
84100
84101         * lib/xgetdomainname.c: Include stdlib.h, for free().
84102
84103 2004-07-19  Bruno Haible  <bruno@clisp.org>
84104
84105         * MODULES.html.sh (func_all_modules): Add dummy.
84106
84107 2004-07-16  Simon Josefsson  <jas@extundo.com>
84108
84109         * modules/dummy: New file.
84110
84111 2004-07-16  Simon Josefsson  <jas@extundo.com>
84112
84113         * lib/dummy.c: New file.
84114
84115 2004-07-16  Bruno Haible  <bruno@clisp.org>
84116
84117         * lib/backupfile.h: Add extern "C" for C++.
84118         * lib/closeout.h: Likewise.
84119         * lib/copy-file.h: Likewise.
84120         * lib/findprog.h: Likewise.
84121         * lib/full-write.h: Likewise.
84122         * lib/pathname.h: Likewise.
84123         * lib/progname.h: Likewise.
84124         * lib/stpcpy.h: Likewise.
84125         * lib/stpncpy.h: Likewise.
84126         * lib/strcase.h: Likewise.
84127         * lib/strstr.h: Likewise.
84128         * lib/xalloc.h: Likewise.
84129
84130         * lib/mbswidth.h: Add extern "C" for C++.
84131         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84132
84133 2004-07-13  Robert Millan  <robertmh@gnu.org>
84134
84135         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84136
84137 2004-07-09  Simon Josefsson  <jas@extundo.com>
84138
84139         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84140         failed without this.)
84141
84142 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84143
84144         * modules/chown (Files): Add lib/fchown-stub.c, since
84145         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84146
84147 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84148
84149         * lib/fchown-stub.c: New file.
84150
84151 2004-06-24  Jim Meyering  <jim@meyering.net>
84152
84153         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84154
84155 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84156
84157         * modules/argz: Omit "#include".
84158
84159         * MODULES.html.sh (func_all_modules): Add calloc, to match
84160         2004-06-01 addition of calloc module.
84161
84162 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84163
84164         * m4/argz.m4: New file, which is autoupdated from libtool.
84165
84166 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84167
84168         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84169         libtool.
84170
84171 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84172
84173         * config/srclist-update: Don't insist on "USA." before the
84174         close-comment, as libtool omits the period and puts the */ on a
84175         separate line.
84176         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84177         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84178
84179 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84180
84181         * modules/argz: New file.
84182         * MODULES.html.sh (func_all_modules): Add argz.
84183
84184 2004-06-12  Jim Meyering  <jim@meyering.net>
84185         and  Paul Eggert  <eggert@cs.ucla.edu>
84186
84187         * modules/hash (Files): Add lib/xalloc.h.
84188         * modules/pipe (Depends-on): Add wait-process.
84189         * modules/stat (Depends-on): Add xalloc.
84190         * modules/userspec (Files): Add lib/userspec.h.
84191         * modules/xstrto
84192
84193         Upgrade from gettext-0.13.
84194         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84195         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84196         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84197
84198 2004-06-10  Jim Meyering  <jim@meyering.net>
84199
84200         * lib/calloc.c: New file.
84201
84202 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84203
84204         * lib/getdate.y (yylex): Allow space between sign and number.
84205         Problem reported by Dan Jacobson.
84206
84207 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84208
84209         Merge from coreutils CVS.
84210
84211         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84212         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84213         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84214         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84215         xstrtol.m4: Fix copyright date and/or serial number.
84216
84217         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84218         See if we need an fchown replacement.
84219         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84220         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84221         and use the replacement function if we detect either defect.
84222
84223         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84224         gl_UTIMECMP.
84225
84226 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84227         and  Jim Meyering  <jim@meyering.net>
84228
84229         Merge from coreutils CVS.
84230
84231         * lib/stat-macros.h: New file, with contents from file-type.h
84232         and coreutils' system.h.
84233         * lib/file-type.c: Include "stat-macros.h".
84234         * lib/file-type.h (file_type): Move all macro definitions to new file,
84235         stat-macros.h.
84236
84237         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84238         Wrap old code with this conditional.
84239         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84240         function that does not dereference symlinks.
84241         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84242
84243         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84244         dependency problems.
84245         (xreadlink): Accept new arg SIZE, for efficiency.
84246         All decls and uses changed.
84247         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84248
84249         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84250         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84251
84252         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84253         sysexits.h.
84254
84255 2004-06-01  Jim Meyering  <jim@meyering.net>
84256
84257         * m4/calloc.m4: New file.
84258
84259 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84260
84261         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84262         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84263         Also, fix a typo in a diagnostic.
84264
84265 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84266
84267         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84268         or AC_FUNC_REALLOC.
84269
84270 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84271
84272         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84273         macros to be defined.
84274         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84275         the allocator returns NULL because the requested size is zero.
84276
84277 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84278
84279         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84280         var.  Add comment explaining why libc still defines it.  This
84281         merges the following patch from glibc:
84282         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84283
84284 2004-05-20  Andreas Schwab  <schwab@suse.de>
84285
84286         * m4/free.m4: Replace free if it not known to work, not the other
84287         way round.
84288
84289 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84290
84291         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84292         present in glibc since revision 1.1 of this file.
84293         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84294         obstack_alignment_mask, obstack_alloc, obstack_base,
84295         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84296         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84297         obstack_grow0, obstack_init, obstack_int_grow,
84298         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84299         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84300         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84301         nonexistent functions.
84302
84303 2004-05-18  Karl Berry  <karl@gnu.org>
84304
84305         * config/srclist.txt: break link for vasnprintf.c.
84306
84307 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84308
84309         Port obstack to the AS/400, where pointers are 16 bytes wide and
84310         you cannot cast an integer to a valid pointer.  This patch is
84311         currently waiting to be integrated into glibc; see
84312         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84313
84314         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84315         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84316         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84317         (struct obstack): temp member is now a union of a pointer and
84318         an integer, instead of an integer.  All integer uses changed.
84319         This does not affect the physical layout of struct obstack,
84320         except on hosts (like the AS/400) where the size or alignment of
84321         void * is greater than that of ptrdiff_t.
84322         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84323         __STDC__)]: Store temporary in pointer member of union, not
84324         integer member.
84325         * lib/obstack.c: Include <stddef.h>, for offsetof.
84326         (struct fooalign): Remove; it doesn't need a name.
84327         (union fooround): Change double to long double, and add void *.
84328         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84329         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84330         not a macro.  Hence the values are always int; so remove all
84331         casts-to-int in uses.
84332
84333 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84334
84335         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84336         we can get this patch merged into glibc.
84337
84338 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84339             Paul Eggert  <eggert@cs.ucla.edu>
84340
84341         * m4/argp: Depend on alloca.
84342
84343 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84344             Paul Eggert  <eggert@cs.ucla.edu>
84345
84346         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84347         freecoding.
84348
84349 2004-05-17  Bruno Haible  <bruno@clisp.org>
84350
84351         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84352         precision that consists of a '.' followed by an empty digit string.
84353         Patch by Tor Lillqvist <tml@iki.fi>.
84354
84355 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84356
84357         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84358         for backward compatibility with older code.  We need our own
84359         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84360         it under some other name, and our alloca.h will define it.
84361
84362 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84363             Derek Price  <derek@ximbiot.com>
84364
84365         * lib/alloca.c: Include <alloca.h>, to get our interface.
84366         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84367         include <alloca.h> first.  Use C89 prototype for alloca; this
84368         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84369         Use #elif for simplicity, since we can assume C89 now.
84370         Don't try to source the system alloca.h since it will not be found
84371         and to prevent recursively including its replacement.
84372         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84373         * lib/regex.c: Likewise.
84374
84375 2004-05-16  Derek Price  <derek@ximbiot.com>
84376             Paul Eggert  <eggert@cs.ucla.edu>
84377
84378         getline cleanup.  This changes the getndelim2 API: both order of
84379         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84380         no delimiter).
84381
84382         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84383         interface does that.
84384         (getline): Always use getdelim, so that we don't have two
84385         copies of this code.
84386         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84387         if available.
84388         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84389         (GETNDELIM2_MAXIMUM): New macro.
84390         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84391         instead of the old practice of delim2==0.  All callers changed.
84392         Return -1 on overflow, instead of returning junk.
84393         Do not set *linesize unless allocation succeeds.
84394         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84395         that we include sys/types.h.
84396         * lib/getnline.h: Likewise.
84397         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84398         (getndelim2): Reorder arguments.
84399         * lib/getnline.c (getnline, getndelim):
84400         Don't discard the NMAX argument.
84401         (getnline): Invoke getndelim, to avoid code duplication.
84402         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84403         of (size_t) -1 by callers of the getnline family.
84404
84405 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84406
84407         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84408         Check for gettimeofday.
84409         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84410         Check for settimeofday, stime.
84411
84412 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84413
84414         * lib/nanosleep.c (suspended): Change its type from int to
84415         sig_atomic_t volatile.
84416         (first_call): Make it private to rpl_nanosleep, and have it
84417         be zero initially as that's a bit faster.
84418         (my_usleep): Round up fractional times instead of truncating them,
84419         as this is the usual meaning for 'sleep'.
84420
84421         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84422         doesn't work.
84423         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84424         (ENOSYS): Define if not defined.
84425         (settime): Fall back on stime if it exists and settimeofday fails.
84426         But don't bother with fallbacks if a method fails with errno == EPERM.
84427
84428 2004-05-11  Jim Meyering  <jim@meyering.net>
84429
84430         Prior to this change, the save_cwd caller required read access to the
84431         current directory on most systems (ones with the fchdir function).
84432
84433         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84434         fails, try write-only, and finally, resort to using xgetcwd.
84435
84436 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84437
84438         * lib/obstack.c, obstack.h: Import changes from libc.
84439
84440 2004-04-28  Bruno Haible  <bruno@clisp.org>
84441
84442         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84443         also implicitly appends .exe to executables.
84444         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84445         accepts Windows pathnames.
84446         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84447         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84448         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84449         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84450         Reported by Derek Robert Price <derek@ximbiot.com>.
84451
84452 2004-04-21  Karl Berry  <karl@gnu.org>
84453
84454         * config/srclist.txt (localcharset.c): break sync.
84455
84456 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84457
84458         * m4/host-os.m4: Add a copyright notice.
84459
84460 2004-04-20  Jim Meyering  <jim@meyering.net>
84461
84462         Change UTILS_ to gl_ in AC_DEFINE'd names.
84463         Change utils_- and jm_-prefixed variables, too.
84464         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84465         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84466         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84467
84468         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84469         Don't emit trailing blanks.
84470         Also rename jm_-prefixed variables to have gl_ prefix.
84471
84472         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84473         Also rename jm_-prefixed variables to have gl_ prefix.
84474
84475         * m4/jm-macros.m4: Reflect the renamings.
84476         * m4/prereq.m4: Likewise.
84477
84478 2004-04-20  Jim Meyering  <jim@meyering.net>
84479
84480         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84481         memory.
84482
84483 2004-04-20  Jim Meyering  <jim@meyering.net>
84484             Bruno Haible  <bruno@clisp.org>
84485
84486         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84487         memory when realloc fails.
84488
84489 2004-04-19  Jim Meyering  <jim@meyering.net>
84490
84491         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84492         now that readutmp.c may call `free (0)'.
84493
84494 2004-04-19  Bruno Haible  <bruno@clisp.org>
84495
84496         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84497         * m4/inttypes_h.m4: Likewise.
84498         * m4/stdint_h.m4: Likewise.
84499         * m4/intmax_t.m4: Likewise.
84500         * m4/uintmax_t.m4: Likewise.
84501
84502 2004-04-18  Jim Meyering  <jim@meyering.net>
84503
84504         * m4/prereq.m4: Don't forbid jm_ prefix.
84505
84506         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84507         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84508         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84509         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84510         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84511         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84512         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84513         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84514         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84515         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84516         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84517         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84518         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84519         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84520         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84521         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84522         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84523         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84524         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84525
84526 2004-04-18  Jim Meyering  <jim@meyering.net>
84527
84528         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84529         failure, don't leak memory and do call END_UTMP_ENT.
84530
84531 2004-04-16  Jim Meyering  <jim@meyering.net>
84532
84533         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84534         coreutils' stat program.
84535         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84536
84537 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84538
84539         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84540         C89.
84541         (CHAR_BIT): Remove, since we assume C89.
84542         Include <stdint.h> if available, as per current Autoconf CVS advice.
84543
84544 2004-03-31  Jim Meyering  <jim@meyering.net>
84545
84546         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84547         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84548         * m4/xalloc.m4: Likewise.
84549
84550 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84551
84552         Merge from coreutils.
84553
84554         * m4/inttostr.m4: New file.
84555         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84556         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84557         Require gl_CLOCK_TIME.
84558         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84559
84560 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84561
84562         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84563         not bool, to be more consistent with Unix conventions.
84564         Suggested by Bruno Haible.
84565
84566         Merge from coreutils.
84567
84568         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84569         * lib/umaxtostr.c: New files.
84570
84571         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84572         the usual <time.h> dance.
84573         (get_date): Change signature to support fractional time stamps.
84574         All callers changed.
84575         * lib/getdate.y: Include "getdate.h" first, as we can now
84576         assume C89 and don't need to worry about 'const'.
84577         Similarly, include "unlocked-io.h" near start, not in middle.
84578         Include <limits.h>.
84579         (textint.value): Use long int rather than int.
84580         (textint.digits): Use size_t rather than int.
84581         (BILLION, LOG10_BILLION): New constants.
84582         (parser_control): New member rel_ns.  Members day_ordinal,
84583         time_zone, month, day, hour, minutes, rel_year, rel_month,
84584         rel_day, rel_hour, rel_minutes, rel_seconds
84585         are now long int, not int.  Member seconds is now struct timespec,
84586         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84587         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84588         not int.
84589         (%union.intval): Now long int, not int.
84590         New member timespec.
84591         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84592         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84593         (spec): Now is a timespec or an item list.
84594         (timespec, items): New nonterminals.
84595         (time, rel, relunit, number, get_date):
84596         Add support for fractional seconds.
84597         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84598         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84599         (to_hour): First arg is now long int, not int.
84600         (to_year): Returns long int, not int.
84601         Don't treat year -70 like 70.
84602         (tm_diff): Returns long int, not int.
84603         (lookup_word): Use bool instead of int when appropriate.
84604         (yylex): Use size_t for count, not int.
84605         Detect overflow when parsing large integer constants.
84606         Add support for fractions.
84607         (get_date): Make pointers 'const' if possible.
84608         Use more-portable code to detect integer overflow.
84609         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84610         Don't use ctime; it's not reliable if the year has >4 digits.
84611
84612         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84613         This is for compatibility with BSD.
84614
84615         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84616         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84617         From coreutils' system.h.
84618
84619         * lib/userspec.c: Don't include "posixver.h".
84620         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84621         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84622         compatible extension.  Simplify code by removing a boolean int
84623         that was always nonzero if a string was nonnull.
84624
84625 2004-03-30  Jim Meyering  <jim@meyering.net>
84626
84627         Merge from coreutils.
84628
84629         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84630         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84631         on some systems one must include <grp.h> before it.
84632         Reported by Christian Krackowizer.
84633
84634 2004-03-30  Jim Meyering  <jim@meyering.net>
84635
84636         Merge from coreutils.
84637
84638         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84639
84640         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84641         an empty input stream.
84642
84643         * lib/readtokens.c: Include <stdbool.h>.
84644         (readtoken): Use `size_t' rather than int/long.
84645         All callers adjusted.
84646         Use `bool' rather than `int' where appropriate.
84647         Use memset rather than an explicit loop.
84648         Use x2nrealloc rather than xrealloc.
84649         Allow the use of `\0' as a delimiter.
84650         (readtokens): Likewise.
84651         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84652
84653 2004-03-30  Jim Meyering  <jim@meyering.net>
84654
84655         * m4/realloc.m4: Remove file, since now it does no more than
84656         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84657         the `configure.ac' section of module/realloc.
84658         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84659
84660 2004-03-30  Bruno Haible  <bruno@clisp.org>
84661
84662         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84663         nonnull.
84664
84665 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84666
84667         Merge changes to getloadavg.c from coreutils and Emacs.
84668
84669         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84670         Define to an expression, not to the empty string.
84671         Include cloexec.h and xalloc.h.
84672         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84673         Use set_cloexec_flag rather than rolling our own.
84674         * lib/cloexec.c, lib/cloexec.h: New files.
84675
84676 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84677
84678         * m4/cloexec.m4: New file.
84679
84680 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84681
84682         * lib/getopt.h: Sync with libc CVS.
84683
84684 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84685             Bruno Haible  <bruno@clisp.org>
84686
84687         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84688         mbswidth.
84689
84690 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84691             Bruno Haible  <bruno@clisp.org>
84692
84693         * lib/mbswidth.h: Include <wchar.h> only if
84694         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84695         <wchar.h>.
84696         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84697
84698 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84699
84700         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84701         Sync with libc CVS.
84702         * lib/getopt_int.h: New file, also synced from libc.
84703
84704 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84705
84706         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84707         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84708         Bring back getopt.c, getopt.h, getopt1.c.
84709
84710 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84711
84712         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84713         All uses changed.  Check for sa_sigaction member; this fixes
84714         a bug first reported by Jason Andrade in
84715         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84716
84717 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84718
84719         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84720         '#if' expressions.  Unlike the code it replaces, it does not
84721         depend on (defined _SC_PAGESIZE).  However, it does depend on
84722         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84723         first reported by Jason Andrade in
84724         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84725
84726 2004-02-25  Simon Josefsson  <jas@extundo.com>
84727
84728         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84729
84730 2004-02-25  Simon Josefsson  <jas@extundo.com>
84731
84732         * lib/strdup.h: New file.
84733         * lib/strdup.c: Include it.
84734         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84735         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84736
84737 2004-02-23  Karl Berry  <karl@gnu.org>
84738
84739         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84740         (from fencepost.gnu.org:/gd/gnuorg).
84741
84742 2004-02-23  Karl Berry  <karl@gnu.org>
84743
84744         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84745         * config/srclist.txt: add maintain/standards documents.
84746
84747 2004-02-18  Bruno Haible  <bruno@clisp.org>
84748
84749         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84750         Reported by Derek Robert Price <derek@ximbiot.com>.
84751
84752 2004-02-16  Karl Berry  <karl@gnu.org>
84753
84754         * config/mkinstalldirs, install-sh: update from automake.
84755
84756 2004-02-06  Karl Berry  <karl@gnu.org>
84757
84758         * m4/po.m4: update from gettext 0.14.1.
84759
84760 2004-02-06  Karl Berry  <karl@gnu.org>
84761
84762         * lib/config.charset: update from gettext 0.14.1.
84763
84764 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84765
84766         Add comments and code, prompted by suggestions from Bruno Haible
84767         for sh-quote.
84768         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84769         describing the enum quoting_style values.
84770         * lib/quotearg.c (quotearg_alloc): New function.
84771         (quotearg_buffer_restyled): Treat lone { and } as special.
84772         Treat = as special.  Work around bug with older shells
84773         that "see" a '\' that is really the 2nd byte of a multibyte char.
84774         Quote empty string with shell_quoting_style.
84775
84776 2004-02-03  Bruno Haible  <bruno@clisp.org>
84777
84778         * m4/pipe.m4: New file, from GNU gettext.
84779
84780 2004-02-03  Bruno Haible  <bruno@clisp.org>
84781
84782         * lib/pipe.h: New file, from GNU gettext.
84783         * lib/pipe.c: New file, from GNU gettext.
84784
84785 2004-01-27  Bruno Haible  <bruno@clisp.org>
84786
84787         * m4/execute.m4: New file, from GNU gettext.
84788
84789 2004-01-27  Bruno Haible  <bruno@clisp.org>
84790
84791         * lib/execute.h: New file, from GNU gettext.
84792         * lib/execute.c: New file, from GNU gettext.
84793         * lib/w32spawn.h: New file, from GNU gettext.
84794
84795 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84796
84797         Merge from diffutils.
84798
84799         * lib/file-type.c (file_type): Add typed memory objects.
84800         * lib/file-type.h (S_TYPEISTMO): New macro.
84801
84802         * lib/c-stack.h (c_stack_action): Remove argv argument.
84803         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
84804         (die): Don't calculate message unless segv_action returns.
84805         (get_stack_location, min_address_from_argv, max_address_from_argv,
84806         volatile stack_base, volatile_stack_size): Remove.
84807         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
84808         that every segmentation violation is a stack overflow.  (Ouch!)
84809         See Debian bug 136249 (still outstanding) for more info about why
84810         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
84811
84812 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84813
84814         Exit-status fix from coreutils.
84815
84816         Use exit_failure consistently in place of EXIT_FAILURE,
84817         so that program exit statuses are consistent on failure.
84818
84819         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84820         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84821         * lib/argmatch.h: Comment fix to match the above.
84822         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84823         Now a macro referring to exit_failure, instead of a separate
84824         variable.  Include "exitfail.h" to get it.
84825         * lib/xstrtol.h: Include "exitfail.h".
84826         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84827
84828         * lib/long-options.c (parse_long_options): Use prototype
84829         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84830         for clarity.
84831
84832 2004-01-21  Jim Meyering  <jim@meyering.net>
84833
84834         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84835         so as not to conflict with a different-sized __mktime_internal
84836         function in GNU libc.
84837         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84838         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84839
84840 2004-01-20  Karl Berry  <karl@gnu.org>
84841
84842         * config/config.guess: update from config.
84843
84844         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84845
84846 2004-01-20  Bruno Haible  <bruno@clisp.org>
84847
84848         Safer stack allocation.
84849         * lib/setenv.c: Include allocsa.h.
84850         (alloca): Remove fallback definition.
84851         (freea): Remove macro.
84852         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84853         instead of freea.
84854
84855 2004-01-20  Bruno Haible  <bruno@clisp.org>
84856
84857         * m4/eealloc.m4: New file, from GNU gettext.
84858
84859 2004-01-20  Bruno Haible  <bruno@clisp.org>
84860
84861         * m4/allocsa.m4: New file, from GNU gettext.
84862
84863 2004-01-20  Bruno Haible  <bruno@clisp.org>
84864
84865         * lib/xallocsa.h: New file, from GNU gettext.
84866         * lib/xallocsa.c: New file, from GNU gettext.
84867
84868 2004-01-20  Bruno Haible  <bruno@clisp.org>
84869
84870         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84871
84872 2004-01-20  Bruno Haible  <bruno@clisp.org>
84873
84874         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84875         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84876         specially.
84877
84878 2004-01-20  Bruno Haible  <bruno@clisp.org>
84879
84880         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84881         patch.
84882
84883 2004-01-20  Bruno Haible  <bruno@clisp.org>
84884
84885         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84886
84887 2004-01-20  Bruno Haible  <bruno@clisp.org>
84888
84889         * lib/eealloc.h: New file.
84890
84891 2004-01-20  Bruno Haible  <bruno@clisp.org>
84892
84893         * lib/binary-io.h: Avoid warnings on Cygwin.
84894
84895 2004-01-20  Bruno Haible  <bruno@clisp.org>
84896
84897         * lib/allocsa.h: New file, from GNU gettext.
84898         * lib/allocsa.c: New file, from GNU gettext.
84899
84900 2004-01-18  Karl Berry  <karl@gnu.org>
84901
84902         * doc/gpl.texi, doc/lgpl.texi: new files.
84903
84904 2004-01-18  Karl Berry  <karl@gnu.org>
84905
84906         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84907         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84908
84909 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84910
84911         Merge from coreutils.
84912
84913         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84914         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84915         (gl_DEFAULT_POSIX2_VERSION): Move
84916         the documentation from 'configure' into 'config.hin',
84917         so that 'configure --help' isn't burdened by it and
84918         we don't have to worry about its formatting there.
84919         Reword the documentation so that it's more succinct
84920         and can be run together into a single paragraph.
84921         * m4/same.m4 (gl_SAME): Check for pathconf.
84922
84923 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84924
84925         Merge from coreutils.
84926
84927         * lib/posixver.c: Include posixver.h.
84928
84929         * lib/same.c: Include <stdbool.h>, <limits.h>.
84930         (_POSIX_NAME_MAX): Define if not defined.
84931         (MIN): New macro.
84932         (same_name): If file names are silently truncated, report
84933         that the file names are the same if they are the same after
84934         the silent truncation.
84935
84936         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
84937         conversion function.
84938         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
84939         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
84940         longer needed.
84941
84942 2004-01-15  Jim Meyering  <jim@meyering.net>
84943
84944         Merge from coreutils.
84945
84946         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
84947         if no library is required.
84948         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
84949         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
84950         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
84951         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
84952         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
84953         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
84954         value, $ac_cv_search_crypt, if it's "none required".
84955         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
84956         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
84957         not gl_FUNC_GETLOADAVG.
84958         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
84959         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
84960
84961 2004-01-15  Jim Meyering  <jim@meyering.net>
84962
84963         Merge from coreutils.
84964
84965         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
84966         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
84967         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
84968
84969         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
84970         optional configure-time default.
84971
84972         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84973
84974         * lib/xreadlink.c (xreadlink): Correct outdated comment.
84975
84976 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
84977
84978         Merge from coreutils.
84979
84980         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
84981         value, $ac_cv_search_nanosleep, if it's "none required".
84982
84983 2004-01-14  Paul Eggert  <eggert@twinsun.com>
84984
84985         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
84986         with like-named macro in fnmatch.c.
84987         (EXT): Use an internal constant instead.
84988
84989         Merge fnmatch patches from glibc.
84990         * lib/fnmatch.c (mbsinit): Remove define.
84991         Add libc_hidden_ver (__fnmatch, fnmatch).
84992         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
84993         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
84994
84995 2004-01-14  Karl Berry  <karl@gnu.org>
84996
84997         * config/install-sh: update from automake.
84998
84999 2004-01-13  Karl Berry  <karl@gnu.org>
85000
85001         * config/install-sh: update from automake.
85002
85003 2004-01-09  Karl Berry  <karl@gnu.org>
85004
85005         * config/install-sh: update from automake.
85006
85007 2004-01-05  Karl Berry  <karl@gnu.org>
85008
85009         * config/config.{sub,guess}: update from config.
85010
85011 2003-12-31  Karl Berry  <karl@gnu.org>
85012
85013         * config/depcomp: update from automake.
85014
85015 2003-12-14  Karl Berry  <karl@gnu.org>
85016
85017         * lib/config.charset: update from gettext-runtime.
85018
85019 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85020
85021         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85022         Bug reported by Alfred M. Szmidt.
85023
85024 2003-12-03  Bruno Haible  <bruno@clisp.org>
85025
85026         * m4/gettext.m4: Upgrade from gettext-0.13.
85027         * m4/po.m4: Upgrade from gettext-0.13.
85028         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85029         * m4/intmax.m4: New file, from gettext-0.13.
85030         * m4/printf-posix.m4: New file, from gettext-0.13.
85031
85032 2003-11-29  Karl Berry  <karl@gnu.org>
85033
85034         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85035
85036 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85037             Bruno Haible  <bruno@clisp.org>
85038
85039         * lib/printf-parse.h: Don't include sys/types.h.
85040         (ARG_NONE): New macro.
85041         (char_directive): Change type of *arg_index fields to size_t.
85042         * lib/printf-parse.c: Don't include sys/types.h.
85043         (SSIZE_MAX): Remove macro.
85044         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85045         Remove unnecessary overflow check.
85046         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85047         fields.
85048
85049 2003-11-25  Bruno Haible  <bruno@clisp.org>
85050
85051         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85052
85053 2003-11-25  Bruno Haible  <bruno@clisp.org>
85054
85055         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85056         gt_TYPE_SSIZE_T.
85057
85058 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85059
85060         * modules/alloca: Remove dependency on xalloc.
85061
85062 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85063
85064         * lib/alloca.c: Remove dependency on xalloc module.
85065         (xalloc_die): Remove.
85066         (memory_full) [!defined emacs]: New macro.
85067         [!defined emacs]: Don't include xalloc.h.
85068         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85069         address arithmetic overflows.  Change datatypes a bit to avoid
85070         unnecessary casts.
85071
85072 2003-11-22  Jim Meyering  <jim@meyering.net>
85073
85074         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85075         s/size/size_t/.
85076
85077 2003-11-21  Karl Berry  <karl@gnu.org>
85078
85079         * config/config.{sub,guess}: update from config.
85080
85081 2003-11-18  Karl Berry  <karl@gnu.org>
85082
85083         * config/config.{sub,guess}: update from config.
85084
85085         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85086
85087 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85088
85089         * README: Mention that S+T cannot overflow if S is the size of
85090         an existing object and T is sufficiently small.
85091
85092 2003-11-17  Jim Meyering  <jim@meyering.net>
85093
85094         On systems without utime and without a utimes function capable of
85095         dealing with a NULL struct utimbuf* argument, this utime replacement
85096         could -- in unusual circumstances -- leak a file descriptor.
85097         * lib/utime.c: Include <unistd.h> and <errno.h>.
85098         (utime_null): Be sure to close `fd' and to preserve errno.
85099         Reported by Geoff Collyer via Arnold Robbins.
85100
85101 2003-11-17  Bruno Haible  <bruno@clisp.org>
85102
85103         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85104         (Depends-on): Add xsize.
85105
85106 2003-11-17  Bruno Haible  <bruno@clisp.org>
85107
85108         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85109
85110 2003-11-17  Bruno Haible  <bruno@clisp.org>
85111
85112         * lib/vasnprintf.c (alloca): Remove fallback definition.
85113         (freea): Remove definition.
85114         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85115         Reported by Paul Eggert.
85116
85117 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85118             Bruno Haible  <bruno@clisp.org>
85119
85120         Protect against address arithmetic overflow.
85121         * lib/printf-args.h: Include stddef.h.
85122         (arguments): Change type of field 'count' to size_t.
85123         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85124         'unsigned int' where appropriate.
85125         * lib/printf-parse.h: Include sys/types.h.
85126         (char_directive): Change type of *arg_index fields to ssize_t.
85127         (char_directives): Change type of fields 'count', max_*_length to
85128         size_t.
85129         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85130         (SSIZE_MAX): Define fallback value.
85131         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85132         instead of 'int' where appropriate. Check a_allocated, d_allocated
85133         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85134         * lib/vasnprintf.c: Include xsize.h.
85135         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85136         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85137         overflow. Avoid wraparound when converting a width or precision from
85138         decimal to binary.
85139
85140 2003-11-16  Bruno Haible  <bruno@clisp.org>
85141
85142         Update from GNU gettext.
85143         * lib/printf-parse.c: Generalize to it can be compiled for wide
85144         strings.
85145         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85146         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85147         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85148         SNPRINTF): New macros.
85149         Don't include <alloca.h> if the file is used inside libintl.
85150         (local_wcslen): New function, for Solaris 2.5.1.
85151         (VASNPRINTF): Use it instead of wcslen.
85152
85153 2003-11-16  Bruno Haible  <bruno@clisp.org>
85154
85155         * lib/xsize.h (xmax): New function.
85156         (xsum, xsum3, xsum4): Declare as "pure" functions.
85157
85158 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85159
85160         * modules/xalloc (Files): Undo latest change, since xalloc.h
85161         no longer needs SIZE_MAX or PTRDIFF_MAX.
85162
85163 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85164
85165         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85166         gl_PTRDIFF_MAX.
85167
85168 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85169
85170         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85171         "return", to pacify some unknown compiler.  Problem reported
85172         by Joerg Schilling.
85173
85174 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85175
85176         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85177         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85178         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85179         heuristic is just as accurate as far as we know, and it removes a
85180         dependency on size_max.m4 and ptrdiff_max.m4.
85181
85182 2003-11-11  Bruno Haible  <bruno@clisp.org>
85183
85184         * modules/xsize (Files): Add m4/size_max.m4.
85185         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85186
85187 2003-11-11  Bruno Haible  <bruno@clisp.org>
85188
85189         * m4/size_max.m4: New file.
85190         * m4/ptrdiff_max.m4: New file.
85191         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85192         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85193         (gl_XALLOC): Invoke it.
85194
85195 2003-11-11  Bruno Haible  <bruno@clisp.org>
85196
85197         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85198         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85199         defined.
85200
85201 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85202
85203         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85204         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85205         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85206         From Bruno Haible.
85207         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85208         not (size_t) -1, since it's defined here.
85209
85210 2003-11-09  Karl Berry  <karl@gnu.org>
85211
85212         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85213
85214 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85215
85216         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85217         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85218         Reject sizes of exactly SIZE_MAX bytes.
85219         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85220         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85221
85222 2003-11-05  Bruno Haible  <bruno@clisp.org>
85223
85224         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85225         SIZE_MAX defined in <limits.h> on Solaris.
85226
85227 2003-11-04  Jim Meyering  <jim@meyering.net>
85228
85229         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85230         variable names, rather than @VAR@.
85231         * modules/poll: Likewise.
85232
85233 2003-11-04  Bruno Haible  <bruno@clisp.org>
85234
85235         * modules/xsize: New file.
85236         * modules/linebreak: Depend on xsize.
85237         * MODULES.html.sh (func_all_modules): Add xsize.
85238
85239 2003-11-04  Bruno Haible  <bruno@clisp.org>
85240
85241         * m4/xsize.m4: New file.
85242
85243 2003-11-04  Bruno Haible  <bruno@clisp.org>
85244
85245         * lib/xsize.h: New file.
85246         * lib/linebreak.c: Include xsize.h.
85247         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85248         argument for overflow.
85249         Suggested by Paul Eggert.
85250
85251 2003-11-03  Karl Berry  <karl@gnu.org>
85252
85253         * config/config.{guess,sub}: update from config.
85254
85255 2003-11-03  Jim Meyering  <jim@meyering.net>
85256
85257         * modules/userspec (lib_SOURCES): Add userspec.h.
85258         (Include): Add "userspec.h".
85259         Improve description.
85260
85261 2003-11-03  Jim Meyering  <jim@meyering.net>
85262
85263         * lib/userspec.c: Include "userspec.h".
85264         * lib/userspec.h: New file.
85265
85266 2003-11-03  Bruno Haible  <bruno@clisp.org>
85267
85268         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85269
85270 2003-11-03  Bruno Haible  <bruno@clisp.org>
85271
85272         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85273         available, to avoid (extremely rare) race condition.
85274         Suggested by Paul Eggert.
85275
85276 2003-11-02  Karl Berry  <karl@gnu.org>
85277
85278         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85279
85280 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85281
85282         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85283         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85284         (read_filesystem_list): Set and use me_type_malloced.
85285         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85286         whatever the type happens to be), for brevity and consistency.
85287         Check for size calculation overflow on Alphas running OSF/1.
85288
85289 2003-10-31  Jim Meyering  <jim@meyering.net>
85290
85291         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85292
85293         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85294
85295 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85296             Bruno Haible  <bruno@clisp.org>
85297
85298         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85299         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85300
85301 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85302
85303         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85304         netbsd*-gnu*.  Suggested by Robert Millan.
85305
85306 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85307
85308         * modules/group-member: Depend on stdbool.
85309
85310 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85311
85312         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85313
85314 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85315
85316         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85317         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85318         after the 'gnu' in these cases.  This fixes some bugs in the
85319         previous change, and is based on suggestions by Robert Millan.
85320
85321 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85322
85323         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85324         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85325         no longer needed.
85326         * lib/quotearg.c (quotearg_n_options): Use it.
85327         * lib/group-member.c: Include <stdbool.h>.
85328         (free_group_info): Arg is now const *; don't free arg.
85329         (get_group_info): Now returns bool and accepts struct group_info *,
85330         rather than returning a malloc'ed struct group_info *.
85331         All uses changed.  Check for overflow in internal size calculation.
85332
85333         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85334         rather than xmalloc/xrealloc.
85335         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85336         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85337         conformance bug: the old code used a pointer after freeing the
85338         storage that it addressed.
85339         * lib/hash.c (hash_initialize): Simplify the code by using
85340         xalloc_oversized rather than doing it by hand.
85341         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85342         the buffer preserved.  Use free and xmalloc instead.
85343         * lib/quotearg.c (quotearg_n_options): Likewise.
85344         Use a simpler test for size overflow.  Don't use xalloc_oversized
85345         because unsigned int might be wider than size_t (!); this suggests
85346         that we should switch from unsigned int to size_t for slot numbers.
85347
85348 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85349
85350         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85351         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85352         NetBSD kernels.  Requested by Richard Stallman.
85353
85354 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85355
85356         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85357         to allocate the returned structure.  Do not allocate a subarray,
85358         as x2nrealloc will do that.
85359         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85360         instead of xnrealloc.
85361         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85362
85363 2003-10-27  Bruno Haible  <bruno@clisp.org>
85364
85365         * lib/stdbool_.h: Better support for BeOS.
85366
85367 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85368
85369         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85370         now uses inline.
85371
85372 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85373
85374         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85375         callers that want to do their own size-overflow checking.  Include
85376         <stdbool.h>, since xalloc_oversized returns bool.
85377         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85378         to use xalloc_oversized.
85379
85380         Add two functions x2realloc, x2nrealloc, for programs that grow
85381         arrays dynamically by doubling their sizes.
85382         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85383         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85384         New functions.
85385
85386         Port to C99 semantics for 'inline' of external functions.
85387         Bug reported by Bruno Haible.
85388         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85389         with the old contents of xnmalloc.
85390         (xnmalloc, xmalloc): Use it.
85391         (xnrealloc_inline): New static inline function,
85392         with the old contents of xnrealloc.
85393         (xnrealloc, xrealloc): Use it.
85394
85395         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85396         that.
85397
85398 2003-10-26  Karl Berry  <karl@gnu.org>
85399
85400         * config/srclist.txt (COPYING.DOC): no longer available from
85401         /gd/gnuorg; don't know where the ultimate source is.
85402
85403 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85404
85405         Fix several address-calculation bugs in the hash modules,
85406         plus some minor code cleanup.
85407
85408         * lib/hash.h: Include <stdbool.h>, for bool.
85409         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85410         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85411         hash_get_n_entries, hash_get_max_bucket_length,
85412         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85413         hash_rehash): Use size_t rather than unsigned.
85414         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85415         hash_get_n_buckets_used, hash_get_n_entries,
85416         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85417         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85418         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85419         Likewise.
85420         (SIZE_MAX): Define if not defined.
85421         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85422         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85423         hash_print):
85424         Use const * when possible.
85425         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85426         (check_tuning): Fix bug: if tuning parameters were very close to
85427         0 or 1, rounding errors could have caused subscript violations.
85428         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85429         (hash_initialize): Add 'fail:' label
85430         to free table and return NULL, and use it to simplify code.
85431         Use calloc rather than clearing the storage ourself.
85432         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85433         buffer size calculations.
85434         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85435         Include <stddef.h>, for size_t.
85436         * lib/hash-pjw.c (hash_pjw): Likewise.
85437         Switch to method described by Bruno Haible.
85438         Include <limits.h>, for CHAR_BIT.
85439         (SIZE_BITS): New macro.
85440
85441 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85442
85443         * m4/getline.m4 (AM_FUNC_GETLINE):
85444         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85445         hosts.  Problem reported by Derek Robert Price in
85446         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85447         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85448         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85449
85450 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85451
85452         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85453         ceiling the allocation at NMAX bytes rather than silently
85454         discarding input bytes before NMAX is reached.  This makes
85455         a difference only if NMAX exceeds SIZE_MAX / 2.
85456
85457         * lib/obstack.c: Merge from glibc.
85458         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85459         Add libc_hidden_def (_obstack_newchunk).
85460         (_obstack_free) [! defined _LIBC]: Remove.
85461         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85462         a clone of the function body.
85463         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85464         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85465
85466         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85467         glibc.
85468         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85469         arg to memcpy.
85470
85471         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85472         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85473         Don't use lvalue casts, as GCC plans to remove support for them
85474         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85475         was also present in the non-GCC version, indicating that this
85476         code had always been buggy and had never been widely used.
85477         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85478         Use the fast variant of each macro, rather than copying the
85479         definiens of the fast variant; that way, we'll be more likely to
85480         catch future bugs in the fast variants.
85481
85482 2003-10-20  Bruno Haible  <bruno@clisp.org>
85483
85484         * modules/wait-process: New file.
85485         * MODULES.html.sh (func_all_modules): Add wait-process.
85486
85487 2003-10-20  Bruno Haible  <bruno@clisp.org>
85488
85489         * m4/wait-process.m4: New file.
85490
85491 2003-10-20  Bruno Haible  <bruno@clisp.org>
85492
85493         * lib/wait-process.h: New file, from GNU gettext.
85494         * lib/wait-process.c: New file, from GNU gettext.
85495
85496 2003-10-19  Jim Meyering  <jim@meyering.net>
85497
85498         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85499         HPUX 10.20.
85500
85501 2003-10-18  Karl Berry  <karl@gnu.org>
85502
85503         * config/config.guess: update from config.
85504
85505 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85506
85507         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85508         (getgroups): First arg is int, not size_t.
85509         Don't let 'free' mangle errno.
85510
85511 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85512
85513         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85514
85515 2003-10-16  Karl Berry  <karl@gnu.org>
85516
85517         * config/config.{guess,sub}: update from config.
85518
85519 2003-10-16  Jim Meyering  <jim@meyering.net>
85520
85521         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85522         memcpy.
85523
85524 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85525
85526         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85527         (SIZE_MAX): Remove.
85528         (new_exclude, add_exclude_file): Initial size no longer needs to
85529         be a power of 2.
85530         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85531         our own address arithmetic overflow checking.
85532
85533         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85534         (fnmatch): Do not alloca more than 2000 wide characters;
85535         instead, use malloc for large buffers.
85536         Check for address arithmetic overflow, and return -1
85537         with errno set to ENOMEM in that case.
85538         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85539         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85540         instead, return -1.  Check for address arithmetic overflow.
85541
85542 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85543
85544         Handle invalid suffixes and overflow independently, so that
85545         callers can treat them independently as needed.  Fix some bugs in
85546         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85547         suffix for a human-readable blocksize.  The major caller-visible
85548         change is the addition of a new
85549         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85550         that both overflow and suffix chars were found.
85551
85552         * lib/human.c (humblock): Don't check separately for invalid suffix
85553         char; that is xstrtoumax's job (now that its bug is fixed).
85554         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85555         INTMAX_MAX]: New macros.
85556         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85557         TYPE_MAXIMUM): New macros.
85558         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85559         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85560         if overflow occurs, as it's what __strtol does and it's more useful
85561         in practice.
85562         (__xstrtol): If __strtol reports some error other than ERANGE,
85563         reflect it to the caller as LONGINT_INVALID.  If it reports
85564         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85565         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85566         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85567         value.
85568         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85569         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85570         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85571         [defined UINTMAX_MAX]: New macros.
85572
85573 2003-10-14  Bruno Haible  <bruno@clisp.org>
85574
85575         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85576
85577 2003-10-14  Bruno Haible  <bruno@clisp.org>
85578
85579         * m4/sig_atomic_t: New file, from GNU gettext.
85580         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85581
85582 2003-10-14  Bruno Haible  <bruno@clisp.org>
85583
85584         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85585         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85586         Also use volatile where needed.
85587
85588 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85589
85590         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85591         Change maintainer from Bruno Haible to 'all'.
85592
85593 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85594
85595         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85596
85597 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85598
85599         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85600         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85601         and define in terms of the other primitives.
85602         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85603         (SIZE_MAX): Define if not already defined.
85604         (array_size_overflow): New function.
85605         (xalloc_die): Abort instead of exiting if 'error' returns.
85606         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85607         (xmalloc, xrealloc): Use them.
85608         (xcalloc): Check for address arithmetic overflow.
85609         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85610         a bit faster than strcpy.
85611
85612 2003-10-10  Simon Josefsson  <jas@extundo.com>
85613
85614         * modules/argp (Depends-on): Add restrict and strcase.
85615
85616 2003-10-10  Simon Josefsson  <jas@extundo.com>
85617
85618         * m4/argp.m4: Add AC_C_INLINE.
85619
85620 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85621
85622         Merge getpass from libc, plus a few fixes.
85623
85624         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85625         Include <stdbool.h>.
85626         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85627         __fsetlocking to empty.
85628         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85629         do include <bits/libc-lock.h>.
85630         Do not include <fcntl.h>; not needed.
85631         [_LIBC]: Include <wchar.h>.
85632         (NOTCANCEL_MODE): New macro.
85633         (flockfile, funlockfile) [_LIBC]: New macros.
85634         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85635         [!_LIBC]: New macros.
85636         (call_fclose): New function.
85637         (getpass): Use it.  Save tty stream separately; this simplifies the
85638         code and makes it more reliable if stdin happens to equal stdout.
85639         Invoke __fsetlocking on tty.
85640         Handle thread cancellation if needed.
85641         Namespace cleanup (use __tcgetattr, __getline).
85642         Use bool for Booleans.
85643         [USE_IN_LIBIO]: Handle wide streams.
85644         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85645         stream might go where.
85646
85647         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85648         doesn't have to include <stdio.h> before us.
85649         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85650         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85651         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85652         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85653         if not declared, so that we can use getpass.c code from libc without
85654         rewriting it.
85655         (flockfile, ftrylockfile, funlockfile): New macros.
85656
85657 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85658
85659         * modules/getpass: Depend on stdbool.
85660
85661 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85662
85663         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85664
85665 2003-10-07  Karl Berry  <karl@gnu.org>
85666
85667         * config/config.{guess,sub}: update from config.
85668
85669 2003-10-06  Jim Meyering  <jim@meyering.net>
85670             Bruno Haible  <bruno@clisp.org>
85671
85672         This lets translators provide better translations for the
85673         "Written by ..." part of --version output.
85674         * lib/version-etc.h: Include stdarg.h.
85675         (version_etc_copyright): Declare as readonly.
85676         (version_etc): Make this function variadic with a NULL-terminated list
85677         of author name strings.
85678         (version_etc_va): New declaration.
85679         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85680         (version_etc_copyright): Declare as readonly.
85681         (version_etc_va): New function. Provide a different translatable string
85682         for each possible number of authors < 10. Abbreviate when there are 10
85683         authors or more.
85684         (version_etc): Make this function variadic. Call version_etc_va.
85685         Suggestion from Gary V. Vaughan.
85686
85687         * lib/long-options.h (parse_long_options): Change prototype: the
85688         authors string is moved to the end and becomes variadic.
85689         * lib/long-options.c: Include stdarg.h.
85690         (parse_long_options): Make this function variadic, too.
85691         Call version_etc_va, not version_etc.
85692
85693 2003-10-06  Bruno Haible  <bruno@clisp.org>
85694
85695         * modules/version-etc-2: Remove file.
85696         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85697
85698 2003-10-06  Bruno Haible  <bruno@clisp.org>
85699
85700         * modules/fatal-signal: New file.
85701         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85702
85703 2003-10-06  Bruno Haible  <bruno@clisp.org>
85704
85705         * m4/fatal-signal.m4: New file.
85706         * m4/signalblocking.m4: New file, from GNU gettext.
85707
85708 2003-10-06  Bruno Haible  <bruno@clisp.org>
85709
85710         * lib/version-etc-2.h: Remove file.
85711         * lib/version-etc-2.c: Remove file.
85712
85713 2003-10-06  Bruno Haible  <bruno@clisp.org>
85714
85715         * lib/fatal-signal.h: New file, from GNU gettext.
85716         * lib/fatal-signal.c: New file, from GNU gettext.
85717
85718 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85719
85720         * README: Rework advice for preventing empty .o files.
85721         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85722         not <sys/types.h>.
85723
85724 2003-10-04  Karl Berry  <karl@gnu.org>
85725
85726         * lib/argp*: update from libc.
85727
85728 2003-10-04  Karl Berry  <karl@gnu.org>
85729
85730         * config/config.{guess,sub}: update from config.
85731
85732 2003-10-02  Bruno Haible  <bruno@clisp.org>
85733
85734         * modules/lchown (Include): Add lchown.h.
85735         * modules/time_r (Include): Use "..." syntax.
85736         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85737
85738 2003-10-01  Simon Josefsson  <jas@extundo.com>
85739
85740         * MODULES.html.sh (func_all_modules): Move gethostname from section
85741         'based on' to section 'lacking' POSIX:2001.
85742
85743 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85744
85745         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85746         to output mode on the same stream.
85747
85748 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85749
85750         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85751         Fix arg typo in previous patch.
85752
85753 2003-09-28  Jim Meyering  <jim@meyering.net>
85754
85755         * lib/error.c: Correct cpp indentation.
85756
85757 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85758
85759         * modules/free: New file.
85760
85761 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85762
85763         * m4/free.m4: New file.
85764
85765 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85766
85767         * lib/minmax.h (MIN, MAX)
85768         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85769         Omit the special code that used __typeof__, since we worry that
85770         it could be more trouble than it's worth.  See:
85771         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85772         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85773
85774         * lib/free.c: New file.
85775
85776 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85777
85778         Trivial fixes to Makefile.am parts of module listings.
85779         * modules/strstr: Append strstr.h to lib_SOURCES.
85780         * modules/strcase: Likewise, for strcase.h.
85781
85782 2003-09-27  Karl Berry  <karl@gnu.org>
85783
85784         * config/mkinstalldirs: update from automake.
85785
85786 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85787
85788         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85789         (error_tail): Do not loop, reallocating temporary buffer, since
85790         the output cannot contain more wide characters than the input
85791         contains bytes, the size must be big enough already.  This avoids
85792         one potential size overflow calculation.  Check for size overflow
85793         when calculating temporary buffer size.  Free temporary buffer
85794         when done, if it was allocated with malloc; this plugs a memory
85795         leak.  Remove casts from void * to pointers, that are no longer
85796         needed now that we're assuming C89 or better.
85797
85798         Merge error changes from glibc.
85799
85800         * lib/error.c, error.h: Update copyright notice header to match glibc.
85801         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
85802         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
85803         Disable cancellation while printing error.
85804         * lib/error.h: Prepend __ to parameter names.
85805
85806 2003-09-26  Jim Meyering  <jim@meyering.net>
85807
85808         * lib/error.c (error_tail): Move some declarations
85809         into inner scope where the local variables are used.
85810
85811 2003-09-26  Bruno Haible  <bruno@clisp.org>
85812
85813         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85814         stpncpy().
85815         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85816
85817 2003-09-26  Bruno Haible  <bruno@clisp.org>
85818
85819         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85820         (stpncpy): Define as alias for gnu_stpncpy.
85821         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85822
85823 2003-09-25  Simon Josefsson  <jas@extundo.com>
85824
85825         * lib/xgetdomainname.h: New file.
85826         * lib/xgetdomainname.c: New file.
85827
85828 2003-09-25  Simon Josefsson  <jas@extundo.com>
85829             Bruno Haible  <bruno@clisp.org>
85830
85831         * modules/getdomainname: New file.
85832         * modules/xgetdomainname: New file.
85833         * MODULES.html.sh (func_all_modules): Add getdomainname,
85834         xgetdomainname.
85835
85836 2003-09-25  Simon Josefsson  <jas@extundo.com>
85837             Bruno Haible  <bruno@clisp.org>
85838
85839         * m4/getdomainname.m4: New file.
85840
85841 2003-09-25  Simon Josefsson  <jas@extundo.com>
85842             Bruno Haible  <bruno@clisp.org>
85843
85844         * lib/getdomainname.h: New file.
85845         * lib/getdomainname.c: New file.
85846
85847 2003-09-25  Karl Berry  <karl@gnu.org>
85848
85849         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85850
85851 2003-09-25  Karl Berry  <karl@gnu.org>
85852
85853         * config/install-sh: update from automake.
85854
85855 2003-09-25  Bruno Haible  <bruno@clisp.org>
85856
85857         * modules/version-etc-2: New file, from modules/version-etc with
85858         modifications.
85859         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85860
85861 2003-09-25  Bruno Haible  <bruno@clisp.org>
85862
85863         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85864         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85865
85866 2003-09-24  Simon Josefsson  <jas@extundo.com>
85867
85868         * modules/xgethostname: Add xgethostname.h.
85869
85870 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85871
85872         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85873         the buffer associated with the argument.  Bug reported by
85874         Simon Josefsson.
85875
85876 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85877
85878         * README: Document assumptions that 'int' is at least 32 bits
85879         wide, that integer arithmetic is 2's complement without overflow,
85880         that there are no holes in integer values, that adding sizes of
85881         two nonoverlapping objects can't overflow, and that all-bits-zero
85882         yields scalar zero.  Fix spelling and capitalization typos.
85883
85884 2003-09-19  Karl Berry  <karl@gnu.org>
85885
85886         * lib/argp.h: update from libc.
85887
85888 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85889
85890         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85891         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85892         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85893
85894 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85895
85896         * gnulib-tool: Use "test -h", not "test -L", for portability
85897         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85898         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85899         (sed_extract_prog): Issue s commands one-by-one, rather than
85900         using \| in one s command.
85901
85902 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85903
85904         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85905         input error, instead of returning NULL the next time we are called
85906         (and therefore losing track of errno).
85907
85908 2003-09-16  Bruno Haible  <bruno@clisp.org>
85909
85910         * gnulib-tool (func_create_testdir): Warn about duplicated
85911         dependencies.
85912
85913 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85914
85915         * modules/argmatch, modules/fatal, modules/obstack,
85916         modules/xalloc, modules/xgethostname: Sort dependencies by
85917         importance, not alphabetically.
85918
85919 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85920
85921         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
85922         fails, so that the caller gets the proper errno.
85923
85924         * lib/readutmp.c (read_utmp): Likewise.
85925         Check for fstat error.  Close stream and free storage
85926         when failing.
85927
85928 2003-09-14  Karl Berry  <karl@gnu.org>
85929
85930         * config/srclist.txt (strdup.c): disable for c89 changes.
85931
85932 2003-09-14  Jim Meyering  <jim@meyering.net>
85933
85934         * lib/getloadavg.c: Correct cpp indentation.
85935         * lib/strdup.c: Likewise.
85936         * lib/vasnprintf.c: Likewise.
85937
85938 2003-09-14  Bruno Haible  <bruno@clisp.org>
85939
85940         * modules/fwriteerror: New file.
85941         * MODULES.html.sh (func_all_modules): Add fwriteerror.
85942
85943 2003-09-14  Bruno Haible  <bruno@clisp.org>
85944
85945         * lib/fwriteerror.h: New file.
85946         * lib/fwriteerror.c: New file.
85947
85948 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85949
85950         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
85951         modules/xgethostname, modules/xalloc: Depend on exit.
85952
85953 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85954
85955         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
85956
85957         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
85958         and AC_MINIX, too, so that their extensions are available.
85959
85960         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
85961         This macro has been superseded by gl_BACKUPFILE.
85962
85963         More patches to assume C89 or better.
85964
85965         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
85966
85967         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
85968         unconditionally.
85969         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
85970         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
85971         Include <string.h>, <stdlib.h> unconditionally.
85972         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
85973         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
85974         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
85975         headers or for string.h.
85976         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
85977         or strtoul.
85978
85979         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
85980         headers.
85981         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
85982         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85983         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
85984         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
85985         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85986         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
85987         memcpy, memset.
85988         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
85989         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
85990         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
85991         strtol.
85992         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
85993         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
85994         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
85995         strtoul.
85996
85997 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85998
85999         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86000         * lib/obstack.c [!defined _LIBC]: Likewise.
86001         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86002         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86003         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86004
86005         More changes to assume C89 or better.
86006
86007         * lib/error.c (error_tail): Assume vprintf.
86008
86009         * lib/argmatch.c (getenv): Remove decl.
86010         * lib/progreloc.c (get_full_program_name): Define via prototype.
86011         * lib/setenv.c (clearenv): Likewise.
86012         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86013         needed.
86014         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86015         (malloc, memcpy): Remove decls.
86016         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86017         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86018         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86019         (memcpy): Remove macro.
86020         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86021         (__P): Remove.  All uses removed.
86022         (PTR): Remove.  All uses changed to void *.
86023         (CHAR_BIT, NULL): Remove.
86024         (spaces, zeros, memset_space, memset_zero)
86025         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86026         Remove.
86027         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86028         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86029         Define with prototype.
86030         Remove now-unnecessary prototype decl.
86031         (extra_args_spec): Assume ANSI C.  All uses changed.
86032         (extra_args_spec_iso): Remove.
86033         (my_strftime, emacs_strftimeu): Define via prototype.
86034         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86035         unconditionally.
86036         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86037         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86038         (strtoul, strtol): Remove decls.
86039         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86040         LONG_MAX): Remove.
86041         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86042         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86043         (LOCALE_PARAM_PROTO): New macro.
86044         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86045         (INTERNAL (strtol), strtol): Define with a prototype.
86046         (PARAMS): Remove.  All uses removed.
86047         * lib/tempname.c: Include <string.h> unconditionally.
86048         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86049         * lib/xgethostname.c (main): Define with a prototype.
86050         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86051         Include <stdlib.h> unconditionally.
86052         (calloc, malloc, realloc, free): Remove decls.
86053         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86054         Include <stdlib.h> unconditionally.  Sort include file names.
86055         (strtod): Remove.
86056         (xstrtod): Define with a prototype.
86057         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86058         (strtol, strtoul): Remove decls.
86059
86060 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86061
86062         More patches to assume C89 or better.
86063         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86064         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86065         string.h, memchr, STDC_HEADERS.
86066
86067 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86068
86069         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86070         Include <stdlib.h>, <string.h> unconditionally.
86071         Remove now-unnecessary cast to char *.
86072         * lib/strnlen.c: Include <string.h> unconditionally.
86073         * lib/yesno.c (yesno): Define with a prototype.
86074
86075 2003-09-11  Bruno Haible  <bruno@clisp.org>
86076
86077         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86078
86079 2003-09-10  Jim Meyering  <jim@meyering.net>
86080
86081         * lib/error.c: Correct indentation of cpp directives.
86082
86083 2003-09-10  Bruno Haible  <bruno@clisp.org>
86084
86085         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86086         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86087         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86088         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86089         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86090         <stdlib.h> and <string.h> checks.
86091         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86092         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86093
86094 2003-09-10  Bruno Haible  <bruno@clisp.org>
86095
86096         * lib/strcspn.c: Include <string.h> unconditionally.
86097         * lib/strpbrk.c: Include <string.h> unconditionally.
86098         * lib/strstr.c: Include <string.h> unconditionally.
86099         * lib/unicodeio.c: Include <string.h> unconditionally.
86100         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86101         * lib/unsetenv.c: Likewise.
86102         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86103         * lib/yesno.c: Include <stdlib.h> unconditionally.
86104         (rpmatch): Add prototype.
86105
86106 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86107
86108         More patches to assume C89 or better.
86109         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86110         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86111         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86112         or for string.h.
86113         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86114         stdlib.h.
86115         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86116         C headers.
86117         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86118         string.h.
86119         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86120         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86121         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86122         or for string.h.
86123         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86124         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86125         C headers.
86126         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86127         memcpy.
86128         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86129         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86130         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86131         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86132         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86133         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86134         string.h, free.
86135         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86136         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86137         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86138         C headers, or for string.h.
86139         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86140         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86141         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86142         headers, memory.h, stdlib.h, string.h, strings.h.
86143         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86144         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86145         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86146         strchr.
86147         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86148         headers, memory.h, string.h.
86149         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86150         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86151         free.
86152         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86153         headers.
86154         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86155         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86156         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86157         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86158         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86159
86160 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86161
86162         More K&R removal.
86163
86164         * lib/acosl.c (main): Use a prototype.
86165         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86166         tanl.c: Likewise.
86167
86168         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86169
86170         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86171         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86172         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86173         with a prototype.
86174         * lib/getopt.c (const): Remove macro.
86175         Include <string.h> unconditionally.
86176         (my_index): Remove; all uses changed to strchr.
86177         (strlen): Remove decl.
86178         (exchange): Remove forward decl; no longer needed.
86179         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86180         Define with prototype.
86181         * lib/getopt1.c (const): Remove macro.
86182         (getopt_long, getopt_long_only, main): Define with prototype.
86183
86184         * lib/getugroups.c: Include <string.h> unconditionally.
86185
86186         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86187         (getusershell, setusershell, endusershell, readname, main):
86188         Define with prototypes.
86189
86190         * lib/group-member.c: Include group-member.h first.
86191         Include <stdlib.h> unconditionally.
86192
86193         * lib/hard-locale.c: Include hard-locale.h first.
86194         Include <stdlib.h>, <string.h> unconditionally.
86195
86196         * lib/hash.c (free, malloc): Remove decls.
86197         Include <stdlib.h> unconditionally.
86198
86199         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86200         (getenv): Do not declare.
86201
86202         * lib/idcache.c: Include <string.h> unconditionally.
86203
86204         * lib/long-options.c: Include long-options.h first, to test interface.
86205         Include <stdlib.h> unconditionally.
86206
86207         * lib/makepath.c: Include makepath.h first, to test interface.
86208         Include <stdlib.h> and <string.h> unconditionally.
86209
86210         * lib/linebuffer.c: Include <stdlib.h>.
86211         (free): Remove decl.
86212
86213         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86214         stddef.h. rpl_malloc returns void *, not char *.
86215         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86216         prototype.
86217
86218         * lib/md5.h: Include <limits.h> unconditionally.
86219         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86220         (__P): Remove; all uses removed.
86221         * lib/md5.c: Include "md5.h" first.
86222         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86223         md5_buffer, md5_process_bytes, md5_process_block):
86224         Define with prototypes.
86225         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86226         * lib/sha.c: Include "sha.h" first.
86227         Include <stdlib.h>, <string.h> unconditionally.
86228
86229         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86230         * lib/memcmp.c (__ptr_t): Likewise.
86231         * lib/memrchr.c (__ptr_t): Likewise.
86232         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86233         Include <string.h> unconditionally.
86234         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86235         * lib/memchr.c: Include <stdlib.h> unconditionally.
86236         * lib/memchr.c (LONG_MAX): Remove.
86237         * lib/memrchr.c (LONG_MAX): Likewise.
86238         * lib/memchr.c (__memchr): Define via a prototype.
86239         * lib/memrchr.c (__memrchr): Likewise.
86240         * lib/memcmp.c (__P): Remove, and remove all uses.
86241         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86242         Remove forward decls; no longer needed.
86243         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86244         Use types required by C89 in prototype.
86245
86246         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86247         * lib/savedir.c: Likewise.
86248         * lib/mkdir.c (free): Remove decl.
86249         * lib/rmdir.c (rmdir): Define with a prototype.
86250         * lib/savedir.c: Include savedir.h first, to test interface.
86251
86252         * lib/mktime.c (STDC_HEADERS): Remove.
86253         Include <stdlib.h>, <string.h> unconditionally.
86254
86255         * lib/modechange.c: Include <stdlib.h> unconditionally.
86256         (malloc): Remove decl.
86257
86258         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86259         (free): Remove decl.
86260
86261         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86262         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86263         (This type really should be intptr_t, but that's a C99ism.)
86264         (_obstack_memcpy): Remove: all uses changed to memcpy.
86265         Include <string.h> unconditionally.
86266         (struct obstack): Assume __STDC__ for types of members
86267         chunkfun, freefun, extra_arg.
86268         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86269         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86270         obstack_begin, obstack_specify_allocation,
86271         obstack_specify_allocation_with_arg, obstack_chunkfun,
86272         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86273         Remove unprototyped decls and the macros that use them.
86274         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86275         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86276         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86277         (defined __STDC__ && __STDC__)]:
86278         Remove nonprototyped code.
86279         Include <stdlib.h> unconditionally.
86280         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86281         _obstack_allocated_p, _obstack_free, obstack_free,
86282         _obstack_memory_used, print_and_abort):
86283         Define using prototypes.
86284         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86285         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86286         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86287         obstack_next_free, obstack_object_size, obstack_room) [0]:
86288         Remove unused, unprototyped code.
86289
86290         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86291
86292         * lib/physmem.c (physmem_total, physmem_available, main): Define
86293         with prototypes.
86294
86295         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86296         (main): Define with a prototype.
86297
86298         * lib/posixver.c (getenv): Remove decl.
86299
86300         * lib/putenv.c (malloc): Returns void *, not char *.
86301         Include <string.h> unconditionally.
86302         (strchr, memcpy, NULL): Do not define.
86303
86304         * lib/readtokens.c: Include readtokens.h first, to test interface.
86305         Include <stdlib.h>, <string.h> unconditionally.
86306         (init_tokenbuffer): Define with a prototype.
86307
86308         * lib/regex.c (PARAMS): Remove.  All uses removed.
86309         All uses of _RE_ARGS removed, too.
86310         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86311         unconditionally.
86312         (bzero): Assume memset exists.
86313         (memcmp, memcpy, NULL): Remove.
86314         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86315         char, or assignments to local vars of type signed char.
86316         (init_syntax_once, PREFIX(extract_number_and_incr),
86317         PREFIX(print_partial_compiled_pattern),
86318         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86319         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86320         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86321         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86322         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86323         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86324         wcs_compile_range, byte_compile_range, truncate_wchar,
86325         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86326         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86327         count_mbs_length, wcs_re_match_2_internal,
86328         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86329         PREFIX(alt_match_null_string_p),
86330         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86331         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86332         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86333         now-unnecessary declaration, if any.
86334         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86335         regcomp, regexec):
86336         Remove now-unnecessary casts among pointer types.
86337         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86338
86339         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86340         (free): Remove decl.
86341
86342         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86343
86344         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86345         (free): Remove decl.
86346
86347         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86348         * lib/xgetcwd.c: Likewise.
86349
86350         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86351         (free): Remove decl.
86352
86353         * lib/strchrnul.c (strchrnul): Define with a prototype.
86354         Fix bug: c_in was not converted to char before searching.
86355
86356         The following changes are not K&R related:
86357
86358         * lib/group-member.h: Include <sys/types.h>, so that this file is
86359         self-contained.
86360         * lib/makepath.h: Likewise.
86361
86362         * lib/getusershell.c (readname, default_index, line_size, readname):
86363         Use size_t, not int, for sizes.
86364         (readname): If the size overflows, report an error instead of
86365         looping forever.
86366
86367 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86368
86369         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86370         libc.
86371
86372 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86373
86374         * README: New section: portability guidelines.
86375
86376 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86377
86378         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86379         C89 spec.
86380
86381 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86382
86383         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86384
86385 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86386
86387         Assume C89 or better; remove K&R cruft.
86388         A few of these changes were first proposed by Derek Robert Price
86389         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86390
86391         * lib/addext.c: Include <string.h> unconditionally.
86392         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86393         Don't declare getenv or malloc.
86394
86395         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86396         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86397         (NULL): Remove.
86398         (find_stack_direction, alloca): Use prototypes.
86399
86400         * lib/atexit.c (atexit): Define using a prototype.
86401
86402         * lib/basename.c, dirname.c, stripslash.c:
86403         Include <string.h> unconditionally.
86404
86405         * lib/bcopy.c: Include <stddef.h>.
86406         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86407
86408         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86409
86410         * lib/error.h (error, error_at_line, error_print_progname)
86411         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86412         * lib/error.c: Include error.h first, to check interface.
86413         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86414         (VA_START): Remove; all uses changeed to va_start.
86415         (exit, strerror): Remove decls.
86416         (error_print_progname): Prototype uncondionally.
86417         Don't include <errno.h>; no longer needed.
86418         (private_strerror): Remove.
86419         (error_tail): Always define.
86420         (error, error_at_line): Assume C89 or better; always use prototypes.
86421         * lib/fatal.c: Include "fatal.h" first, to test interface.
86422         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86423         (VA_START): Remove; all uses changed to va_start.
86424         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86425         this case.
86426         (exit): Remove decl.
86427         (fatal): Prototype unconditionally.  Assume va_start works.
86428         Abort at end, to pacify gcc.
86429
86430         * lib/euidaccess.c (main): Define with a prototype.
86431
86432         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86433
86434         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86435
86436         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86437         prototypes.
86438         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86439         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86440         (getenv): Remove decl.
86441         (fnmatch): Define using a prototype.
86442         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86443         (FCT): Define using a prototype.
86444
86445         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86446
86447         * lib/gethostname.c: Include <stddef.h>.
86448         (gethostname): Define with prototype.  Length is size_t, not int.
86449
86450 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86451
86452         Assume C89 or better; remove K&R cruft.
86453         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86454         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86455         string.h, getenv, malloc.
86456         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86457         headers.
86458         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86459         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86460         do not check for strerror.
86461         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86462         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86463         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86464         do not check for doprnt or vprintf.
86465         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86466         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86467
86468 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86469
86470         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86471         getversion.c should have been removed then, but was accidentally
86472         preserved.
86473
86474         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86475         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86476
86477 2003-09-08  Karl Berry  <karl@gnu.org>
86478
86479         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86480                 config, forget about prep.
86481
86482         * config/depcomp, missing: update from automake.
86483
86484 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86485
86486         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86487         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86488
86489 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86490
86491         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86492         copy_tm_result.  Bug reported by Simon Josefsson in
86493         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86494
86495 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86496
86497         * m4/time_r.m4: New file.
86498         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86499         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86500         is. Check for timegm declaration.
86501         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86502         Do not check for gmtime_r.
86503         Replace mktime if __mktime_internal does not exist and if mktime
86504         hasn't been replaced already.
86505
86506 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86507
86508         * lib/time_r.c, lib/time_r.h: New files.
86509
86510         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86511         __localtime_r.
86512         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86513         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86514
86515         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86516         __gmtime_r.
86517         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86518         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86519         Include <time_r.h>.
86520
86521         * lib/timegm.c: Switch to glibc implementation, with the following
86522         changes:
86523         [defined HAVE_CONFIG_H]: Include <config.h>.
86524         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86525         (__mktime_internal) [!defined _LIBC]: New decl.
86526         (__gmtime_r) [!defined _LIBC]: New macro and function.
86527         (timegm): Use a prototype, since gnulib assumes C89.
86528         Do not bother declaring tmp to be const, as it's not really usefu.
86529         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86530         (timegm): Declare only if HAVE_DECL_TIMEGM.
86531
86532 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86533
86534         * MODULES.html.sh (func_all_modules): Add time_r.
86535         * modules/time_r: New file.
86536         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86537         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86538
86539 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86540
86541         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86542         Bug reported by Lute Kamstra in
86543         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86544
86545         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86546         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86547         course with correspondingly smaller numbers for tomorrow and
86548         yesterday.  From Tadayoshi Funaba.  Originally installed into
86549         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86550         coreutils merge?).
86551
86552 2003-08-31  Simon Josefsson  <jas@extundo.com>
86553
86554         * modules/timegm: New file.
86555         * MODULES.html.sh (func_all_modules): Add timegm.
86556
86557 2003-08-31  Simon Josefsson  <jas@extundo.com>
86558
86559         * m4/timegm.m4: New file.
86560
86561 2003-08-31  Simon Josefsson  <jas@extundo.com>
86562
86563         * lib/timegm.h: New file.
86564         * lib/timegm.c: New file.  Based on
86565         wget-1.8.2/src/http.c:mktime_from_utc.
86566
86567 2003-08-31  Karl Berry  <karl@gnu.org>
86568
86569         * lib/argp.h: update from libc.
86570
86571 2003-08-28  Bruno Haible  <bruno@clisp.org>
86572
86573         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86574         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86575         followed by '#define fnmatch fnmatch_posix' gives an error.
86576
86577 2003-08-28  Bruno Haible  <bruno@clisp.org>
86578
86579         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86580         warning on QNX, which defines O_BINARY to 000000.
86581
86582 2003-08-27  Jim Meyering  <jim@meyering.net>
86583
86584         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86585         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86586         would fail after 32.  Reported by Danny Levinson.  Details here:
86587         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86588
86589 2003-08-24  Bruno Haible  <bruno@clisp.org>
86590
86591         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86592         MSVC7 <stdio.h> is included later.
86593
86594 2003-08-22  Simon Josefsson  <jas@extundo.com>
86595
86596         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86597
86598 2003-08-20  Karl Berry  <karl@gnu.org>
86599
86600         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86601
86602 2003-08-20  Bruno Haible  <bruno@clisp.org>
86603
86604         * modules/progname: New file.
86605         * MODULES.html.sh (func_all_modules): Add progname.
86606
86607 2003-08-20  Bruno Haible  <bruno@clisp.org>
86608
86609         * lib/progname.h: New file, from GNU gettext.
86610         * lib/progname.c: New file, from GNU gettext.
86611         * lib/progreloc.c: New file, from GNU gettext.
86612
86613 2003-08-19  Jim Meyering  <jim@meyering.net>
86614
86615         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86616         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86617
86618 2003-08-19  Bruno Haible  <bruno@clisp.org>
86619
86620         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86621         more.
86622
86623 2003-08-19  Bruno Haible  <bruno@clisp.org>
86624
86625         * lib/xstrdup.c: Assume <string.h> exists.
86626
86627 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86628
86629         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86630         in makefile rules.
86631
86632 2003-08-18  Jim Meyering  <jim@meyering.net>
86633
86634         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86635         * m4/lib-ld.m4: Likewise.
86636
86637 2003-08-18  Jim Meyering  <jim@meyering.net>
86638
86639         * lib/setenv.h: Indent nested cpp directive.
86640         * lib/vasnprintf.c: Remove trailing blanks.
86641
86642 2003-08-17  Simon Josefsson  <jas@extundo.com>
86643
86644         * modules/xstrndup: New file.
86645         * MODULES.html.sh (func_all_modules): Add xstrndup.
86646
86647 2003-08-17  Simon Josefsson  <jas@extundo.com>
86648
86649         * modules/argp: Fix autoconf macro name. Add more dependencies.
86650
86651 2003-08-17  Simon Josefsson  <jas@extundo.com>
86652
86653         * m4/xstrndup.m4: New file.
86654
86655 2003-08-17  Simon Josefsson  <jas@extundo.com>
86656
86657         * m4/argp.m4: New file.
86658
86659 2003-08-17  Simon Josefsson  <jas@extundo.com>
86660             Bruno Haible  <bruno@clisp.org>
86661
86662         * lib/xstrndup.h: New file.
86663         * lib/xstrndup.c: New file.
86664
86665 2003-08-17  Bruno Haible  <bruno@clisp.org>
86666
86667         * modules/strndup (Files, Include): Add lib/strndup.h.
86668
86669 2003-08-17  Bruno Haible  <bruno@clisp.org>
86670
86671         * modules/euidaccess (Files): Add lib/euidaccess.h.
86672
86673 2003-08-17  Bruno Haible  <bruno@clisp.org>
86674
86675         * lib/strndup.h: New file.
86676
86677 2003-08-17  Bruno Haible  <bruno@clisp.org>
86678
86679         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86680         like AC_GNU_SOURCE.
86681         * modules/extensions (configure.ac): Comment out the invocation of
86682         gl_USE_SYSTEM_EXTENSIONS.
86683
86684 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86685
86686         Merges from coreutils, etc.
86687         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86688         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86689         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86690         fixing a typo.
86691         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86692         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86693
86694 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86695
86696         Document merge from coreutils.
86697         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86698         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86699         * modules/utime: Add m4/utimes-null.m4.
86700
86701 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86702
86703         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86704         space, undoing this 2003-08-12 change:
86705         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86706
86707 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86708
86709         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86710         strtoul.c from libc, undoing this 2003-08-12 change:
86711         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86712
86713 2003-08-16  Jim Meyering  <jim@meyering.net>
86714
86715         Merges from coreutils.
86716         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86717         prefix.  Adjust cache variables similarly.  Create 500 rather than
86718         just 300 files, to exercise bug on Darwin6.5, too.
86719         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86720         $missing_dir.
86721         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86722         AM_SYS_POSIX_TERMIOS.
86723         Reported by mkc@mathdogs.com.
86724         Also change use of $am_cv_sys_posix_termios
86725         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86726         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86727         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86728         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86729         in /proc/mounts until it finds one with matching device number.  This
86730         is unnecessary when the FILE argument *is* a mount point.  No stat call
86731         is necessary in that case.  So, disable the statvfs-testing code on
86732         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86733         as RedHat bug# 84846.
86734         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86735         to 1MB, so as not to render systems with no stack size limit (e.g.,
86736         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86737         Include <unistd.h>.  On some systems,
86738         it is required for the definition of _SC_PAGESIZE.
86739
86740 2003-08-16  Jim Meyering  <jim@meyering.net>
86741
86742         Merge from coreutils.
86743         * lib/xstrtoimax.c: #else #if -> #elif.
86744         * lib/xstrtoumax.c: Likewise.
86745
86746 2003-08-16  Jim Meyering  <jim@meyering.net>
86747
86748         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86749         * m4/utimes.m4: Removed.
86750         * m4/utimes-null.m4: Renamed from utimes.m4.
86751
86752         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86753         to 1MB, so as not to render systems with no stack size limit (e.g.,
86754         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86755         Include <unistd.h>.  On some systems,
86756         it is required for the definition of _SC_PAGESIZE.
86757
86758 2003-08-16  Jim Meyering  <jim@meyering.net>
86759         and Paul Eggert  <eggert@cs.ucla.edu>
86760
86761         Merges from coreutils, etc.
86762
86763         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86764         using the latest version from cvs.  This avoids problems with #line
86765         directives using a vendor (Sun) compiler.
86766         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86767         Don't set GETGROUPS_LIB here; now it's
86768         done via getgroups.m4's wrapper function.
86769         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86770         rather than just in sh-util/configure.in, so that the
86771         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86772         same.
86773         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86774         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86775         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86776         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86777         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86778         Remove code that is now done by the newly-required macros.
86779         Append $(EXEEXT) to DF_PROG.
86780         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86781         Do not invoke or require the following here,
86782         since prereq.m4 or some gnulib .m4 now does this for us:
86783         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86784         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86785         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86786         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86787         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86788         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86789         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86790         AC_FUNC_OBSTACK.
86791         Do not replace the following functions, as this is now the job
86792         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86793         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86794         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86795         atexit getpass, strdup, getpagesize.
86796         Replace 'raise'.
86797         Do not check for the following functions, as this is now the job
86798         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
86799         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
86800         setregid.
86801         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
86802         Check for sys/sysctl.h.
86803         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
86804         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
86805         of checking for ssize_t ourselves.
86806
86807         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
86808         Require every macro that gnulib/modules/* suggests for us.
86809         (jm_PREREQ_ADDEXT): New macro.
86810         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
86811         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86812
86813         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86814         (gl_PHYSMEM): Use it.
86815         Also check for `table' function.
86816         Check for new headers and functions.
86817         Add check for sys/sysmp.h.
86818         With suggestions from Kaveh Ghazi.
86819         Ignore headers that are present but cannot be compiled.  This
86820         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86821         C 5.4.
86822
86823 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86824
86825         Document merge from coreutils.
86826         * modules/userspec: Depend on posixver.
86827         * modules/strftime: Depend on tzset.
86828
86829 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86830
86831         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86832         rather than tab, after '#' in shell-script copyright notices.
86833         Suggested by Bruno Haible.
86834
86835 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86836
86837         * config/srclist-update: Use three spaces, rather than tab, after '#'
86838         in shell-script copyright notices.  Suggested by Bruno Haible.
86839         Remove unnecessary parenthesization in regular expression.
86840
86841 2003-08-15  Jim Meyering  <jim@meyering.net>
86842
86843         Merge from coreutils.
86844         * lib/xgethostname.c: Include <stdlib.h>.
86845         (xghostname): Don't exit for anything other than memory-related
86846         failure; just return NULL.
86847         * lib/userspec.c: Include "posixver.h".
86848         (parse_user_spec): Accept `.' as a separator only
86849         in pre-POSIX-200112 mode.
86850         * lib/strtoimax.c: Use #elif rather than #else #if.
86851         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86852         Remove function, now that we can rely on a working tzset function.
86853         [!_LIBC]: Ensure that the required autoconf test has been run.
86854         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86855         Use underlying_strftime for %r.
86856         * lib/sha.c: Merge in some clean-up and optimization changes from
86857         glibc.
86858         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86859         Ensure that it is a multiple of 64.
86860         Rearrange loop exit tests so as to avoid performing an
86861         additional fread after encountering an error or EOF.
86862         * lib/realloc.c: Update copyright date.
86863
86864 2003-08-15  Jim Meyering  <jim@meyering.net>
86865         and Paul Eggert  <eggert@twinsun.com>
86866
86867         Merge from coreutils.
86868         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86869         member but strut utmpx does not.  Needed for AIX 4.3.3.
86870         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86871
86872 2003-08-15  Jim Meyering  <jim@meyering.net>
86873         and Paul Eggert  <eggert@cs.ucla.edu>
86874
86875         Merges from coreutils, etc.
86876         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86877         Require gl_FUNC_TZSET_CLOBBER.
86878         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86879         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86880         members.
86881
86882 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86883
86884         Help the merge from coreutils.
86885         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86886         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86887         * m4/tzset.m4: Use it too.
86888
86889 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86890
86891         * modules/tzset: New file.
86892
86893 2003-08-14  Jim Meyering  <jim@meyering.net>
86894
86895         Merges from coreutils.
86896         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86897         variable names, rather than @FNMATCH_H@.
86898         * modules/alloca: Likewise for $(ALLOCA_H).
86899
86900         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86901         the three copies of the literal target, `fnmatch.h'.
86902         * modules/alloca (alloca.h): Likewise.
86903
86904 2003-08-14  Jim Meyering  <jim@meyering.net>
86905
86906         Merge from coreutils.
86907         * m4/tzset.m4: New file.
86908         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86909         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86910         otherwise, AIX 5.1 systems would end up using the latter.
86911         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86912         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86913         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86914         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86915
86916 2003-08-14  Jim Meyering  <jim@meyering.net>
86917
86918         Merge from coreutils.
86919         * lib/obstack.h: Whitespace changes.
86920         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
86921         and xcalloc return values.
86922         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
86923         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
86924         hang on OSF/1 5.1 for DIR on both local and remote file systems.
86925         Reported by (and fix confirmed by) Nelson H. F. Beebe.
86926         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86927         error from mntctl.
86928         Use mntctl's return value to drive the entry-processing loop, since
86929         we can't rely on the value of the vmt_length member in the last
86930         entry.  On some systems doing so could result in exhausting
86931         virtual memory.  Based in part on a patch from Mike Jetzer.
86932
86933 2003-08-14  Jim Meyering  <jim@meyering.net>
86934         and Paul Eggert  <eggert@twinsun.com>
86935
86936         Merges from coreutils, plus other fixes.
86937         * lib/physmem.c: Merge in portability changes from gcc/libiberty
86938         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
86939         for credits and details.  Thanks to Kaveh Ghazi for helping
86940         to keep these files in sync.
86941         (ARRAY_SIZE): Define it.
86942         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
86943         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
86944         (memcasecmp): Don't assume size_t fits in unsigned int.
86945         Remove casts and duplicate code.
86946         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
86947         (memcpy): Remove definition.
86948         Merge in some clean-up and optimization changes from glibc.
86949         [BLOCKSIZE]: Move definition to top of file.
86950         Ensure that it is a multiple of 64.
86951         Rearrange loop exit tests so as to avoid performing an
86952         additional fread after encountering an error or EOF.
86953         * lib/md5.h (md5_uintptr): Define.
86954         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
86955         return to the initial working directory.  Preserve errno
86956         for caller.
86957         * lib/idcache.c: Include "xalloc.h".
86958         (xmalloc, xrealloc): Remove decls.
86959         (getuser): Remove casts no longer required in C89.
86960         * lib/human.c: Include stdio.h, for sprintf.
86961         * lib/group-member.c: Include "xalloc.h".
86962         (xmalloc, xrealloc): Remove decls.
86963         (get_group_info): Remove casts no longer required in C89.
86964         * lib/getusershell.c (readname): Remove casts no longer required in
86965         C89.
86966         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
86967         * lib/getline.c: Whitespace fix, from coreutils.
86968
86969 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86970
86971         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
86972         Check for isascii.
86973
86974         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86975         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86976         Undo previous (whitespace-only) change.
86977
86978 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86979
86980         * lib/exclude.c: Include <ctype.h>
86981         (IN_CTYPE_DOMAIN): New macro.
86982         (is_space): New fn.
86983         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
86984         and empty lines.
86985
86986         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86987         Undo previous (whitespace-only) change.
86988
86989 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86990
86991         * config/srclist-update: Change update back to the old behavior,
86992         leaving whitespace alone.  Use one 'sed' command rather than a
86993         pipeline.
86994         (fixlicense): Now a variable, not a function.
86995         (remove_trailing_blanks): Remove.
86996         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
86997         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86998         Undo previous (whitespace-only) change.
86999
87000 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87001
87002         Merge from coreutils.
87003         * modules/euidaccess: Add lib_SOURCES, include for new
87004         file euidaccess.h
87005
87006 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87007
87008         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87009         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87010         Normalize leading white space and remove trailing white space.
87011
87012         Merge from coreutils
87013         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87014
87015         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87016         0.12.1.  These files are now being upgraded automatically by
87017         ../config/srclist-update.
87018
87019 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87020
87021         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87022         Normalize leading white space and remove trailing white space.
87023         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87024         notice, as per ../config/srclist-update.
87025
87026         Merge from coreutils.
87027         * lib/euidaccess.h: New file.
87028         * lib/euidaccess.c: Include it.
87029         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87030         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87031         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87032
87033 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87034
87035         * config/srclist-update: Add copyright notice.
87036         (remove_id_lines, remove_trailing_blanks): New constants.
87037         (fixfile): Use them to normalize spacing a bit in copied files.
87038         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87039         Normalize leading white space and remove trailing white space.
87040
87041         * config/texinfo.tex: Sync with texinfo.
87042
87043         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87044         strtoul.c from libc, to merge coreutils whitespace changes.
87045
87046         * config/srclist.txt: Get the following m4 files from gettext:
87047         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87048         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87049         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87050         wint_t.m4.
87051
87052 2003-08-12  Karl Berry  <karl@gnu.org>
87053
87054         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87055         been made.
87056
87057 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87058
87059         * modules/gnu-source, m4/gnu-source.m4:
87060         Remove; we're assuming Autoconf 2.54 or later now.
87061         Suggested by Bruno Haible.
87062         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87063
87064 2003-08-11  Bruno Haible  <bruno@clisp.org>
87065
87066         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87067
87068 2003-08-11  Bruno Haible  <bruno@clisp.org>
87069
87070         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87071         (vasnprintf): Use it instead of wcslen.
87072
87073 2003-08-11  Bruno Haible  <bruno@clisp.org>
87074
87075         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87076         value to ensure that _Bool promotes to int. Use #define for _Bool when
87077         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87078
87079 2003-08-10  Karl Berry  <karl@gnu.org>
87080
87081         * lib/regex.h: update from libc (whitespace fix).
87082
87083 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87084
87085         Merge some files from coreutils.  These changes were
87086         originally made by Jim Meyering.
87087         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87088         many older Unixes require this.
87089         * lib/alloca.c (alloca): Remove cast to argument of free;
87090         no longer needed in C89.
87091         * lib/alloca_.h, regex.h: Fix white space to match
87092         what GNU indent does.
87093
87094 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87095
87096         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87097         apparently Emacs's Unicode mode got confused before my 2003-08-05
87098         checkin.
87099
87100 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87101
87102         * m4/extensions.m4: New file.
87103         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87104         Require gl_USE_SYSTEM_EXTENSIONS.
87105         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87106         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87107
87108 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87109
87110         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87111         * modules/extensions, modules/gnu-source: New files.
87112         * modules/timespec, modules/unlocked-io: Depend on extensions.
87113
87114 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87115
87116         * modules/restrict: New file.
87117         * MODULES.html.sh (func_all_modules): Add restrict.
87118         * modules/regex: Depend on restrict.
87119
87120 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87121
87122         * m4/restrict.m4: New file.
87123         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87124
87125 2003-08-07  Bruno Haible  <bruno@clisp.org>
87126
87127         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87128         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87129
87130 2003-08-07  Bruno Haible  <bruno@clisp.org>
87131
87132         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87133         makes the module 'getndelim2' compatible with the module 'getline'.
87134
87135 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87136
87137         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87138         byte with "\201" to avoid glitches when editing that source file
87139         with multi-gnome-terminal.
87140
87141 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87142
87143         * lib/bumpalloc.h: Remove.
87144
87145 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87146
87147         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87148         * modules/bumpalloc: Remove.
87149
87150 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87151
87152         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87153         GNU coding style.
87154
87155         Merge from coreutils.
87156         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87157         1. From glibc.
87158         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87159         from Karl Berry, implemented by Jim Meyering.
87160         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87161         from Dmitry V. Levin.
87162         Remove anachronistic cast of xrealloc.
87163         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87164         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87165         type. Otherwise, it wouldn't compile with at least /bin/cc on
87166         ymp-cray-unicos9.0.2.X.
87167         Combine two mostly-identical uses of alloca into one.
87168         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87169
87170 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87171
87172         [From Emacs.]
87173
87174         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87175         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87176         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87177         obsolete NLIST_NAME_UNION.
87178         [__GNU__]: Undef BSD and FSCALE.
87179         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87180
87181 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87182
87183         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87184         an enum type, so that it's guaranteed to promote to int.  See:
87185         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87186
87187 2003-08-03  Karl Berry  <karl@gnu.org>
87188
87189         * config/depcomp: update from automake.
87190
87191 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87192
87193         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87194         (strerror): Don't assume that a printable int fits in 14 bytes.
87195
87196 2003-07-31  Bruno Haible  <bruno@clisp.org>
87197
87198         * modules/getpass-gnu: New file.
87199         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87200
87201 2003-07-31  Bruno Haible  <bruno@clisp.org>
87202
87203         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87204
87205 2003-07-24  Karl Berry  <karl@gnu.org>
87206
87207         * config/missing: update from automake.
87208
87209 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87210             Bruno Haible  <bruno@clisp.org>
87211
87212         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87213         * lib/getline.c (getline, getdelim): Likewise.
87214         Remove _GNU_SOURCE define; now it's defined in config.h through
87215         m4/getline.m4.
87216
87217 2003-07-23  Karl Berry  <karl@gnu.org>
87218
87219         * config/config.sub: update from prep.
87220
87221 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87222
87223         * modules/xalloc (Depends-on): Add exitfail.
87224         * modules/xmemcoll: Likewise.
87225
87226 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87227
87228         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87229         over-parenthesization in macros.
87230
87231         Sync with coreutils.
87232
87233         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87234         required by C99.
87235
87236         Use `exit_failure' for xalloc and xmemcoll instead of their own
87237         private exit-failure variables.
87238         * lib/xalloc.h (xalloc_exit_failure): Remove.
87239         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87240         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87241         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87242         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87243         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87244
87245 2003-07-20  Jim Meyering  <jim@meyering.net>
87246
87247         * modules/closeout (Depends-on): Add exitfail.
87248         Suggestion from Bruno Haible.
87249
87250 2003-07-19  Karl Berry  <karl@gnu.org>
87251
87252         * config/config.sub: update from prep.
87253
87254 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87255
87256         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87257         Remove.
87258         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87259         to test that it can stand by itself.  Include "exitfail.h".
87260         Clients should set exit_failure instead.
87261         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87262
87263 2003-07-18  Bruno Haible  <bruno@clisp.org>
87264
87265         * modules/getndelim2: New file.
87266         * modules/getline: Share files with module getndelim2.
87267         * modules/getnline: Depend on getndelim2 instead of sharing files with
87268         it. Add getnline.c to lib_SOURCES.
87269         * MODULES.html.sh (func_all_modules): Add getndelim2.
87270
87271 2003-07-18  Bruno Haible  <bruno@clisp.org>
87272
87273         * m4/getndelim2.m4: New file.
87274         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87275         invoke gl_PREREQ_GETNDELIM2.
87276         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87277         gl_PREREQ_GETNDELIM2.
87278         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87279         gl_GETNDELIM2.
87280
87281 2003-07-18  Bruno Haible  <bruno@clisp.org>
87282
87283         * lib/getndelim2.h: New file.
87284         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87285         getndelim2.h.
87286         (getndelim2): Make non-static. Change return type to ssize_t.
87287         * lib/getline.h: Change argument names.
87288         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87289         * lib/getnline.c: Include getndelim2.h.
87290
87291 2003-07-18  Andreas Schwab  <schwab@suse.de>
87292
87293         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87294
87295 2003-07-17  Karl Berry  <karl@gnu.org>
87296
87297         * config/config.sub: update from prep.
87298
87299 2003-07-17  Bruno Haible  <bruno@clisp.org>
87300
87301         * modules/getnline: New file.
87302         * modules/getline: Add lib/getndelim2.c to source file list.
87303         * MODULES.html.sh (func_all_modules): Add getnline.
87304
87305 2003-07-17  Bruno Haible  <bruno@clisp.org>
87306
87307         * m4/getnline.m4: New file.
87308
87309 2003-07-17  Bruno Haible  <bruno@clisp.org>
87310
87311         * m4/Makefile.am.in: Remove file.
87312         * m4/Makefile.am: Remove file.
87313         * m4/Makefile.in: Remove file.
87314
87315 2003-07-17  Bruno Haible  <bruno@clisp.org>
87316
87317         * lib/getnline.h: New file.
87318         * lib/getnline.c: New file.
87319         * lib/getndelim2.c: New file, extracted from getline.c.
87320         (getndelim2): Renamed from getdelim2, with added nmax argument.
87321         * lib/getline.c: Include getndelim2.c.
87322         (getdelim2): Moved out to getndelim2.c.
87323         (getline, getdelim): Update.
87324
87325 2003-07-17  Bruno Haible  <bruno@clisp.org>
87326
87327         * lib/Makefile.am: Remove file.
87328         * lib/Makefile.in: Remove file.
87329
87330 2003-07-17  Bruno Haible  <bruno@clisp.org>
87331
87332         * configure.in: Remove file.
87333         * Makefile.in: Remove file.
87334
87335 2003-07-17  Bruno Haible  <bruno@clisp.org>
87336
87337         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87338
87339 2003-07-16  Karl Berry  <karl@gnu.org>
87340
87341         * config/srclist-update: was running fixlicense twice, which caused
87342                 texinfo.tex to be nullified for some reason.  Simplify,
87343                 $gplsrc is no longer needed as far as I can see?
87344
87345 2003-07-16  Jim Meyering  <jim@meyering.net>
87346
87347         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87348
87349 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87350
87351         * config/srclist.txt: Get the following files from gettext-runtime/intl
87352         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87353         ref-del.sin.  From Bruno Haible.
87354         * config/srclist-update (fixfile): Change grep pattern again, since the
87355         previous fix didn't work (there was another trailing $).  Use
87356         '[$]' to escape the $s.
87357
87358 2003-07-15  Karl Berry  <karl@gnu.org>
87359
87360         * lib/vasnprintf.c: update from gettext.
87361
87362 2003-07-15  Karl Berry  <karl@gnu.org>
87363
87364         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87365         gets expanded when surrounded by '$'.
87366
87367 2003-07-15  Jim Meyering  <jim@meyering.net>
87368
87369         * modules/save-cwd: Don't depend on error.  From Derek Price.
87370
87371 2003-07-15  Jim Meyering  <jim@meyering.net>
87372
87373         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87374
87375 2003-07-14  Simon Josefsson  <jas@extundo.com>
87376
87377         * modules/mempcpy: New file.
87378         * MODULES.html.sh (func_all_modules): Add mempcpy.
87379
87380 2003-07-14  Simon Josefsson  <jas@extundo.com>
87381
87382         * m4/mempcpy.m4: New file.
87383
87384 2003-07-14  Simon Josefsson  <jas@extundo.com>
87385
87386         * lib/mempcpy.h: New file.
87387         * lib/mempcpy.c: New file.
87388
87389 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87390
87391         * modules/getdate, modules/posixtm: Depend on mktime.
87392
87393 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87394
87395         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87396         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87397         unicodeio.c, unicodeio.h, unlocked-io.h:
87398         Switch from LGPL to GPL.
87399
87400 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87401
87402         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87403         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87404         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87405         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87406         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87407         updated automatically by ../config/srclist-update.  This changes
87408         their license from LPGL to GPL.
87409
87410 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87411
87412         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87413         assumed to refer to the root of the most recent stable gettext version.
87414         * config/srclistvars.sh: Add defaults for eggert.
87415         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87416         Match "This program" as well as "The program".  This is needed
87417         for gettext.
87418
87419 2003-07-14  Jim Meyering  <jim@meyering.net>
87420
87421         Don't emit diagnostics.  Let callers do that.
87422         * lib/save-cwd.c: Don't include "error.h".
87423         (save_cwd): Don't call error.  Ensure that errno is valid
87424         when returning nonzero.
87425
87426         * lib/save-cwd.h (restore_cwd): Update prototype.
87427         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87428         Simplify.  Don't call error upon failure.  Let callers do that.
87429         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87430         when auditing is enabled.  But don't bother updating the #if.
87431
87432 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87433
87434         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87435         it breaks C++ compilation.
87436         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87437
87438 2003-07-10  Simon Josefsson  <jas@extundo.com>
87439
87440         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87441
87442 2003-07-10  Jim Meyering  <jim@meyering.net>
87443
87444         * m4/clock_time.m4: Remove trailing blank.
87445         * m4/intmax_t.m4: Likewise.
87446
87447 2003-07-10  Jim Meyering  <jim@meyering.net>
87448
87449         * lib/vasnprintf.c: Remove trailing blanks.
87450         Make cpp indentation consistent.
87451
87452 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87453
87454         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87455         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87456         Switch from LGPL to GPL.
87457
87458 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87459
87460         * config/srclist.txt: Sort sublists.  Add
87461         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87462         that differ from gnulib for one reason or another; we'd like this list
87463         to be smaller but for now let's document what we have.
87464
87465 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87466
87467         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87468         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87469         and sweeter "eval x=$x".
87470         * config/srclist.txt: Get lib/argp* from glibc.
87471
87472 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87473
87474         * lib/mktime.c: Fix some boundary cases and remove need for floating
87475         point.
87476
87477         Issue a compile-time diagnostic if time_t is floating point, or if
87478         two's complement arithmetic is not in effect, or if arithmetic
87479         right shift does not propagate the sign.  These assumptions were
87480         all in the original code but they weren't checked.
87481
87482         (TIME_T_MIDPOINT, verify): New macros.
87483         (__isleap): Remove; it has integer overflow problems.
87484         (leapyear): New function, without those problems.
87485         (ydhms_tm_diff): Remove; splitting into two parts.
87486         (ydhms_diff): New function, containing the arithmetic part of
87487         the old ydhms_tm_diff function.  Issue a compile-time
87488         diagnostic if we are not using C99 integer division.
87489         Avoid casts when possible.
87490         (guess_time_tm): New function, containing the checking part of
87491         the old ydhms_tm_diff function.  Return the new value, rather than
87492         the difference between it and the old.  Accept a new argument T
87493         so that *T specifies the old value.  Check for overflow in the result.
87494
87495         (__mktime_internal): Use a time_t offset, not a long int offset.
87496         This undoes the 2003-06-04 change, which is no longer needed now
87497         that we have better overflow checking.
87498         (localtime_offset): Likewise.
87499
87500         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87501         and long are 64-bit but int is only 32-bit.
87502         (ydhms_diff): Use long int to store year1 and yday1.
87503         Issue a compile-time diagnostic if long int is not wide enough.
87504
87505         (__mktime_internal): Use long int to store adjusted year and yday.
87506         Use plain C rather than preprocessor commands, if that doesn't
87507         affect efficiency.
87508         Check for overflow (and try to repair) after each probe
87509         rather than checking only at the very end.  This avoids some bugs
87510         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87511         does not equal GMT offset at maximum time).
87512         Use integer to check for overflow rather than floating point; this
87513         is more portable to non-IEEE hosts, and is a tad faster.
87514         When we detect that we are oscillating between two values,
87515         don't check whether tm_isdst has the requested value, since
87516         we already know the answer.  When tm_isdst has the wrong value,
87517         use a different heuristic to find the right one, based on the
87518         extreme values actually observed in practice in tz2003a,
87519         rather than the (overly optimistic) "previous 3 calendar quarters".
87520
87521         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87522         "T const" to accommodate glibc style.
87523         (check_result): Use less-confusing report format.  "long" -> "long int.
87524         (main): Likewise.
87525         Don't loop if the iteration overflows time_t.
87526         Allow a negative step in the iteration.
87527
87528 2003-07-06  Karl Berry  <karl@gnu.org>
87529
87530         * config/depcomp: update from automake.
87531         * config/config.sub: update from prep.
87532
87533 2003-07-03  Karl Berry  <karl@gnu.org>
87534
87535         * config/config.guess: update from prep.
87536
87537 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87538
87539         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87540         xreadlink.c now includes it unconditionally.
87541
87542 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87543
87544         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87545         having it depend on HAVE_SYS_TYPES_H.
87546
87547 2003-07-01  Bruno Haible  <bruno@clisp.org>
87548
87549         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87550         <sys/types.h> should be sufficient.
87551         Reported by Paul Eggert.
87552
87553 2003-06-26  Karl Berry  <karl@gnu.org>
87554
87555         * config/depcomp: update from automake.
87556
87557 2003-06-26  Bruno Haible  <bruno@clisp.org>
87558
87559         * modules/human: Depend on module stdbool.
87560
87561 2003-06-25  Bruno Haible  <bruno@clisp.org>
87562
87563         * modules/readlink: New file.
87564         * modules/xreadlink: Depend on it.
87565         * MODULES.html.sh (func_all_modules): Add readlink.
87566
87567 2003-06-25  Bruno Haible  <bruno@clisp.org>
87568
87569         * m4/readlink.m4: New file.
87570
87571 2003-06-25  Bruno Haible  <bruno@clisp.org>
87572
87573         * lib/readlink.c: New file.
87574
87575 2003-06-22  Karl Berry  <karl@gnu.org>
87576
87577         * config/srclist.txt: update mkinstalldirs from automake.
87578         * config/mkinstalldirs: update.
87579
87580 2003-06-22  Bruno Haible  <bruno@clisp.org>
87581
87582         Portability to mingw32.
87583         * m4/ssize_t.m4: New file, from GNU gettext.
87584         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87585         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87586
87587 2003-06-22  Bruno Haible  <bruno@clisp.org>
87588
87589         * modules/safe-read: Add m4/ssize_t.m4.
87590         * modules/xreadlink: Add m4/ssize_t.m4.
87591
87592 2003-06-20  Bruno Haible  <bruno@clisp.org>
87593
87594         Assume C89, so PARAMS isn't needed.
87595         * lib/unicodeio.h (PARAMS): Remove.
87596         * lib/unicodeio.c: Don't use PARAMS.
87597
87598 2003-06-18  Karl Berry  <karl@gnu.org>
87599
87600         * config/config.{guess,sub}: update from prep.
87601
87602 2003-06-18  Jim Meyering  <jim@meyering.net>
87603
87604         Merge changes from coreutils.
87605         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87606         Remove explicit declarations of xmalloc and realloc.
87607         Include xalloc.h.
87608         (read_utmp): Remove anachronistic cast of xmalloc.
87609
87610 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87611
87612         Assume C89, so PARAMS isn't needed.
87613         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87614         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87615         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87616         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87617         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87618         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87619         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87620         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87621         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87622         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87623         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87624         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87625         no longer needed. Anyway, config.h should always be included before any
87626         other file.
87627
87628 2003-06-11  Simon Josefsson  <jas@extundo.com>
87629
87630         * modules/sysexits: New file.
87631         * MODULES.html.sh (func_all_modules): Add sysexits.
87632
87633 2003-06-11  Simon Josefsson  <jas@extundo.com>
87634
87635         * lib/sysexit_.h: New file.
87636
87637 2003-06-11  Derek Price  <derek@ximbiot.com>
87638
87639         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87640         necessary.
87641
87642 2003-06-11  Bruno Haible  <bruno@clisp.org>
87643
87644         * m4/sysexits.m4: New file.
87645
87646 2003-06-10  Simon Josefsson  <jas@extundo.com>
87647
87648         * lib/argp.h: New file, from glibc.
87649         * lib/argp-ba.c: New file, from glibc.
87650         * lib/argp-eexst.c: New file, from glibc.
87651         * lib/argp-fmtstream.c: New file, from glibc.
87652         * lib/argp-fmtstream.h: New file, from glibc.
87653         * lib/argp-fs-xinl.c: New file, from glibc.
87654         * lib/argp-help.c: New file, from glibc.
87655         * lib/argp-namefrob.h: New file, from glibc.
87656         * lib/argp-parse.c: New file, from glibc.
87657         * lib/argp-pv.c: New file, from glibc.
87658         * lib/argp-pvh.c: New file, from glibc.
87659         * lib/argp-xinl.c: New file, from glibc.
87660
87661 2003-06-10  Simon Josefsson  <jas@extundo.com>
87662
87663         * modules/strchrnul: New file.
87664
87665 2003-06-10  Simon Josefsson  <jas@extundo.com>
87666
87667         * modules/argp: New file.
87668
87669 2003-06-10  Simon Josefsson  <jas@extundo.com>
87670
87671         * m4/strchrnul.m4: New file.
87672
87673 2003-06-10  Simon Josefsson  <jas@extundo.com>
87674
87675         * lib/strchrnul.h: New file.
87676         * lib/strchrnul.c: New file.
87677
87678 2003-06-10  Bruno Haible  <bruno@clisp.org>
87679
87680         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87681
87682 2003-06-07  Karl Berry  <karl@gnu.org>
87683
87684         * config/config.{guess,sub}: update from prep.
87685
87686 2003-06-07  Jim Meyering  <jim@meyering.net>
87687
87688         * modules/strtod: Use $(...) notation, not @...@ for
87689         AC_REPLACE'd variables.
87690         * modules/localcharset: Likewise.
87691
87692 2003-06-07  Jim Meyering  <jim@meyering.net>
87693
87694         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87695         in place of my name in the copyright comment.
87696         Remove definition and uses of __P.
87697
87698         From coreutils.
87699         * lib/stat.c: Don't declare xmalloc explicitly.
87700         Instead, include "xalloc.h".
87701         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87702         xrealloc, and xcalloc return values.
87703         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87704         Improve comment.
87705         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87706
87707 2003-06-07  Bruno Haible  <bruno@clisp.org>
87708
87709         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87710         avoid AC_CONFIG_LINKS.
87711         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87712         fnmatch.h, to avoid AC_CONFIG_LINKS.
87713         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87714
87715 2003-06-07  Bruno Haible  <bruno@clisp.org>
87716
87717         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87718         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87719         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87720         directory.
87721         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87722         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87723         directory.
87724
87725 2003-06-06  Jim Meyering  <jim@meyering.net>
87726
87727         Merge from coreutils.
87728         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87729         Consolidate declarations and initializations of *_base* locals.
87730
87731         Merge from coreutils.
87732         This avoids a core dump on systems without GNU putenv,
87733         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87734         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87735         (unsetenv): New static function, from GNU libc.
87736         (rpl_putenv): Use it.
87737
87738         * lib/modechange.c: Remove trailing blanks.
87739
87740         Merge from coreutils.
87741         * lib/fsusage.c: Remove declaration of statfs.
87742         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87743
87744         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87745
87746 2003-06-06  Jim Meyering  <jim@meyering.net>
87747
87748         * lib/stdbool_.h: Renamed from stdbool.h.in.
87749
87750 2003-06-06  Jim Meyering  <jim@meyering.net>
87751             Bruno Haible  <bruno@clisp.org>
87752
87753         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87754         Adjust Makefile.am snippet not to redirect directly to target.
87755         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87756
87757 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87758
87759         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87760         mismatch, look in future quarters as well as past.  This fixes a
87761         bug when processing fall-backwards gaps immediately after a long
87762         period of daylight-saving time.
87763
87764         * lib/mktime.c: Assume freestanding C89 or better.
87765         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87766         (__P): Remove; not used.
87767         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87768         (mktime, not_equal_tm, print_tm, check_result,
87769         main): Use prototypes.  Use const * where appropriate.
87770         (main): Fix typo in testing code that uncovered by above changes.
87771         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87772
87773 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87774
87775         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87776         locale.h, localeconv.  This merges changes from coreutils.
87777
87778         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87779         It can be removed after the next Autoconf is released.
87780         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87781         needed.
87782
87783 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87784
87785         * lib/mktime.c: Fix Debian bug 177940
87786         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87787         (localtime_offset): Now long int, not time_t, because we want it
87788         to be guaranteed to be signed.  All uses changed.
87789         (__mktime_internal): If overflow would occur when adding offset,
87790         don't add it.
87791
87792         Merge 'human' changes from coreutils.  Rewrite to support
87793         locale-specific notations like thousands separators.
87794         * lib/human.c: Simplify authorship notice.
87795         Include human.h immediately after config.h.
87796         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87797         <limits.h>: Do not include, since human.h does.
87798         (SIZE_MAX, UINTMAX_MAX): New macros.
87799         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
87800         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
87801         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
87802         (power_letter): Renamed from suffixes.
87803         (generate_suffix_backwards): Remove.
87804         (adjust_value): Now takes int style (because of human.h changes)
87805         and long double value (for greater precision on some platforms).
87806         (group_number): New function.
87807         (human_readable): Use it.  Use integer options, not enum.
87808         Put the options before the sizes in the arg list.
87809         Support all the new options.
87810         The old human_readable function has been removed;
87811         use inttostr.h instead.
87812         (human_readable, default_block_size, humblock):
87813         Use uintmax_t, not int, for block sizes.
87814         (human_readable_inexact, block_size_types): Remove.
87815         (block_size_opts): New constant.
87816         (human_options): Renamed from human_block_size, with new signature
87817         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87818         * lib/human.h: Add copyright and authorship notice.
87819         Include <limits.h> and <stdbool.h> unconditionally.
87820         (PARAMS): Remove.  All uses removed.
87821         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87822         (enum human_inexact_style): Remove tag; now a nameless enum.
87823         (human_floor, human_ceiling, human_round_to_even): Now have
87824         values 2, 0, 1 rather than -1, 1, 0.
87825         (human_group_digits, human_suppress_point_zero, human_autoscale,
87826         human_base_1024, human_SI, human_B): New constants.
87827         (human_readable_inexact, human_block_size): Remove.
87828         (human_readable): Size args are now uintmax_t, not int.
87829         (human_options): New decl.
87830
87831         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87832         unnecessary now that we assume C89 or better.  This change
87833         imported from coreutils.
87834
87835         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87836         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87837         in the 2003-05-30 sync from glibc.
87838
87839         .h files should stand alone, but we shouldn't include <sys/types.h>
87840         if we can get away with just <stddef.h>.
87841
87842         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87843         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87844         rather than <sys/types.h>, as we merely need size_t.
87845         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87846         to get size_t.
87847         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87848         Include <stdio.h>, to get FILE.
87849         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87850         memcasecmp.h has included <stddef.h> and all we need is size_t.
87851         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87852         our interface, instead of including <sys/types.h>
87853
87854 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87855
87856         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87857         now, as glibc mktime is buggy on non-glibc systems.
87858
87859 2003-06-03  Karl Berry  <karl@gnu.org>
87860
87861         * config/config.sub: update from prep.
87862
87863 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87864
87865         [from coreutils]
87866         Fix some minor time-related bugs with POSIX time arguments.
87867         Some valid time stamps were being rejected (notably -1, and
87868         time stamps before 1900 on 64-bit hosts).  And some invalid
87869         time stamps were being accepted, e.g. September 31.
87870
87871         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87872         that we can return (time_t) -1 successfully.
87873         * lib/posixtm.c: Likewise.
87874         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87875         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87876         (t): Remove static var.
87877         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87878         of static var.  All uses changed.
87879         (year): Do not reject years before 1900; they can occur with
87880         64-bit time_t.
87881         (posix_time_parse): Do not check for out-of-range components;
87882         that is now the caller's responsibility, since our checks were
87883         only approximations.
87884         (posixtime): Use mktime to check for out-of-range components,
87885         since it knows them exactly.
87886         If mktime returns (time_t) -1, check whether an error actually occurred
87887         by invoking localtime on -1.
87888         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87889         posixtime failures better.
87890         Improve the test data (in comments only).
87891
87892 2003-06-02  Karl Berry  <karl@gnu.org>
87893
87894         * config/mkinstalldirs (version): new variable.
87895         (--version): new option.
87896         (usage): improve message.
87897
87898 2003-05-30  Karl Berry  <karl@gnu.org>
87899
87900         * lib/mktime.c: update from libc.
87901
87902 2003-05-30  Bruno Haible  <bruno@clisp.org>
87903
87904         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87905         * config/config.rpath: Upgrade to gettext-0.12.1.
87906
87907 2003-05-30  Bruno Haible  <bruno@clisp.org>
87908
87909         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87910         * m4/nls.m4: New file, from gettext-0.12.1.
87911         * m4/po.m4: New file, from gettext-0.12.1.
87912         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87913
87914 2003-05-30  Bruno Haible  <bruno@clisp.org>
87915
87916         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
87917         * lib/localcharset.h: Likewise.
87918         * lib/localcharset.c: Likewise.
87919
87920 2003-05-29  Karl Berry  <karl@gnu.org>
87921
87922         * config/config.rpath: update from gettext.
87923
87924 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87925
87926         Assume the headers required for C89 freestanding compilers.
87927         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
87928         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
87929         * m4/human.m4 (gl_HUMAN): Likewise.
87930         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
87931         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
87932         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87933         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
87934         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87935         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
87936
87937 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87938
87939         Assume the headers required for C89 freestanding compilers.
87940         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
87941         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
87942         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
87943         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
87944         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
87945         define, since <limits.h> is guaranteed to do that.
87946         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
87947         * lib/exclude.c: Include <stdbool.h> unconditionally.
87948         * lib/tempname.c: Include <stddef.h> unconditionally.
87949         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
87950         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
87951         <stddef.h> does that.
87952         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
87953         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
87954         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
87955         needed.
87956         * lib/xstrtol.c: Likewise.
87957         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
87958         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
87959
87960         * lib/addext.c (addext): Use assignment rather than cast, to avoid
87961         warnings on some platforms.
87962
87963         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87964         arbitrarily.
87965
87966 2003-05-26  Jim Meyering  <jim@meyering.net>
87967
87968         Merge in a change from coreutils:
87969         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
87970         that is guaranteed to be `no'.  Use `no_such_member' to indicate
87971         that condition, rather than `-1' which is slightly misleading.
87972         Change the name of the cache variable to have the gl_ prefix.
87973         Prompted by a patch from Richard Dawe for DJGPP.
87974
87975 2003-05-24  Karl Berry  <karl@gnu.org>
87976
87977         * config/config.guess: update from prep.
87978
87979 2003-05-22  Karl Berry  <karl@gnu.org>
87980
87981         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
87982
87983 2003-05-20  Karl Berry  <karl@gnu.org>
87984
87985         * config/config.guess: update from prep.
87986
87987 2003-05-18  Karl Berry  <karl@gnu.org>
87988
87989         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
87990         might actually be set by the user.
87991
87992         * config/depcomp, install-sh, mdate-sh: update from automake.
87993
87994 2003-05-17  Bruno Haible  <bruno@clisp.org>
87995
87996         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
87997         invalid expansion for AC_EGREP_CPP.
87998         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
87999         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88000         Suggested by Akim Demaille <akim@epita.fr> in
88001         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88002
88003 2003-05-12  Jim Meyering  <jim@meyering.net>
88004
88005         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88006         the space-padded-by-default conversion specifiers, %e, %k, %l.
88007
88008 2003-05-12  Bruno Haible  <bruno@clisp.org>
88009
88010         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88011         the string is longer than 4 KB.
88012
88013 2003-05-11  Karl Berry  <karl@gnu.org>
88014
88015         * config/config.{guess,sub}: update from prep.
88016
88017 2003-05-09  Bruno Haible  <bruno@clisp.org>
88018
88019         * modules/error: Add m4/strerror_r.m4 to file list.
88020
88021 2003-05-03  Bruno Haible  <bruno@clisp.org>
88022
88023         Upgrade to Unicode-4.0.
88024         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88025         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88026         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88027         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88028         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88029         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88030         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88031         Change width of U+E0100..U+E01EF from 1 to 0.
88032
88033 2003-04-25  Jim Meyering  <jim@meyering.net>
88034
88035         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88036         of type size_t, not int.
88037
88038 2003-04-25  Bruno Haible  <bruno@clisp.org>
88039
88040         * lib/copy-file.c: Include <stddef.h>, for size_t.
88041
88042 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88043
88044         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88045         code which expansion is under static control.  Patch imported from
88046         Akim Demaille's patch to Bison; see
88047         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88048
88049 2003-04-14  Bruno Haible  <bruno@clisp.org>
88050
88051         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88052
88053 2003-04-11  Jim Meyering  <jim@meyering.net>
88054
88055         Merge changes from Coreutils.
88056
88057         2003-03-22  Jim Meyering  <jim@meyering.net>
88058
88059         * lib/strftime.c (widen): Cast alloca return value to proper type.
88060
88061         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88062
88063         From GNU libc.
88064         * lib/strftime.c (my_strftime): Handle very large width
88065         specifications for numeric values correctly.  Improve checks for
88066         overflow.
88067
88068         2003-01-19  Jim Meyering  <jim@meyering.net>
88069
88070         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88071         definitions.
88072         (nl_get_alt_digit) [! defined my_strftime]: Define.
88073         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88074         _nl_get_alt_digit and _nl_get_walt_digit.
88075
88076         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88077         libc. These changes have no effect outside of _LIBC.
88078
88079 2003-04-10  Bruno Haible  <bruno@clisp.org>
88080
88081         * modules/findprog: New file.
88082         * MODULES.html.sh (func_all_modules): Add it.
88083
88084 2003-04-10  Bruno Haible  <bruno@clisp.org>
88085
88086         * m4/findprog.m4: New file.
88087         * m4/eaccess.m4: New file.
88088
88089 2003-04-10  Bruno Haible  <bruno@clisp.org>
88090
88091         * lib/findprog.h: New file, from GNU gettext.
88092         * lib/findprog.c: New file, from GNU gettext.
88093
88094 2003-04-05  Jim Meyering  <jim@meyering.net>
88095
88096         Merge changes from Coreutils.
88097
88098         * lib/exclude.h (PARAMS): Remove definition and uses.
88099         * lib/exclude.c: Remove uses of `PARAMS'.
88100
88101         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88102         Add test-cases for DOS filenames. Declare program_name.
88103         (main): Set up program_name.  Patch by Rich Dawe.
88104
88105         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88106         error from mntctl.
88107         Use mntctl's return value to drive the entry-processing loop, since
88108         we can't rely on the value of the vmt_length member in the last
88109         entry.  On some systems doing so could result in exhausting
88110         virtual memory.  Based in part on a patch from Mike Jetzer.
88111
88112 2003-04-04  Bruno Haible  <bruno@clisp.org>
88113
88114         * modules/linebreak: New file.
88115         * MODULES.html.sh (func_all_modules): Add it.
88116
88117 2003-04-04  Bruno Haible  <bruno@clisp.org>
88118
88119         * m4/linebreak.m4: New file.
88120
88121 2003-04-04  Bruno Haible  <bruno@clisp.org>
88122
88123         * lib/linebreak.h: New file, from GNU gettext.
88124         * lib/linebreak.c: New file, from GNU gettext with slight
88125         modifications.
88126         * lib/lbrkprop.h: New file, from GNU gettext.
88127
88128 2003-04-03  Bruno Haible  <bruno@clisp.org>
88129
88130         * modules/utf8-ucs4: New file.
88131         * modules/utf16-ucs4: New file.
88132         * modules/ucs4-utf8: New file.
88133         * modules/ucs4-utf16: New file.
88134         * MODULES.html.sh (func_all_modules): Add them.
88135
88136 2003-04-03  Bruno Haible  <bruno@clisp.org>
88137
88138         * m4/utf-ucs4.m4: New file.
88139         * m4/ucs4-utf.m4: New file.
88140
88141 2003-04-03  Bruno Haible  <bruno@clisp.org>
88142
88143         * lib/utf8-ucs4.h: New file, from GNU gettext.
88144         * lib/utf16-ucs4.h: New file, from GNU gettext.
88145         * lib/ucs4-utf8.h: New file, from GNU gettext.
88146         * lib/ucs4-utf16.h: New file, from GNU gettext.
88147
88148 2003-04-02  Bruno Haible  <bruno@clisp.org>
88149
88150         * modules/binary-io: New file.
88151         * MODULES.html.sh (func_all_modules): Add it.
88152
88153 2003-04-02  Bruno Haible  <bruno@clisp.org>
88154
88155         * lib/binary-io.h: New file, from GNU gettext.
88156
88157 2003-04-01  Bruno Haible  <bruno@clisp.org>
88158
88159         * modules/pathname: New file.
88160         * MODULES.html.sh (func_all_modules): Add it.
88161
88162 2003-04-01  Bruno Haible  <bruno@clisp.org>
88163
88164         * lib/pathname.h: New file, from GNU gettext.
88165         * lib/concatpath.c: New file, from GNU gettext.
88166
88167 2003-03-30  Bruno Haible  <bruno@clisp.org>
88168
88169         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88170
88171 2003-03-30  Bruno Haible  <bruno@clisp.org>
88172
88173         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88174         function chown() doesn't exist.
88175
88176 2003-03-28  Bruno Haible  <bruno@clisp.org>
88177
88178         * modules/copy-file: New file.
88179         * MODULES.html.sh (func_all_modules): Add it.
88180
88181 2003-03-28  Bruno Haible  <bruno@clisp.org>
88182
88183         * m4/copy-file.m4: New file.
88184
88185 2003-03-28  Bruno Haible  <bruno@clisp.org>
88186
88187         * lib/copy-file.h: New file, from GNU gettext.
88188         * lib/copy-file.c: New file, from GNU gettext.
88189
88190 2003-03-18  Jim Meyering  <jim@meyering.net>
88191
88192         * lib/quote.c (quote_n): Fix typo in comment.
88193
88194 2003-03-18  Bruno Haible  <bruno@clisp.org>
88195
88196         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88197         checking.
88198         * m4/onceonly_2_57.m4: Likewise.
88199
88200 2003-03-17  Bruno Haible  <bruno@clisp.org>
88201
88202         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88203         (m4_quote): Remove macro.
88204         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88205
88206 2003-03-14  Jim Meyering  <jim@meyering.net>
88207
88208         Merge changes from Coreutils.
88209         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88210         to be const, in order to avoid warnings.
88211         (obstack_room): Likewise.
88212         (obstack_empty_p): Likewise.
88213
88214 2003-03-14  Bruno Haible  <bruno@clisp.org>
88215
88216         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88217         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88218
88219 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88220
88221         Merge changes from Bison.
88222         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88223         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88224         when compiling Bison 1.875's `bitset bset = obstack_alloc
88225         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88226         * lib/hash.c: Include <stdbool.h> unconditionally.
88227
88228 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88229
88230         * m4/onceonly.m4 (m4_quote): New macro.
88231         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88232         Quote AC_FOREACH variable-expansions properly.
88233
88234 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88235
88236         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88237
88238 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88239
88240         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88241         Reported by Bruce Becker; see:
88242         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88243
88244 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88245             Bruno Haible  <bruno@clisp.org>
88246
88247         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88248         Reported by John Hughes, see
88249         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88250
88251 2003-02-20  Bruno Haible  <bruno@clisp.org>
88252
88253         * MODULES.html.sh (func_all_modules): Add poll.
88254
88255 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88256
88257         * modules/poll: New file.
88258
88259 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88260
88261         * lib/poll_.h: New file.
88262         * lib/poll.c: New file.
88263
88264 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88265
88266         * m4/poll.m4: New file.
88267
88268 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88269
88270         * modules/mathl: New file.
88271
88272 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88273
88274         * lib/mathl.h: New file.
88275         * lib/acosl.c: New file.
88276         * lib/asinl.c: New file.
88277         * lib/atanl.c: New file.
88278         * lib/ceill.c: New file.
88279         * lib/cosl.c: New file.
88280         * lib/expl.c: New file.
88281         * lib/floorl.c: New file.
88282         * lib/frexpl.c: New file.
88283         * lib/ldexpl.c: New file.
88284         * lib/logl.c: New file.
88285         * lib/sincosl.c: New file.
88286         * lib/sinl.c: New file.
88287         * lib/sqrtl.c: New file.
88288         * lib/tanl.c: New file.
88289         * lib/trigl.c: New file.
88290         * lib/trigl.h: New file.
88291
88292 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88293
88294         * m4/mathl.m4: New file.
88295
88296 2003-02-18  Bruno Haible  <bruno@clisp.org>
88297
88298         * MODULES.html.sh (func_all_modules): Add mathl.
88299
88300 2003-02-17  Bruno Haible  <bruno@clisp.org>
88301
88302         * modules/mkdtemp: New module.
88303         * MODULES.html.sh (func_all_modules): Add it.
88304
88305 2003-02-17  Bruno Haible  <bruno@clisp.org>
88306
88307         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88308
88309 2003-02-17  Bruno Haible  <bruno@clisp.org>
88310
88311         * lib/mkdtemp.h: New file, from GNU gettext.
88312         * lib/mkdtemp.c: New file, from GNU gettext.
88313
88314 2003-02-02  Jim Meyering  <jim@meyering.net>
88315
88316         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88317         e.g. glibc-2.2.93.
88318
88319 2003-01-31  Bruno Haible  <bruno@clisp.org>
88320
88321         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88322         'rpl_rename'.
88323         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88324         'rpl_strnlen'.
88325         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88326         'rpl_strtod'.
88327         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88328         'rpl_utime'.
88329
88330 2003-01-31  Bruno Haible  <bruno@clisp.org>
88331
88332         * lib/rename.c: #undef rename before defining rpl_rename.
88333         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88334
88335 2003-01-30  Bruno Haible  <bruno@clisp.org>
88336
88337         * modules/vasnprintf, modules/vasprintf: New modules.
88338         * MODULES.html.sh (func_all_modules): Add them.
88339
88340 2003-01-30  Bruno Haible  <bruno@clisp.org>
88341
88342         * m4/signed.m4: New file, from GNU gettext.
88343         * m4/longdouble.m4: New file, from GNU gettext.
88344         * m4/wchar_t.m4: New file, from GNU gettext.
88345         * m4/wint_t.m4: New file, from GNU gettext.
88346         * m4/vasnprintf.m4: New file.
88347         * m4/vasprintf.m4: New file.
88348
88349 2003-01-30  Bruno Haible  <bruno@clisp.org>
88350
88351         * lib/printf-args.h: New file, from GNU gettext.
88352         * lib/printf-args.c: New file, from GNU gettext.
88353         * lib/printf-parse.h: New file, from GNU gettext.
88354         * lib/printf-parse.c: New file, from GNU gettext.
88355         * lib/vasnprintf.h: New file, from GNU gettext.
88356         * lib/vasnprintf.c: New file, from GNU gettext.
88357         * lib/asnprintf.c: New file, from GNU gettext.
88358         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88359         * lib/vasprintf.c: New file, from GNU gettext.
88360         * lib/asprintf.c: New file, from GNU gettext.
88361
88362 2003-01-29  Bruno Haible  <bruno@clisp.org>
88363
88364         * modules/stpncpy: New module.
88365         * MODULES.html.sh (func_all_modules): Add it.
88366
88367 2003-01-29  Bruno Haible  <bruno@clisp.org>
88368
88369         * m4/stpncpy.m4: New file.
88370
88371 2003-01-29  Bruno Haible  <bruno@clisp.org>
88372
88373         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88374         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88375
88376 2003-01-28  Bruno Haible  <bruno@clisp.org>
88377
88378         * modules/c-ctype: New module.
88379         * MODULES.html.sh (func_all_modules): Add it.
88380
88381 2003-01-28  Bruno Haible  <bruno@clisp.org>
88382
88383         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88384         Paul Eggert.
88385         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88386         Paul Eggert.
88387
88388 2003-01-27  Bruno Haible  <bruno@clisp.org>
88389
88390         * modules/xsetenv: New module.
88391         * MODULES.html.sh (func_all_modules): Add it.
88392
88393 2003-01-27  Bruno Haible  <bruno@clisp.org>
88394
88395         * lib/xsetenv.h: New file, from GNU gettext.
88396         * lib/xsetenv.c: New file, from GNU gettext.
88397
88398 2003-01-23  Jim Meyering  <jim@meyering.net>
88399
88400         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88401         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88402
88403 2003-01-23  Bruno Haible  <bruno@clisp.org>
88404
88405         * modules/minmax: New module.
88406         * MODULES.html.sh (func_all_modules): Add it.
88407
88408 2003-01-23  Bruno Haible  <bruno@clisp.org>
88409
88410         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88411         Eggert.
88412
88413 2003-01-22  Bruno Haible  <bruno@clisp.org>
88414
88415         * modules/exit: New module.
88416         * MODULES.html.sh (func_all_modules): Add it.
88417
88418 2003-01-22  Bruno Haible  <bruno@clisp.org>
88419
88420         * lib/exit.h: New file, from GNU gettext.
88421
88422 2003-01-19  Bruno Haible  <bruno@clisp.org>
88423
88424         * gnulib-tool: Recognize option --extract-maintainer.
88425         (func_get_maintainer): New function.
88426         * modules/*: Add Maintainer entry.
88427
88428 2003-01-16  Jim Meyering  <jim@meyering.net>
88429
88430         * m4/regex.m4: The `regex' struct is both input and output.
88431         Initialize it before each use.  Patch by Tim Waugh.
88432
88433 2003-01-16  Bruno Haible  <bruno@clisp.org>
88434
88435         * MODULES.html.sh: Add a table of contents. Add the module name as
88436         leftmost column. Add hyperlinks.
88437
88438 2003-01-15  Bruno Haible  <bruno@clisp.org>
88439
88440         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88441
88442 2003-01-15  Bruno Haible  <bruno@clisp.org>
88443
88444         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88445         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88446         suffix.
88447
88448 2003-01-15  Bruno Haible  <bruno@clisp.org>
88449
88450         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88451
88452 2003-01-15  Bruno Haible  <bruno@clisp.org>
88453
88454         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88455         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88456
88457 2003-01-14  Jim Meyering  <jim@meyering.net>
88458
88459         * lib/same.c (same_name): Tweak a comment.
88460
88461 2003-01-14  Bruno Haible  <bruno@clisp.org>
88462
88463         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88464         when a string comparison is sufficient.
88465
88466 2003-01-14  Bruno Haible  <bruno@clisp.org>
88467
88468         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88469         'unsigned int'.
88470
88471 2003-01-14  Bruno Haible  <bruno@clisp.org>
88472
88473         * lib/hash-pjw.c: Add comment about low quality of this function.
88474
88475 2003-01-13  Bruno Haible  <bruno@clisp.org>
88476
88477         * modules/stpcpy: Distribute lib/stpcpy.h.
88478         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88479
88480 2003-01-13  Bruno Haible  <bruno@clisp.org>
88481
88482         * modules/*: Add a description.
88483         * modules/strpbrk: Fix Makefile.am snippet.
88484         * modules/strtoimax: Fix dependencies.
88485         * modules/strtoumax: Likewise.
88486
88487 2003-01-13  Bruno Haible  <bruno@clisp.org>
88488
88489         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88490         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88491         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88492
88493 2003-01-13  Bruno Haible  <bruno@clisp.org>
88494
88495         * gnulib-tool (func_create_testdir): Store config/* files in the main
88496         directory.
88497         * config.rpath: Move to ...
88498         * config/config.rpath: ... here.
88499         * modules/gettext: Contains config/config.rpath, not config.rpath.
88500         * modules/iconv: Likewise.
88501
88502 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88503
88504         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88505         to avoid collisions with libcurses and libreadline.
88506
88507         * m4/getstr.m4: Remove.
88508         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88509
88510 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88511
88512         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88513         to avoid collisions with libcurses and libreadline.
88514
88515         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88516         * lib/getstr.h, getstr.c: Remove.
88517         * lib/getline.c: Include "getline.h", to check interface.
88518         Move body of old getstr.c here: this defines MIN_CHUNK and
88519         declares getdelim2, which is renamed from getstr.
88520         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88521
88522         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88523         All uses changed.
88524         * lib/linebuffer.h: Likewise.
88525         (readline): Remove backward-compatibility macro.
88526
88527 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88528
88529         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88530         to avoid collisions with libcurses and libreadline.
88531         * getstr: Remove.
88532         * MODULES.html.sh: Remove getstr.
88533         * modules/getline: Depend on unlocked-io, not getstr.
88534
88535 2003-01-12  Jim Meyering  <jim@meyering.net>
88536
88537         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88538
88539 2003-01-10  Bruno Haible  <bruno@clisp.org>
88540
88541         * modules/alloca: Change Makefile.am requirements. Simplify Include
88542         requirements. Add lib/alloca_.h to file list.
88543
88544 2003-01-10  Bruno Haible  <bruno@clisp.org>
88545
88546         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88547
88548 2003-01-10  Bruno Haible  <bruno@clisp.org>
88549
88550         * lib/alloca_.h: New file.
88551         * lib/getdate.y: Unconditionally include alloca.h.
88552         * lib/makepath.c: Likewise.
88553         * lib/setenv.c: Likewise.
88554         * lib/userspec.c: Likewise.
88555
88556 2003-01-09  Karl Berry  <karl@gnu.org>
88557
88558         * MODULES.html.sh: include `dirname $0` in PATH, to find
88559         gnulib-tool.
88560
88561 2003-01-09  Bruno Haible  <bruno@clisp.org>
88562
88563         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88564         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88565
88566 2003-01-09  Bruno Haible  <bruno@clisp.org>
88567
88568         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88569
88570 2003-01-09  Bruno Haible  <bruno@clisp.org>
88571
88572         * lib/stdbool.h.in: New file.
88573
88574 2003-01-09  Bruno Haible  <bruno@clisp.org>
88575
88576         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88577         * MODULES.html.sh: Likewise.
88578
88579 2003-01-08  Jim Meyering  <jim@meyering.net>
88580
88581         * lib/full-write.c: Undefine and define-away `const' after inclusion
88582         of errno.h, not before.  Suggestion from Bruno Haible.
88583
88584 2003-01-08  Bruno Haible  <bruno@clisp.org>
88585
88586         * modules/full-read: Depend on full-write.
88587
88588 2003-01-08  Bruno Haible  <bruno@clisp.org>
88589
88590         * lib/safe-read.c: Include specification header first, to ensure its
88591         selfcontainedness.
88592         * lib/full-write.c: Likewise.
88593
88594 2003-01-07  Jim Meyering  <jim@meyering.net>
88595
88596         * lib/full-write.c: Rework so that it may serve to define full_read,
88597         too.
88598         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88599
88600 2003-01-07  Bruno Haible  <bruno@clisp.org>
88601
88602         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88603         <inttypes.h>.
88604         * lib/xstrtol.h: Likewise.
88605         * lib/xstrtoimax.c: Likewise.
88606         * lib/xstrtoumax.c: Likewise.
88607         * lib/human.h: Likewise.
88608
88609         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88610         on systems that have <inttypes.h> but not <stdint.h>.
88611
88612 2003-01-07  Bruno Haible  <bruno@clisp.org>
88613
88614         * MODULES.html.sh: Add copyright notice.
88615         (missed_files): Omit CVS directory entries.
88616         (func_module): Make it work with sed-3.02.
88617         * MODULES.txt: Remove file.
88618
88619 2003-01-06  Jim Meyering  <jim@meyering.net>
88620
88621         * lib/version-etc.c: Update year in translatable copyright string.
88622
88623 2003-01-03  Karl Berry  <karl@gnu.org>
88624
88625         * config/config.{guess,sub}: update from prep.
88626
88627 2003-01-02  Karl Berry  <karl@gnu.org>
88628
88629         * doc/COPYING.DOC: belatedly updated to 1.2.
88630
88631 2003-01-01  Karl Berry  <karl@gnu.org>
88632
88633         * gnulib-tool (func_verify_module): report module name $module in
88634         error message, not $1.
88635         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88636         be created, only if it doesn't exist.
88637         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88638
88639 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88640
88641         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88642
88643 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88644
88645         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88646         memcmp if strcoll doesn't work.
88647
88648 2002-12-31  Bruno Haible  <bruno@clisp.org>
88649
88650         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88651         nonempty.
88652
88653 2002-12-31  Bruno Haible  <bruno@clisp.org>
88654
88655         * lib/memcoll.c (STRCOLL): New macro.
88656         (memcoll): Use it.
88657
88658 2002-12-31  Bruno Haible  <bruno@clisp.org>
88659
88660         * lib/localcharset.h: New file.
88661         * lib/localcharset.c: Include it.
88662         * lib/unicodeio.c: Likewise.
88663
88664 2002-12-31  Bruno Haible  <bruno@clisp.org>
88665
88666         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88667         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88668
88669 2002-12-31  Bruno Haible  <bruno@clisp.org>
88670
88671         * lib/getline.h: Include <stddef.h>, for size_t.
88672
88673         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88674         * lib/unicodeio.c: Don't include <stddef.h>.
88675
88676 2002-12-31  Bruno Haible  <bruno@clisp.org>
88677
88678         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88679         HAVE_TM_ZONE.
88680
88681 2002-12-24  Karl Berry  <karl@gnu.org>
88682
88683         * config/config.guess: update from prep.
88684
88685 2002-12-24  Bruno Haible  <bruno@clisp.org>
88686
88687         General infrasructure.
88688         * m4/README: Rewritten.
88689         * m4/onceonly.m4: New file.
88690         * m4/onceonly_2_57.m4: New file.
88691
88692         Module atexit.
88693         * m4/atexit.m4: New file.
88694
88695         Module strtod.
88696         * m4/strtod.m4: New file.
88697
88698         Module strtol.
88699         * m4/strtol.m4: New file.
88700
88701         Module strtoul.
88702         * m4/strtoul.m4: New file.
88703
88704         Module memchr.
88705         * m4/memchr.m4: New file.
88706
88707         Module memcmp.
88708         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88709         (jm_FUNC_MEMCMP): Invoke it.
88710
88711         Module memcpy.
88712         * m4/memcpy.m4: New file.
88713
88714         Module memmove.
88715         * m4/memmove.m4: New file.
88716
88717         Module memset.
88718         * m4/memset.m4: New file.
88719
88720         Module strcspn.
88721         * m4/strcspn.m4: New file.
88722
88723         Module strpbrk.
88724         * m4/strpbrk.m4: New file.
88725
88726         Module strstr.
88727         * m4/strstr.m4: New file.
88728
88729         Module strerror.
88730         * m4/strerror.m4: New file.
88731
88732         Module mktime.
88733         * m4/mktime.m4: Renamed from jm-mktime.m4.
88734         (gl_PREREQ_MKTIME): New macro.
88735         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88736
88737         Module malloc.
88738         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88739         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88740         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88741
88742         Module realloc.
88743         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88744         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88745         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88746
88747         Module strftime.
88748         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88749         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88750         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88751         gl_TM_GMTOFF.
88752         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88753
88754         Module xalloc.
88755         * m4/xalloc.m4: New file.
88756
88757         Module alloca.
88758         * m4/alloca.m4: New file.
88759
88760         Module putenv.
88761         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88762         (jm_FUNC_PUTENV): Invoke it.
88763
88764         Module setenv.
88765         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88766         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88767         when invoked twice.
88768         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88769         gt_FUNC_SETENV.
88770
88771         Module memrchr.
88772         * m4/memrchr.m4: New file.
88773
88774         Module stpcpy.
88775         * m4/stpcpy.m4: New file.
88776
88777         Module strcase.
88778         * m4/strcase.m4: New file.
88779
88780         Module strdup.
88781         * m4/strdup.m4: New file.
88782
88783         Module strnlen.
88784         * m4/strnlen.m4: New file.
88785
88786         Module strndup.
88787         * m4/strndup.m4: New file.
88788
88789         Module xstrtod.
88790         * m4/xstrtod.m4: New file.
88791
88792         Module xstrtol.
88793         * m4/xstrtol.m4: New file.
88794
88795         Module getdate.
88796         * m4/getdate.m4: New file.
88797
88798         Module unlocked-io.
88799         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
88800         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
88801         * m4/jm-glibc-io.m4n: Remove file.
88802
88803         Module long-options.
88804         * m4/long-options.m4: New file.
88805
88806         Module md5.
88807         * m4/md5.m4: New file.
88808
88809         Module sha.
88810         * m4/sha.m4: New file.
88811
88812         Module getstr.
88813         * m4/getstr.m4: New file.
88814
88815         Module getline.
88816         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88817         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88818         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88819         simply getline. Infoke gl_PREREQ_GETLINE.
88820
88821         Module obstack.
88822         * m4/obstack.m4: New file.
88823
88824         Module hash.
88825         * m4/hash.m4: New file.
88826
88827         Module readtokens.
88828         * m4/readtokens.m4: New file.
88829
88830         Module strverscmp.
88831         * m4/strverscmp.m4: New file.
88832
88833         Module stdbool.
88834         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88835         OSF/1.
88836
88837         Module strtoll.
88838         * m4/strtoll.m4: New file.
88839
88840         Module strtoull.
88841         * m4/strtoull.m4: New file.
88842
88843         Module strtoimax.
88844         * m4/strtoimax.m4: New file.
88845
88846         Module strtoumax.
88847         * m4/strtoumax.m4: New file.
88848
88849         Module xstrtoimax.
88850         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88851         jm_AC_PREREQ_XSTRTOIMAX.
88852         Moved the strtol prerequisites to strtol.m4.
88853         Moved the strtoll prerequisites to strtoll.m4.
88854         Moved the strtoimax prerequisites to strtoimax.m4.
88855
88856         Module xstrtoumax.
88857         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88858         jm_AC_PREREQ_XSTRTOUMAX.
88859         Moved the strtoul prerequisites to strtoul.m4.
88860         Moved the strtoull prerequisites to strtoull.m4.
88861         Moved the strtoumax prerequisites to strtoumax.m4.
88862
88863         Module chown.
88864         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88865         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88866
88867         Module dup2.
88868         * m4/dup2.m4: New file.
88869
88870         Module ftruncate.
88871         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88872         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88873
88874         Module getgroups.
88875         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88876         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88877
88878         Module gettimeofday.
88879         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88880         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88881         gl_PREREQ_GETTIMEOFDAY.
88882
88883         Module mkdir.
88884         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88885         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88886
88887         Module mkstemp.
88888         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88889         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88890         jm_AC_TYPE_UINTMAX_T.
88891         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88892
88893         Module stat.
88894         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88895         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88896
88897         Module lstat.
88898         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88899         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88900
88901         Module timespec.
88902         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88903         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88904         * m4/st_mtim.m4: Indentation.
88905
88906         Module nanosleep.
88907         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88908         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88909         gl_PREREQ_NANOSLEEP.
88910
88911         Module regex.
88912         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88913         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88914         (gl_REGEX): New macro.
88915
88916         Module rename.
88917         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
88918         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
88919
88920         Module rmdir.
88921         * m4/rmdir.m4: New file.
88922
88923         Module utime.
88924         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
88925         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
88926         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
88927
88928         Module dirname.
88929         * m4/dirname.m4: New file.
88930
88931         Module getopt.
88932         * m4/getopt.m4: New file.
88933
88934         Module unistd-safer.
88935         * m4/unistd-safer.m4: New file.
88936
88937         Module fnmatch.
88938         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
88939         declaration.
88940         (gl_PREREQ_FNMATCH_EXTRA): New macro.
88941         (gl_FUNC_FNMATCH_POSIX): New macro.
88942         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
88943         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
88944         simply fnmatch.
88945
88946         Module exclude.
88947         * m4/exclude.m4: New file.
88948
88949         Module human.
88950         * m4/human.m4: New file.
88951
88952         Module acl.
88953         * m4/acl.m4: Nop.
88954
88955         Module backupfile.
88956         * m4/backupfile.m4: New file.
88957         * m4/d-ino.m4: Indentation.
88958
88959         Module fsusage.
88960         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
88961         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
88962         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
88963
88964         Module dirfd.
88965         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
88966         requirements.
88967
88968         Module euidaccess.
88969         * m4/euidaccess.m4: New file.
88970
88971         Module file-type.
88972         * m4/file-type.m4: New file.
88973
88974         Module fileblocks.
88975         * m4/fileblocks.m4: New file.
88976
88977         Module filemode.
88978         * m4/filemode.m4: New file.
88979
88980         Module isdir.
88981         * m4/isdir.m4: New file.
88982
88983         Module lchown.
88984         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
88985         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
88986
88987         Module makepath.
88988         * m4/makepath.m4: New file.
88989
88990         Module modechange.
88991         * m4/modechange.m4: New file.
88992
88993         Module mountlist.
88994         * m4/mountlist.m4: New file.
88995         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
88996         Indentation.
88997
88998         Module path-concat.
88999         * m4/path-concat.m4: New file.
89000
89001         Module pathmax.
89002         * m4/pathmax.m4: New file.
89003
89004         Module same.
89005         * m4/same.m4: New file.
89006
89007         Module save-cwd.
89008         * m4/save-cwd.m4: New file.
89009
89010         Module savedir.
89011         * m4/savedir.m4: New file.
89012
89013         Module xgetcwd.
89014         * m4/xgetcwd.m4: New file.
89015         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89016
89017         Module xreadlink.
89018         * m4/xreadlink.m4: New file.
89019
89020         Module safe-read.
89021         * m4/safe-read.m4: New file.
89022
89023         Module safe-write.
89024         * m4/safe-write.m4: New file.
89025
89026         Module closeout.
89027         * m4/closeout.m4: New file.
89028
89029         Module stdio-safer.
89030         * m4/stdio-safer.m4: New file.
89031
89032         Module getpass.
89033         * m4/getpass.m4: New file.
89034
89035         Module getugroups.
89036         * m4/getugroups.m4: New file.
89037
89038         Module group-member.
89039         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89040         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89041
89042         Module idcache.
89043         * m4/idcache.m4: New file.
89044
89045         Module userspec.
89046         * m4/userspec.m4: New file.
89047
89048         Module gettime.
89049         * m4/clock_time.m4: New file.
89050         * m4/gettime.m4: New file.
89051
89052         Module settime.
89053         * m4/settime.m4: New file.
89054
89055         Module posixtm.
89056         * m4/posixtm.m4: New file.
89057
89058         Module gethostname.
89059         * m4/gethostname.m4: New file.
89060
89061         Module canon-host.
89062         * m4/canon-host.m4: New file.
89063
89064         Module gettext.
89065         * m4/codeset.m4: New file, from gettext-0.11.5.
89066         * m4/gettext.m4: New file, from gettext-0.11.5.
89067         * m4/glibc21.m4: New file, from gettext-0.11.5.
89068         * m4/iconv.m4: New file, from gettext-0.11.5.
89069         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89070         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89071         * m4/inttypes.m4: New file, from gettext-0.11.5.
89072         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89073         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89074         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89075         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89076         * m4/lib-link.m4: New file, from gettext-0.11.5.
89077         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89078         * m4/progtest.m4: New file, from gettext-0.11.5.
89079         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89080         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89081         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89082
89083         Module localcharset.
89084         * m4/localcharset.m4: New file.
89085
89086         Module hard-locale.
89087         * m4/hard-locale.m4: New file.
89088
89089         Module mbswidth.
89090         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89091         onceonly macros.
89092         * m4/mbrtowc.m4: Add comment.
89093
89094         Module memcasecmp.
89095         * m4/memcasecmp.m4: New file.
89096
89097         Module memcoll.
89098         * m4/memcoll.m4: New file.
89099
89100         Module unicodeio.
89101         * m4/unicodeio.m4: New file.
89102
89103         Module rpmatch.
89104         * m4/rpmatch.m4: New file.
89105
89106         Module yesno.
89107         * m4/yesno.m4: New file.
89108
89109         Module exitfail.
89110         * m4/exitfail.m4: New file.
89111
89112         Module c-stack.
89113         * m4/c-stack.m4 (gl_C_STACK): New macro.
89114         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89115
89116         Module error.
89117         * m4/error.m4 (gl_ERROR): New macro.
89118         (jm_PREREQ_ERROR): Use onceonly macros.
89119
89120         Module fatal.
89121         * m4/fatal.m4: New file.
89122
89123         Module getloadavg.
89124         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89125         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89126
89127         Module getpagesize.
89128         * m4/getpagesize.m4: New file.
89129
89130         Module getusershell.
89131         * m4/getusershell.m4: New file.
89132
89133         Module physmem.
89134         * m4/physmem.m4: New file.
89135
89136         Module posixver.
89137         * m4/posixver.m4: New file.
89138
89139         Module quotearg.
89140         * m4/quotearg.m4: New file.
89141
89142         Module quote.
89143         * m4/quote.m4: New file.
89144
89145         Module readutmp.
89146         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89147
89148         Module sig2str.
89149         * m4/sig2str.m4: New file.
89150
89151         Other.
89152         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89153         ulonglong.m4.
89154         * m4/intmax_t.m4: New file.
89155         * m4/d-type.m4: Indentation.
89156         * m4/jm-macros.m4: Update.
89157         * m4/prereq.m4 (jm_PREREQ): Update.
89158         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89159         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89160         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89161         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89162         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89163         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89164         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89165         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89166         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89167         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89168         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89169         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89170         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89171         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89172         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89173         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89174         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89175         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89176         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89177
89178 2002-12-24  Bruno Haible  <bruno@clisp.org>
89179
89180         * MODULES.txt: Update according to m4/ changes.
89181
89182         Module gettext.
89183         * config.rpath: New file, from gettext-0.11.5.
89184
89185         * modules/*: New module descriptions.
89186         * gnulib-tool: New file.
89187         * MODULES.html.sh: New file.
89188
89189 2002-12-21  Karl Berry  <karl@gnu.org>
89190
89191         * doc/fdl.texi: update to version 1.2.
89192
89193 2002-12-19  Karl Berry  <karl@gnu.org>
89194
89195         * config/config.guess: update from prep.
89196
89197 2002-12-18  Bruno Haible  <bruno@clisp.org>
89198
89199         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89200         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89201
89202 2002-12-17  Bruno Haible  <bruno@clisp.org>
89203
89204         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89205         stdlib.h, string.h.
89206
89207 2002-12-17  Bruno Haible  <bruno@clisp.org>
89208
89209         * lib/canon-host.c (strdup): Remove unused declaration.
89210
89211         * lib/fsusage.c: Include full_read.h.
89212         (get_fs_usage): Use full_read instead of safe_read.
89213
89214         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89215
89216 2002-12-12  Karl Berry  <karl@gnu.org>
89217
89218         * config/config.guess: update from prep.
89219
89220 2002-12-11  Bruno Haible  <bruno@clisp.org>
89221
89222         * m4/setenv.m4: New file, from gettext-0.11.5.
89223
89224 2002-12-11  Bruno Haible  <bruno@clisp.org>
89225
89226         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89227         not unsetenv().
89228         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89229         modifications:
89230
89231         2002-12-11  Bruno Haible  <bruno@clisp.org>
89232
89233                 * setenv.c (alloca): Fall back to malloc.
89234                 (freea): New macro.
89235                 (setenv): Use freea() to free memory allocated with alloca().
89236
89237         2002-11-13  Bruno Haible  <bruno@clisp.org>
89238
89239                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89240                 function declarations.
89241                 * unsetenv.c (unsetenv): Likewise.
89242
89243         2002-03-04  Bruno Haible  <bruno@clisp.org>
89244
89245                 Portability to AIX 4.3.3.
89246                 * unsetenv.c: New file, extracted from setenv.c.
89247                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89248
89249         2001-12-20  Bruno Haible  <bruno@clisp.org>
89250
89251                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89252                 use malloc instead. For SunOS 4.
89253
89254         2001-12-11  Bruno Haible  <bruno@clisp.org>
89255
89256                 * setenv.c: Declare alloca.
89257                 (compar_fn_t): New typedef.
89258                 (KNOWN_VALUE, STORE_VALUE): Use it.
89259
89260         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89261         setenv.h.
89262
89263 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89264
89265         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89266         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89267         Choose values that are less likely to collide with system fnmatch
89268         options.
89269         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89270         defined (e.g., a pure POSIX system).
89271         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89272         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89273
89274 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89275
89276         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89277         a pain in practice to deal with generated m4 files.  This change
89278         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89279
89280         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89281         and jm-glibc-io.m4, as they are no longer a special case.
89282         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89283         kludge and the auto-generation stuff.  Check only whether the
89284         functions are declared, not whether they exist, since older hosts
89285         that don't declare the functions can't use the optimization anyway.
89286
89287 2002-12-06  Jim Meyering  <jim@meyering.net>
89288
89289         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89290
89291         Merge in changes from libc's misc/error.c, in preparation
89292         for the merge of gnulib's changes back into libc.
89293
89294         * lib/error.c (_): Define only if not already defined.
89295         Move definition to follow all #include directives.
89296         Include unlocked-io.h only if !_LIBC.
89297         [_LIBC]: Include <libio/libioP.h>.
89298         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89299         (fflush): Tweak definition to use INTUSE.
89300         (putc): Define.
89301
89302 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89303
89304         * lib/alloca.c [defined emacs]: Include "lisp.h".
89305         (xalloc_die) [defined emacs]: New macro.
89306         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89307         [! defined emacs]: Include <xalloc.h>.
89308         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89309         (pointer): Typedef to POINTER_TYPE *.
89310         (malloc): Remove decl; we now always use xmalloc.
89311         (alloca): Use old-style definition, since Emacs needs this.
89312         Check for arithmetic overflow when computing combined size.
89313
89314 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89315
89316         Do not generate unlocked-io.h automatically, since it's easier to
89317         maintain it by hand.
89318
89319         * lib/unlocked-io.h: New file, from GNU diffutils,
89320         but with proper copyright notice and attribution.
89321         * lib/gen-uio: Remove.
89322         * lib/Makefile.am: Add copyright notice.
89323         (libfetish_a_SOURCES): Add unlocked-io.h.
89324         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89325         (DISTCLEANFILES, io_functions): Remove macros.
89326         (EXTRA_DIST): Remove gen_uio.
89327         (unlocked-io.h): Remove rule.
89328
89329 2002-12-04  Jim Meyering  <jim@meyering.net>
89330
89331         Reflect the fact that stat.c and lstat.c are no longer generated.
89332         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89333         (DISTCLEANFILES): Likewise.
89334         (EXTRA_DIST): Likewise.
89335         (all_local): Don't depend on stat.c or lstat.c.
89336         (stat.c, lstat.c): Remove rules.
89337         (EXTRA_DIST): Remove xstat.in.
89338
89339         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89340         * lib/stat.c: New file.  Contents mostly from xstat.in.
89341         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89342         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89343
89344         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89345         too.
89346         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89347
89348 2002-12-03  Jim Meyering  <jim@meyering.net>
89349
89350         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89351         but not semantics, to minimize the differences between these two files.
89352         (safe_read): Change comment to mention SAFE_READ_ERROR.
89353
89354         * lib/safe-read.c (IS_EINTR): Define.
89355         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89356
89357 2002-12-02  Jim Meyering  <jim@meyering.net>
89358
89359         * lib/safe-read.c (EINTR): Define.
89360         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89361         (INT_MAX): Provide fallback.
89362         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89363
89364         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89365
89366 2002-12-02  Bruno Haible  <bruno@clisp.org>
89367
89368         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89369         Define, taken from safe-read.c.
89370         (INT_MAX): Provide fallback.
89371         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89372         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89373
89374         * lib/safe-read.c (EINTR): Remove definition.
89375         (safe_read): Don't use EINTR if it is absent.
89376
89377 2002-12-01  Jim Meyering  <jim@meyering.net>
89378
89379         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89380         zero.
89381         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89382
89383 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89384
89385         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89386         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89387         with `if (! (value < limit)) abort ();', for readability.
89388
89389 2002-11-26  Karl Berry  <karl@gnu.org>
89390
89391         * lib/strdup.c: copy from libc again, with jim's ok.
89392         * lib/.cppi-disable: re-add strdup.c
89393
89394 2002-11-25  Karl Berry  <karl@gnu.org>
89395
89396         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89397         instead of "strtol.c".
89398
89399 2002-11-25  Karl Berry  <karl@gnu.org>
89400
89401         * config/install-sh: update from automake for variable quoting, $0 in
89402         error msgs, etc.
89403
89404         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89405         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89406         entry.
89407
89408 2002-11-25  Jim Meyering  <jim@meyering.net>
89409
89410         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89411
89412 2002-11-24  Karl Berry  <karl@gnu.org>
89413
89414         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89415         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89416
89417 2002-11-24  Jim Meyering  <jim@meyering.net>
89418
89419         Update from coreutils:
89420
89421         * lib/mktime.c: Merge in changes from libc.
89422
89423         Avoid a link-time failure on some Linux systems.
89424         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89425         (otherwise).
89426         (__mon_yday): Declare with the STATIC attribute.
89427         (__mktime_internal): Likewise.
89428         Based on a report from Greg Schafer.
89429
89430 2002-11-23  Jim Meyering  <jim@meyering.net>
89431
89432         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89433         Use `unsigned', not `int', as type of index.
89434
89435         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89436
89437         * lib/fsusage.c: Remove unneeded parentheses around operands of
89438         `defined'.
89439
89440 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89441
89442         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89443         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89444         so that we can be included first.
89445         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89446         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89447         No need to include stddef.h or sys/types.h any more.
89448         Surround local include files with "", not "<>".
89449         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89450         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89451         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89452         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89453         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89454         (ISPRINT): Remove; no longer needed now that we assume C89.
89455
89456         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89457         Preserve errno.
89458
89459         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89460         quotearg_char): Use SIZE_MAX rather than
89461         (size_t) -1 when we are talking about "infinity".
89462
89463         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89464
89465 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89466
89467         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89468         hint that one should use `if (! x) abort ();' rather than `assert
89469         (x);', and anyway it's one less thing to worry about configuring.
89470         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89471         hash_rehash, hash_insert): Use abort rather than assert.
89472
89473 2002-11-22  Bruno Haible  <bruno@clisp.org>
89474
89475         * lib/safe-read.h: Assume C89. Add comments.
89476         (safe_read): Change return type to size_t.
89477         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89478         byte counts > SSIZE_MAX correctly.
89479         * lib/safe-write.h: New file.
89480         * lib/safe-write.c: New file.
89481         * lib/full-read.h: New file.
89482         * lib/full-read.c: New file.
89483         * lib/full-write.h: Assume C89. Add comments.
89484         * lib/full-write.c: Include safe-write.h.
89485         (full_write): Rewritten to use safe_write.
89486         Suggested by Jim Meyering and Paul Eggert.
89487
89488 2002-11-21  Jim Meyering  <jim@meyering.net>
89489
89490         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89491
89492         Merge in changes from the coreutils.
89493
89494         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89495         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89496         <stdint.h>.
89497         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89498         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89499         int.  Work more efficiently if X is the same width as uintmax_t.
89500         Do not compare X to -1, to avoid bogus compiler warning.
89501         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89502         Don't assume that f_frsize and f_bsize are the same type.
89503
89504         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89505         warning on FreeBSD.
89506
89507         * lib/makepath.c (make_path): Restore umask *before* creating the final
89508         component.
89509         (make_path): Minor reformatting.
89510
89511         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89512         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89513         HAVE_MALLOC/HAVE_REALLOC.
89514
89515         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89516         dummy ones.  At least on GNU/Linux systems, `auto' means something
89517         else.
89518         From Michael Stone.
89519
89520 2002-11-21  Bruno Haible  <bruno@clisp.org>
89521
89522         Remove case insensitive option matching.
89523         * lib/argmatch.h (argcasematch): Remove declaration.
89524         (ARGCASEMATCH): Remove macro.
89525         (__xargmatch_internal): Remove case_sensitive argument.
89526         (XARGMATCH): Update.
89527         (XARGCASEMATCH): Remove macro.
89528         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89529         case_sensitive argument.
89530         (argcasematch): Remove function.
89531         (__xargmatch_internal): Remove case_sensitive argument.
89532         (main): Use XARGMATCH instead of XARGCASEMATCH.
89533
89534         * lib/xmalloc.c: Change compile-time error message. Add comment about
89535         required autoconf version.
89536
89537 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89538
89539         Merge argmatch cleanups from Bison.  Assume C89.
89540
89541         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89542         Include stdlib.h, for EXIT_FAILURE.
89543         Always include <string.h>, since we assume C89.
89544         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89545         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89546         Include <stddef.h> instead, since it's all we need for size_t.
89547         (PARAMS): Remove.  All uses removed.
89548         (ARRAY_CARDINALITY): Do not bother to #undef.
89549         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89550         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89551         Remove unnecessary parentheses.
89552         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89553         Insert necessary parentheses.
89554         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89555         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89556
89557 2002-11-19  Bruno Haible  <bruno@clisp.org>
89558
89559         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89560         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89561
89562         * lib/mbswidth.h (PARAMS): Remove macro.
89563         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89564         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89565
89566         * lib/gcd.h (PARAMS): Remove macro.
89567         (gcd): Use ANSI C function declarations.
89568         * lib/gcd.c (gcd): Likewise.
89569
89570 2002-11-15  Bruno Haible  <bruno@clisp.org>
89571
89572         * lib/strcspn.c: Include <stddef.h>.
89573         (strcspn): Use ANSI C function declaration. Change return type to
89574         size_t. Use NULL.
89575         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89576         (strpbrk): Use NULL.
89577         * lib/strpbrk.h (PARAMS): Remove macro.
89578         (strpbrk): Use ANSI C function declaration.
89579         * lib/strstr.c: Don't include <sys/types.h>.
89580         * lib/strstr.h (PARAMS): Remove macro.
89581         (strstr): Use ANSI C function declarations.
89582
89583 2002-11-14  Karl Berry  <karl@gnu.org>
89584
89585         * config/mkinstalldirs: `do' on separate line, instead of
89586         `for var; do'.
89587
89588 2002-11-06  Bruno Haible  <bruno@clisp.org>
89589
89590         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89591         * lib/gcd.c (gcd): Likewise.
89592
89593 2002-11-05  Bruno Haible  <bruno@clisp.org>
89594
89595         * lib/gcd.h: New file, from gettext-0.11.5.
89596         * lib/gcd.c: New file, from gettext-0.11.5.
89597
89598 2002-11-05  Bruno Haible  <bruno@clisp.org>
89599
89600         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89601         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89602         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89603         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89604
89605         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89606         <libintl.h>.
89607         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89608         <libintl.h>.
89609
89610         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89611         * lib/human.c: Include gettext.h instead of <libintl.h>.
89612         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89613         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89614         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89615         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89616         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89617         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89618         (textdomain): Remove definition.
89619         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89620
89621         * lib/long-options.c: Remove include of <libintl.h> and definition of
89622         _.
89623         * lib/same.c: Remove include of <libintl.h> and definition of _.
89624
89625 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89626
89627         * lib/config.charset: A few additions for Solaris.
89628
89629 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89630
89631         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89632         * lib/localcharset.c (locale_charset): Declare as extern "C".
89633
89634 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89635
89636         * lib/config.charset: msdos in uk_UA uses CP1125.
89637
89638 2002-11-04  Bruno Haible  <bruno@clisp.org>
89639
89640         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89641         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89642         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89643         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89644         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89645
89646 2002-11-04  Bruno Haible  <bruno@clisp.org>
89647
89648         * lib/localcharset.c (locale_charset): Don't return an empty string.
89649
89650 2002-11-04  Bruno Haible  <bruno@clisp.org>
89651
89652         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89653         aliases.
89654
89655 2002-11-04  Bruno Haible  <bruno@clisp.org>
89656
89657         * lib/config.charset: Update for newest glibc. Add canonical names
89658         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89659
89660 2002-11-04  Bruno Haible  <bruno@clisp.org>
89661
89662         * lib/config.charset: Add support for NetBSD.
89663
89664 2002-11-04  Bruno Haible  <bruno@clisp.org>
89665
89666         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89667
89668 2002-11-01  Bruno Haible  <bruno@clisp.org>
89669
89670         * configure.in: Add AC_CONFIG_AUX_DIR call.
89671         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89672         test/Makefile.
89673         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89674
89675 2002-09-28  Karl Berry  <karl@gnu.org>
89676
89677         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89678         installed automake until the next release, since changes have been
89679         made.
89680
89681 2002-09-25  Karl Berry  <karl@gnu.org>
89682
89683         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89684         * lib/getopt*: copy from libc/posix.
89685         * lib/gettext.h: copy from gettext.
89686         * lib/.cppi-disable: add strdup.c, gettext.h.
89687
89688 2002-09-25  Karl Berry  <karl@gnu.org>
89689
89690         * config/srclist.txt: enable gettext.h check.
89691         * config/config.{guess,sub}: update from prep.
89692         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89693                 from automake 1.6.3.
89694         See srclist*.
89695
89696 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89697
89698         * regex.c (PATFETCH): Remove the translating fetch.
89699         (PATFETCH_RAW): Rename to PATFETCH.
89700         (set_image_of_range): New fun.
89701         (SET_RANGE_TABLE_WORK_AREA): Use it.
89702         (regex_compile): Don't translate the pattern chars so eagerly.
89703         Only do it when inserting an `exactn' bytecode or when handling
89704         a char-range.
89705         (mutually_exclusive_p): Avoid empty statement.
89706
89707 2002-07-06  Jim Meyering  <meyering@lucent.com>
89708
89709         * m4/README: Don't mention Makefile.am.in.
89710         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89711
89712 2002-07-01  Jim Meyering  <meyering@lucent.com>
89713
89714         * lib/c-stack.c: Include sys/time.h.
89715         From Volker Borchert.
89716
89717 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89718
89719         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89720
89721 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89722
89723         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89724         New macro.  Use it uniformly instead of
89725         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89726         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89727         reported by Vin Shelton.
89728
89729 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89730
89731         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89732         Do not assume SA_SIGINFO behavior.
89733         Bug reported by Jim Meyering on NetBSD 1.5.2.
89734
89735 2002-06-22  Jim Meyering  <meyering@lucent.com>
89736
89737         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89738         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89739
89740         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89741         now that configure.ac uses AC_GNU_SOURCE.
89742         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89743         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89744
89745         Update to latest tools.  Suggestions from Paul Eggert.
89746         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89747         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89748         * m4/fnmatch.m4: Likewise.
89749         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89750         to AC_HEADER_STDBOOL
89751
89752 2002-06-22  Jim Meyering  <meyering@lucent.com>
89753
89754         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89755         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89756
89757 2002-06-22  Jim Meyering  <meyering@lucent.com>
89758
89759         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89760
89761         * lib/exitfail.c, exitfail.h: Likewise.
89762         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89763
89764         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89765         of fnmatch.h.
89766         (EXTRA_DIST): Add fnmatch_loop.c.
89767         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89768
89769         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89770         * lib/fnmatch.c: Update from diffutils-2.8.2.
89771         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89772         * lib/fnmatch.h: Remove file.
89773
89774 2002-06-21  Jim Meyering  <meyering@lucent.com>
89775
89776         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89777         * m4/mbrtowc.m4: Likewise.
89778
89779         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89780         * m4/mbswidth.m4: Reflect name change:
89781         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89782         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89783
89784         * m4/lib-link.m4: Update from gettext-0.11.2.
89785         * m4/gettext.m4: Likewise.
89786
89787         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89788         From Alfred M. Szmidt.
89789
89790 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89791
89792         * lib/file-type.h: Report an error if neither S_ISREG nor
89793         S_IFREG is defined, instead of using a test specific to glibc
89794         2.2.  This should be safe, since POSIX requires S_ISREG and
89795         Unix Version 7 had S_IFREG.  We don't need to check for
89796         <sys/types.h> since we don't use any symbols that it defines.
89797
89798 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
89799
89800         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
89801         $@-t, so that each temporary file name is unique and valid in the first
89802         8 characters, for operation under DOS.
89803
89804 2002-06-15  Paul Eggert  <eggert@twinsun.com>
89805
89806         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
89807
89808 2002-06-15  Jim Meyering  <meyering@lucent.com>
89809
89810         Work even with DJGPP 2.03, which lacks support for symlinks.
89811         From Richard Dawe.
89812         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89813         is defined.
89814         * lib/lchown.c (S_ISLNK): Likewise.
89815
89816 2002-06-15  Jim Meyering  <meyering@lucent.com>
89817
89818         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89819         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89820         have been included before this file.
89821
89822 2002-06-14  Jim Meyering  <meyering@lucent.com>
89823
89824         * lib/file-type.h: Use the version from diffutils-2.8.2.
89825         * lib/file-type.c: Likewise.
89826
89827 2002-06-07  Jim Meyering  <meyering@lucent.com>
89828
89829         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89830         They're needed at least for NetBSD 1.5.2.
89831         ($statxfs_includes): Include those same headers.
89832         ($statxfs_includes): Include sys/vfs.h if available.
89833         ($statxfs_includes): Likewise for sys/statvfs.h.
89834         Check for the following members in both structs statfs and statvfs:
89835         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89836
89837 2002-06-01  Jim Meyering  <meyering@lucent.com>
89838
89839         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89840         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89841
89842 2002-05-28  Jim Meyering  <meyering@lucent.com>
89843
89844         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89845         Reported by Volker Borchert.
89846
89847 2002-05-27  Jim Meyering  <meyering@lucent.com>
89848
89849         Fix a problem seen only on nonconforming systems whereby ls.c's
89850         use of localtime, and then of gettimeofday would cause trouble:
89851         the localtime call used to initialize rpl_gettimeofday's save
89852         mechanism would clobber ls's current local time information so
89853         that in any long listing the first file would always be listed
89854         with date 1970-01-01.  Analysis by Volker Borchert.
89855
89856         * lib/gettimeofday.c (localtime): Undefine.
89857         (rpl_localtime): New function.
89858
89859 2002-05-27  Jim Meyering  <meyering@lucent.com>
89860
89861         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89862         localtime.
89863
89864         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89865         use the replacement function; it wouldn't resolve at link time.
89866         Reported by Volker Borchert.
89867
89868 2002-05-22  Jim Meyering  <meyering@lucent.com>
89869
89870         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89871         file-type.h.
89872         * lib/file-type.h: New file.
89873         * lib/file-type.c (file_type): New file/function.  Extracted from
89874         diffutils.
89875
89876 2002-04-30  Jim Meyering  <meyering@lucent.com>
89877
89878         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89879
89880 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89881
89882         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89883
89884 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89885
89886         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89887         Do not check for alloca.h (no longer used) or stdbool.h (was never
89888         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89889
89890 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89891
89892         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89893
89894 2002-04-29  Jim Meyering  <meyering@lucent.com>
89895
89896         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89897         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89898         Use AC_FUNC_STRNLEN here instead.
89899
89900         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89901         With autoconf-2.53a, it's part of AC_PROG_CC.
89902
89903 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89904
89905         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89906         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89907
89908 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89909
89910         * lib/sig2str.h, lib/sig2str.c: New files.
89911         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89912
89913 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89914
89915         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
89916         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
89917         of 127, since 64 is the largest conceivable number for ancient
89918         nonstandard hosts.
89919         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
89920
89921 2002-04-28  Jim Meyering  <meyering@lucent.com>
89922
89923         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
89924
89925 2002-04-24  Jim Meyering  <meyering@lucent.com>
89926
89927         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
89928         (jm_PREREQ): Use it.
89929
89930         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
89931         mach/mach.h fcntl.h.
89932         Check for this function: setlocale.
89933
89934 2002-04-24  Jim Meyering  <meyering@lucent.com>
89935
89936         * lib/gettext.h: New file, from Gettext.
89937         * lib/Makefile.am (INCLUDES): Remove -I../intl.
89938         (libfetish_a_SOURCES): Add gettext.h.
89939
89940 2002-04-16  Jim Meyering  <meyering@lucent.com>
89941
89942         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
89943         ut_pid, ut_id, ut_exit.
89944
89945 2002-04-16  Jim Meyering  <meyering@lucent.com>
89946
89947         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
89948         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
89949         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
89950
89951 2002-04-12  Jim Meyering  <meyering@lucent.com>
89952
89953         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
89954         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
89955         existence of the getmntinfo function.  Needed for Darwin 5.3.
89956
89957         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
89958         This is necessary at least on Darwin 5.3.
89959
89960         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
89961         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
89962         strnlen.o in the library, and that makes some versions of ranlib
89963         object.
89964
89965 2002-04-12  Jim Meyering  <meyering@lucent.com>
89966
89967         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
89968
89969 2002-04-09  Jim Meyering  <meyering@lucent.com>
89970
89971         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
89972         to be more precise.  Rather than saying we're checking whether the
89973         function `works', say what we're testing.
89974         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
89975         Reported by Bruno Haible.
89976
89977 2002-03-10  Jim Meyering  <meyering@lucent.com>
89978
89979         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
89980         Suggestion from Santiago Vila.
89981
89982 2002-03-08  Jim Meyering  <meyering@lucent.com>
89983
89984         * lib/rename.c: Mention that this wrapper is needed also on
89985         mips-dec-ultrix4.4 systems.
89986
89987 2002-03-02  Jim Meyering  <meyering@lucent.com>
89988
89989         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
89990         not HAVE_CLOCK_SETTIME.
89991
89992 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89993
89994         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
89995         Check for clock_settime.
89996
89997 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89998
89999         * lib/nanosleep.h: Rename to....
90000         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90001
90002         * lib/gettime.c: New file.
90003         * lib/settime.c: New file.
90004         * lib/stime.c: Remove.
90005
90006         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90007         timespec.h.  Remove nanosleep.h.
90008
90009 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90010
90011         * m4/acl.m4: New file.
90012         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90013         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90014
90015 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90016
90017         * lib/acl.c, lib/acl.h: New files.
90018         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90019
90020 2002-02-24  Jim Meyering  <meyering@lucent.com>
90021
90022         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90023         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90024         cause trouble.  Reported by Nelson Beebe.
90025
90026 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90027
90028         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90029         compilers that don't know that xalloc_die never returns.
90030
90031 2002-02-20  Jim Meyering  <meyering@lucent.com>
90032
90033         * lib/getdate.c: Regenerate using bison-1.33.
90034
90035 2002-02-17  Jim Meyering  <meyering@lucent.com>
90036
90037         * config/config.guess (main): Don't use `head -1'; it's no longer
90038         portable. Use `sed 1q' instead.
90039
90040 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90041
90042         * m4/codeset.m4: Upgrade to gettext-0.11.
90043         * m4/gettext.m4: Upgrade to gettext-0.11.
90044         * m4/glibc21.m4: Upgrade to gettext-0.11.
90045         * m4/iconv.m4: Upgrade to gettext-0.11.
90046         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90047         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90048         * m4/lib-ld.m4: New file, from gettext-0.11.
90049         * m4/lib-link.m4: New file, from gettext-0.11.
90050         * m4/lib-prefix.m4: New file, from gettext-0.11.
90051         * m4/progtest.m4: Upgrade to gettext-0.11.
90052
90053 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90054
90055         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90056         (jm_PREREQ): Use it.
90057
90058 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90059
90060         * lib/posixver.c, lib/posixver.h: New files.
90061         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90062
90063 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90064             Bruno Haible  <bruno@clisp.org>
90065
90066         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90067         (fwrite_success_callback): New declaration.
90068         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90069         print_unicode_char. Call failure callback instead of error.
90070         (fwrite_success_callback): New function.
90071         (exit_failure_callback): New function.
90072         (fallback_failure_callback): New function.
90073         (print_unicode_char): Call unicode_to_mb.
90074
90075 2002-01-26  Jim Meyering  <meyering@lucent.com>
90076
90077         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90078         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90079
90080 2002-01-26  Jim Meyering  <meyering@lucent.com>
90081
90082         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90083
90084 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90085
90086         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90087
90088 2002-01-22  Jim Meyering  <meyering@lucent.com>
90089
90090         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90091         Otherwise, some versions of automake would omit the rule that makes
90092         Makefile from Makefile.in.
90093
90094 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90095
90096         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90097         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90098         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90099         (memcoll): Set errno to zero if there is no error.
90100
90101         * lib/quotearg.c (quotearg_buffer_restyled):
90102         Fix bug with quoting buffers containing NUL when backslashing escapes.
90103         This bug was exposed by the other changes in this patch.
90104         (quotearg_n_options): New arg ARGSIZE.
90105         All callers changed.
90106         (quoting_options_from_style): New function.
90107         (quotearg_n_style): Use it.
90108         (quotearg_n_style_mem): New function.
90109
90110         * lib/quotearg.h (quotearg_n_style_mem): New function.
90111
90112 2002-01-19  Jim Meyering  <meyering@lucent.com>
90113
90114         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90115         Remove useless quotes: DF_PROG="df".
90116         * m4/strnlen.m4: New file.
90117
90118 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90119
90120         * lib/backupfile.c (ISDIGIT): Comment fix.
90121         * lib/getdate.y (ISDIGIT): Likewise.
90122         * lib/posixtm.c (ISDIGIT, year): Likewise.
90123         * lib/strverscmp.c (ISDIGIT): Likewise.
90124         * lib/userspec.c (ISDIGIT): Likewise.
90125
90126 2002-01-16  Jim Meyering  <meyering@lucent.com>
90127
90128         * lib/getdate.y: Add three semicolons, each just before a closing
90129         brace. Bison (as of version 1.31) no longer papers over that mistake.
90130
90131 2002-01-05  Jim Meyering  <meyering@lucent.com>
90132
90133         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90134
90135 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90136
90137         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90138         not silently exit merely because the output buffer happens to
90139         have nothing pending.
90140
90141 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90142
90143         See the big note in ../ChangeLog.
90144         * lib/human.c (suffixes): Prefer K to k for 1024.
90145         (generate_suffix_backwards): New function.
90146         (human_readable_inexact): Use it.
90147         * lib/xstrtol.c (__xstrtol): If there is no number but there
90148         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90149         Accept 'K' as well as 'k'.
90150
90151 2001-12-15  Jim Meyering  <meyering@lucent.com>
90152
90153         * lib/regex.h (__restrict_arr): Update from libc.
90154
90155         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90156         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90157         (STREQ): Define.
90158
90159 2001-12-14  Jim Meyering  <meyering@lucent.com>
90160
90161         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90162         Suggestion from Bruno Haible.
90163
90164 2001-12-10  Jim Meyering  <meyering@lucent.com>
90165
90166         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90167         xrealloc, Instead, include "xalloc.h".
90168         (initbuffer): Don't cast xmalloc return value to char*.
90169         (readline): Reword comment.
90170         Don't cast xrealloc return value to char*
90171         Return NULL, not 0.
90172
90173 2001-12-09  Jim Meyering  <meyering@lucent.com>
90174
90175         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90176         about `signed and unsigned type in conditional expression'.
90177         * lib/posixtm.c (posix_time_parse): Likewise.
90178
90179         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90180
90181         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90182         to avoid a pedantic warning.
90183
90184         * lib/getstr.c: Don't include assert.h.
90185         (getstr): Remove warning-evoking assertions.
90186         Return -1 if offset parameter is out of bounds.
90187         Change the type of a local from int to size_t.
90188
90189         * lib/strftime.c (my_strftime_localtime_r): Include this function
90190         definition in the `#if ! HAVE_TM_GMTOFF' block.
90191
90192         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90193         Include xalloc.h instead.
90194
90195 2001-12-02  Jim Meyering  <meyering@lucent.com>
90196
90197         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90198         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90199         included.
90200
90201         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90202         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90203
90204 2001-11-30  Akim Demaille  <akim@epita.fr>
90205
90206         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90207         before being defined.
90208
90209 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90210
90211         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90212         First arg is int, not unsigned.
90213         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90214         (SIZE_MAX, UINT_MAX): New macros.
90215         (quotearg_n_options): Abort if N is negative.
90216         Avoid overflow check on hosts where size_t is 64 bits and int
90217         is 32 bits, as overflow is impossible there.
90218         Fix off-by-one typo that caused unnecessary reallocation.
90219
90220 2001-11-27  Jim Meyering  <meyering@lucent.com>
90221
90222         * lib/tempname.c: Merge with version from libc.
90223         * lib/regex.c: Likewise.
90224
90225         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90226         systems for which STDC_HEADERS is 0, it was not included, resulting in
90227         a warning about an integer-to-pointer conversion problem with getenv.
90228         Reported by Volker Borchert.
90229
90230 2001-11-26  Jim Meyering  <meyering@lucent.com>
90231
90232         * lib/gtod.h: Remove file.
90233         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90234         * lib/gettimeofday.c: Don't include gtod.h.
90235         (GTOD_init): Remove function.
90236         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90237         Suggestion from Volker Borchert.
90238
90239 2001-11-23  Jim Meyering  <meyering@lucent.com>
90240
90241         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90242         it.
90243         * lib/hash.c (struct hash_table): Define it here instead.
90244
90245 2001-11-22  Jim Meyering  <meyering@lucent.com>
90246
90247         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90248
90249 2001-11-20  Jim Meyering  <meyering@lucent.com>
90250
90251         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90252         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90253
90254 2001-11-19  Jim Meyering  <meyering@lucent.com>
90255
90256         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90257         directory.  Use "conftestXXXXXX" as the template.
90258         Suggestion from Paul Eggert.
90259
90260         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90261         immediately, so the test doesn't mistakenly hit the max-open-files
90262         limit.
90263
90264 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90265
90266         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90267         (TEMPORARIES): New macro.
90268         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90269         removes an artificial limitation (e.g. HP-UX 10.20, where
90270         TMP_MAX is 17576).
90271
90272 2001-11-18  Jim Meyering  <meyering@lucent.com>
90273
90274         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90275
90276 2001-11-18  Jim Meyering  <meyering@lucent.com>
90277
90278         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90279         on SunOS 4.
90280
90281         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90282         files will be created before anything else.
90283
90284 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90285
90286         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90287         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90288
90289 2001-11-17  Jim Meyering  <meyering@lucent.com>
90290
90291         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90292         Prompted by a report from Bob Proulx.
90293
90294         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90295         Instead, require UTILS_FUNC_MKSTEMP.
90296
90297 2001-11-17  Jim Meyering  <meyering@lucent.com>
90298
90299         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90300         Now, that's done as part of AC_FUNC_STRTOD.
90301
90302 2001-11-17  Jim Meyering  <meyering@lucent.com>
90303
90304         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90305         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90306         rather than group writable.  Patch by Juan F. Codagnone.
90307
90308         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90309         xrealloc, Instead, include "xalloc.h".
90310
90311         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90312         Remove explicit declarations of xmalloc, xrealloc,
90313         and xstrdup.  Instead, include "xalloc.h".
90314
90315         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90316         unlocked-io.h.
90317         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90318         Likewise.
90319         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90320
90321         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90322         Reported by Padraig Brady.
90323
90324         * lib/mkstemp.c: #undef mkstemp.
90325         Include config.h.
90326         (rpl_mkstemp): Rename from mkstemp.
90327         Protoize.
90328
90329 2001-11-16  Jim Meyering  <meyering@lucent.com>
90330
90331         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90332         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90333         determine the amount of total physical memory, use pstat_getstatic.
90334         HPUX-11 doesn't define _SC_PHYS_PAGES.
90335         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90336         If sysconf couldn't be used to determine the amount of available
90337         physical memory, use both pstat_getstatic and pstat_getdynamic.
90338         Based on a patch from Bob Proulx.
90339
90340 2001-11-10  Jim Meyering  <meyering@lucent.com>
90341
90342         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90343         (jm_PREREQ): Use it.
90344
90345 2001-11-09  Jim Meyering  <meyering@lucent.com>
90346
90347         * m4/jm-macros.m4: Require autoconf-2.52f.
90348         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90349         Use these AC_-prefixed names, not the AM_-prefixed ones.
90350
90351         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90352
90353 2001-11-05  Jim Meyering  <meyering@lucent.com>
90354
90355         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90356
90357 2001-11-04  Jim Meyering  <meyering@lucent.com>
90358
90359         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90360         $DEFS.
90361
90362 2001-11-03  Jim Meyering  <meyering@lucent.com>
90363
90364         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90365         of AC_DEFUN.
90366
90367         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90368         know the name of the variable in the macro definition.
90369
90370 2001-11-03  Jim Meyering  <meyering@lucent.com>
90371
90372         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90373         in argmatch_to_argument call.
90374
90375         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90376         argument.
90377
90378         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90379         e.g., a fault due to an attempt to free a NULL pointer.
90380
90381 2001-11-01  Jim Meyering  <meyering@lucent.com>
90382
90383         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90384         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90385
90386 2001-11-01  Jim Meyering  <meyering@lucent.com>
90387
90388         * lib/dirfd.c, lib/dirfd.h: New files.
90389         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90390
90391         * lib/hash.c (hash_print) [TESTING]: Clean up.
90392
90393 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90394
90395         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90396         to avoid a warning if -Wall.
90397
90398 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90399
90400         * README: New file
90401         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90402         (per RMS's instructions, this is now the canonical source)
90403         * lgpl/, gpl/: New directories.
90404
90405 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90406
90407         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90408
90409 2001-10-21  Jim Meyering  <meyering@lucent.com>
90410
90411         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90412         this code would end up calling gettext even in packages built
90413         with --disable-nls.
90414         * lib/getopt.c (_): Likewise.
90415         * lib/regex.c (_): Likewise.
90416
90417 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90418
90419         * m4/error.m4 (jm_PREREQ_ERROR):
90420         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90421         AC_FUNC_STRERROR_R does that.
90422         Check for strerror declaration.
90423
90424         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90425         are supposed to have them these days.
90426         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90427         Merge changes from latest Autoconf CVS.
90428         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90429         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90430         POSIX decided to standardize on the int flavor of strerror_r.
90431
90432 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90433
90434         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90435         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90436         Use strerror_r that is only a macro, even if it is not a function.
90437         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90438         (private_strerror): Use prototypes, not old-style function definition.
90439         (print_errno_message): New function.
90440         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90441         char*-flavored one.
90442         (error_tail, error, error_at_line): Use it.
90443
90444 2001-10-11  Jim Meyering  <meyering@lucent.com>
90445
90446         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90447         and quote_n (1, ... to avoid clobbering a buffer.
90448
90449 2001-10-05  Jim Meyering  <meyering@lucent.com>
90450
90451         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90452         hash-pjw.h.
90453         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90454         * lib/hash-pjw.h: New file.
90455
90456 2001-09-30  Jim Meyering  <meyering@lucent.com>
90457
90458         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90459         `struct fsstat' has the `f_fstypename' member.
90460         Use that to define FS_TYPE, which is now used to make
90461         the getfsstat link test tighter.
90462
90463 2001-09-30  Jim Meyering  <meyering@lucent.com>
90464
90465         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90466         Include <sys/ucred.h>, for Apple Darwin.
90467         Include sys/mount.h and sys/fs_types.h only if available.
90468         (FS_TYPE): Define.
90469         (read_filesystem_list): Use FS_TYPE.
90470
90471 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90472
90473         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90474         a boolean context.
90475
90476 2001-09-29  Jim Meyering  <meyering@lucent.com>
90477
90478         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90479         [one-argument getmntent function]): Include stdio.h before mntent.h.
90480         SunOS 4.1.x needs it for the declaration of `FILE'.
90481         Patch by Volker Borchert.
90482
90483         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90484         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90485         sys/fs_types.h, and make the link-test for getfsstat guard #include
90486         directives with appropriate #if HAVE_*_H tests so that we can
90487         detect getfsstat on Apple Darwin1.3.7 systems.
90488         Reported by Nelson Beebe.
90489         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90490
90491 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90492
90493         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90494         #defines strtoimax.  Also treat the other strto* functions
90495         like strtoimax.
90496
90497         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90498         Check for strtoul and strtoumax,
90499         as those declarations are made even in the signed case.
90500         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90501         Likewise, for strtol and strtoimax.
90502
90503 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90504
90505         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90506         #defines strtoimax.  Also treat the other strto* functions
90507         like strtoimax.
90508
90509         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90510         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90511         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90512
90513 2001-09-26  Jim Meyering  <meyering@lucent.com>
90514
90515         Most macros in unlocked-io.h had the wrong number of arguments.
90516         * lib/gen-uio: New script.
90517         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90518         * lib/unlocked-io.hin: Remove file.
90519         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90520         rather than trying to embed it here.
90521         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90522         Reported by Padraig Brady.
90523
90524 2001-09-25  Volker Borchert  <bt@teknon.de>
90525
90526         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90527         `result'.
90528
90529 2001-09-24  Jim Meyering  <meyering@lucent.com>
90530
90531         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90532
90533 2001-09-23  Jim Meyering  <meyering@lucent.com>
90534
90535         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90536         instead of the mere test for existence of mntent.h.  The latter
90537         would get a false-positive on AIX 3.4 systems.
90538         In the outer getmntent if-block, don't die if neither of the getmntent
90539         tests succeeds.  Instead, just fall through and continue with the
90540         remaining tests.
90541
90542 2001-09-23  Jim Meyering  <meyering@lucent.com>
90543
90544         * lib/mountlist.c: Remove useless parentheses in #if directives.
90545         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90546         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90547
90548 2001-09-22  Jim Meyering  <meyering@lucent.com>
90549
90550         * m4/gettext.m4: New file.  From gettext.
90551         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90552         * m4/progtest.m4: Likewise
90553         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90554         * m4/glibc21.m4: Likewise.
90555
90556         * m4/libintl.m4: Remove.  No longer used.
90557
90558 2001-09-22  Jim Meyering  <meyering@lucent.com>
90559
90560         * lib/localcharset.c: Update from latest gettext.
90561         * lib/config.charset: Likewise.
90562
90563 2001-09-20  Jim Meyering  <meyering@lucent.com>
90564
90565         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90566         strtoimax.
90567         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90568         strtoumax.
90569
90570 2001-09-20  Jim Meyering  <meyering@lucent.com>
90571
90572         * lib/xstrtol.c (strtoimax): Guard declaration with
90573         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90574         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90575         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90576         (strtoumax): Likewise, for completeness (it wasn't necessary).
90577
90578 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90579
90580         * lib/strtoimax.c (HAVE_LONG_LONG):
90581         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90582         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90583         to work around bug in IBM C compiler.
90584
90585 2001-09-17  Jim Meyering  <meyering@lucent.com>
90586
90587         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90588         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90589         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90590         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90591         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90592         whenever the right hand side need not be expanded by the shell.
90593
90594 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90595
90596         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90597         library.  It's not correct, as some older glibcs are buggy.
90598         fnmatch wasn't fixed until glibc 2.2.
90599
90600         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90601         special shell magic here.
90602
90603 2001-09-16  Jim Meyering  <meyering@lucent.com>
90604
90605         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90606         * m4/jm-macros.m4: Require it.
90607
90608 2001-09-16  Jim Meyering  <meyering@lucent.com>
90609
90610         * lib/mkdir.c: New file.
90611
90612 2001-09-15  Jim Meyering  <meyering@lucent.com>
90613
90614         * m4/jm-macros.m4: Check for help2man.
90615
90616 2001-09-11  Jim Meyering  <meyering@lucent.com>
90617
90618         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90619         The body, by Paul Eggert, was moved here from configure.in.
90620         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90621
90622 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90623
90624         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90625         (jm_PREREQ): Use it.
90626
90627 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90628
90629         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90630         Use ssize_t, not int, to store result of readlink.
90631         Check for ssize_t overflow as well as size_t overflow,
90632         as POSIX says the result of readlink is implementation-defined
90633         when ssize_t overflows.
90634         Remove unnecessary cast to char*.
90635         Use free+malloc instead of realloc, as the storage doesn't need
90636         to be preserved and it's clearer and can be more efficient that way.
90637         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90638         * lib/xreadlink.h (xreadlink): Update prototype.
90639
90640 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90641
90642         * lib/xgetcwd.c: Revert some of the previous change; intead,
90643         fix the HAVE_GETCWD_NULL code to behave more like the
90644         !HAVE_GETCWD_NULL code used to.
90645
90646         Include "xalloc.h".
90647         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90648         invoke xalloc_die.
90649
90650 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90651
90652         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90653         sys/param.h, as pathmax.h includes them.
90654
90655 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90656
90657         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90658         (jm_PREREQ_XGETCWD): New macro.
90659
90660         * m4/getcwd.m4: New file.
90661
90662 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90663
90664         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90665         like the HAVE_GETCWD_NULL code.
90666         Include pathmax.h if not HAVE_GETCWD.
90667         Do not include xalloc.h.
90668         (INITIAL_BUFFER_SIZE): New symbol.
90669         Do not use xmalloc / xrealloc, since the caller is responsible for
90670         handling errors.  Preserve errno around `free' during failure.
90671         Do not overrun buffer when using getwd.
90672
90673 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90674
90675         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90676         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90677         getcwd (NULL, 0).
90678
90679 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90680
90681         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90682         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90683         spotted by Jim Meyering.
90684
90685 2001-09-03  Jim Meyering  <meyering@lucent.com>
90686
90687         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90688         failure.
90689
90690 2001-09-02  Jim Meyering  <meyering@lucent.com>
90691
90692         * lib/error.c: Update from GNU libc.
90693
90694 2001-09-01  Jim Meyering  <meyering@lucent.com>
90695
90696         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90697         Used by df.
90698
90699 2001-09-01  Jim Meyering  <meyering@lucent.com>
90700
90701         * lib/xreadlink.c: New file.
90702         * lib/xreadlink.h: New file.
90703         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90704         xreadlink.h.
90705
90706         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90707         doesn't conflict with sparc Solaris 7's definition in
90708         /usr/include/sys/int_types.h.
90709
90710         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90711         files.
90712         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90713         and strncasecmp as r-values.  Unixware didn't have declarations.
90714
90715 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90716
90717         * lib/xstrtol.h: Add copyright notice.
90718         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90719         LONGINT_INVALID_SUFFIX_CHAR.
90720
90721 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90722
90723         * lib/xstrtol.c (strtoimax): New decl.
90724
90725 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90726
90727         * lib/xgetcwd.c: Don't include pathmax.h.
90728         Include stdlib.h and unistd.h if available.
90729         Include xalloc.h.
90730         (xmalloc, xstrdup, free): Remove decls.
90731         (xgetcwd): Don't assume sizes fit in unsigned.
90732         Check for overflow when computing sizes.
90733         Simplify reallocation code.
90734
90735 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90736
90737         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90738         a directory's st_size can have an arbitrary value, so the old
90739         usage could waste an arbitrary amount of memory.  All uses
90740         changed.
90741         * lib/savedir.h: Update prototype.
90742
90743 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90744
90745         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90746
90747         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90748         old strtoimax.c.
90749
90750         Also, make the following further changes to make this file's
90751         configuration more similar to that of strtol.c:
90752         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90753         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90754         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90755         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90756         changed to signed values.
90757
90758         And make the following changes as well:
90759         Fix copyright notice, as 1999 was missing.
90760         (verify): New macro.
90761         (strtoimax): Check sizes at compile-time, not run-time.
90762         Prefer strtol to strtoll if both work.
90763         (main): Remove; it was not that useful and was a pain to maintain.
90764
90765         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90766
90767 2001-08-31  Jim Meyering  <meyering@lucent.com>
90768
90769         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90770         Use an initial, malloc'd, buffer of length 128 rather than
90771         a statically allocated one of length 1024.
90772
90773 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90774
90775         Simplify code, partly by assuming autoconf 2.52 semantics.
90776
90777         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90778
90779         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90780         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90781         All uses removed.
90782         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90783         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90784         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90785         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90786         jm_AC_HEADER_INTTYPES_H.
90787         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90788
90789         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90790
90791         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90792         Quote first arg of AC_DEFUN.
90793         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90794         since they are needed to parse the include file even if we need
90795         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90796         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90797         but with opposite signedness.
90798
90799 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90800
90801         Merge 'exclude' changes from tar 1.13.22.
90802         This fixes one or two unlikely storage allocation overflow bugs,
90803         but doesn't change user-visible behavior otherwise.
90804
90805 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90806
90807         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
90808         (jm_PREREQ_EXCLUDE): New macro.
90809
90810 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90811
90812         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90813         tm to be declared.
90814
90815 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90816
90817         * lib/hash.c: Remove '2001' from copyright notice.
90818
90819 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90820
90821         * lib/full-write.h: New file.
90822         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90823         * lib/full-write.c: Correct credits, as cccp.c no longer
90824         exists and anyway it was so heavily changed from the old cccp
90825         code as to be unrecognizable.  Include full-write.h.
90826         (full_write): Return size_t, with short writes meaning failure.
90827         All callers changed.  This fixes a bug with large buffers
90828         on 64-bit hosts.
90829         * lib/utime.c: Include full-write.h.
90830
90831 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90832
90833         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90834         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90835         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90836         Include if available.
90837         (<xalloc.h>): Include
90838         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90839         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90840         collide with FNM macros.
90841         (struct patopts): New struct.
90842         (struct exclude): Use it, as exclude patterns now come with options.
90843         (new_exclude): Support above changes.
90844         (new_exclude, add_exclude_file):
90845         Initial size must now be a power of two to simplify overflow checking.
90846         (free_exclude, fnmatch_no_wildcards): New function.
90847         (excluded_filename): No longer requires options arg, as the options
90848         are determined by add_exclude.  Now returns bool, not int.
90849         (excluded_filename, add_exclude):
90850         Add support for the fancy new exclusion options.
90851         (add_exclude, add_exclude_file): Now takes int options arg.
90852         Check for arithmetic overflow when computing sizes.
90853         (add_exclude_file): xrealloc might modify errno, so don't
90854         realloc until after errno might be used.
90855
90856         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90857         New macros.
90858         (free_exclude): New decl.
90859         (add_exclude, add_exclude_file): Now takes int options arg.
90860         (excluded_filename): No longer requires options arg, as the options
90861         are determined by add_exclude.  Now returns bool, not int.
90862
90863 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90864
90865         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90866
90867 2001-08-27  Jim Meyering  <meyering@lucent.com>
90868
90869         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90870
90871         * lib/version-etc.c (N_): Remove definition.
90872         Revert most of last change.
90873         Instead, simply don't mark the `Copyright...' string for translation.
90874         Based on advice from Paul Eggert.
90875
90876         * lib/strtoxmax.c: Tweak comment.
90877
90878 2001-08-26  Jim Meyering  <meyering@lucent.com>
90879
90880         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90881
90882         * m4/xstrtoimax.m4: New file.
90883         * m4/xstrtoumax.m4: Add comments explaining why we
90884         AC_REPLACE_FUNCS(strtol).
90885
90886 2001-08-26  Jim Meyering  <meyering@lucent.com>
90887
90888         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90889         of copyright with `%s' so translators don't get an untranslated
90890         message in 2002.
90891         (COPYRIGHT_YEAR): Define.
90892         (version_etc): Use fprintf rather than fputs.
90893         Suggestion from Ulrich Drepper.
90894
90895         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90896
90897         * lib/strtoll.c: New file, from GNU libc.
90898         * lib/xstrtoimax.c: New file.
90899
90900         * lib/xstrtol.h: Add xstrtoimax.
90901         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90902         * lib/strtoimax.c: New file.  Likewise, but first define
90903         STRTOUXMAX_SIGNED.
90904
90905         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90906         ...
90907         * lib/strtoxmax.c: ... then renamed to this.
90908
90909 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90910
90911         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90912         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90913         (jm_AC_TYPE_INTMAX_T): New macro.
90914         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90915
90916         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
90917
90918         * m4/longlong.m4: Renamed from ulonglong.m4.
90919         * m4/inttypes.m4: Renamed from inttypes_h.m4.
90920         * m4/uintmax_t.m4: Removed.
90921
90922 2001-08-13  Paul Eggert  <eggert@twinsun.com>
90923
90924         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
90925         Port to Solaris 8, where 'sed' requires a space after the 'r'
90926         command, and where sh dislikes "$/".  Clean up the spacing a bit.
90927         Redirect output to $tmp just once.
90928
90929 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
90930
90931         * lib/addext.c (<errno.h>): Include.
90932         (errno): Declare if not defined.
90933         (addext): Work correctly when pathconf returns -1 and leaves
90934         errno alone because there is no limit.  Also, work even if
90935         pathconf returns a value greater than SIZE_MAX.
90936
90937 2001-08-12  Jim Meyering  <meyering@lucent.com>
90938
90939         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
90940         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
90941         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
90942         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
90943         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
90944         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
90945         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
90946         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
90947         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
90948         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
90949         utime.m4, utimes.m4, xstrtoumax.m4:
90950         Quote the first argument in each use of AC_DEFUN.
90951
90952 2001-08-12  Jim Meyering  <meyering@lucent.com>
90953
90954         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
90955         Simply `return getcwd (NULL, 0);'.
90956         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
90957         Use 1300 as initial value for length, not PATH_MAX.
90958
90959         * lib/pathmax.h: Clean up cpp syntax.
90960
90961 2001-08-12  Jim Meyering  <meyering@lucent.com>
90962
90963         * lib/gettimeofday.c: New file.
90964         * lib/gtod.h: New file.
90965         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
90966
90967 2001-08-05  Jim Meyering  <meyering@lucent.com>
90968
90969         * m4/jm-macros.m4: Require autoconf-2.52.
90970
90971 2001-08-04  Jim Meyering  <meyering@lucent.com>
90972
90973         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
90974         stmt, to get in sync with glibc.
90975
90976 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90977
90978         The following changes are from gettext 0.10.39 as maintained by
90979         Bruno Haible.
90980
90981         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
90982         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
90983         with inverted sense.  All uses changed.
90984
90985         * lib/mbswidth.c: Don't include <limits.h>.
90986         Include <stdlib.h> and <string.h> unconditionally.
90987         (iswcntrl, mbsinit, ISCNTRL): New macros.
90988         (mbsnwidth): Use K&R style function declarations.
90989         Don't bother checking for MB_LEN_MAX == 1, since the compiler
90990         can optimize it when MB_CUR_MAX == 1.
90991         The width of control characters is zero, not 1.
90992
90993 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90994
90995         The following changes are from gettext 0.10.39 as maintained by
90996         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
90997
90998         * m4/codeset.m4: Upgrade to serial AM1.
90999         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91000         all uses changed.  Quote first arg of AC_DEFUN.
91001         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91002
91003         * m4/iconv.m4: Upgrade to serial AM2.
91004         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91005         Add --with-libconv-prefix.
91006         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91007         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91008         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91009         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91010         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91011
91012         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91013         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91014         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91015         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91016         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91017         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91018         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91019         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91020         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91021
91022         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91023         string.h any more.
91024
91025         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91026         not the default value.
91027
91028         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91029         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91030         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91031         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91032         Also check for iswcntrl, used for wcwidth fallback.
91033         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91034         to Autoconf 2.13.
91035
91036 2001-08-03  Jim Meyering  <meyering@lucent.com>
91037
91038         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91039         as it was in the original.  Reported by Paul Eggert.
91040
91041 2001-07-16  Jim Meyering  <meyering@lucent.com>
91042
91043         * m4/gettimeofday.m4: New file.
91044         Prompted by a report from Bernhard Baehr.
91045
91046 2001-07-15  Jim Meyering  <meyering@lucent.com>
91047
91048         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91049         stuff. Now it's in ../Makefile.cfg.
91050
91051 2001-07-15  Jim Meyering  <meyering@lucent.com>
91052
91053         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91054         (BUILT_SOURCES): Add unlocked-io.h.
91055         (io_functions): Define.
91056         (unlocked-io.h): New rule.
91057         (DISTCLEANFILES): Add unlocked-io.h.
91058         (all-local): Depend on unlocked-io.h, to ensure it is created.
91059
91060         * lib/unlocked-io.hin: New file
91061
91062         * lib/regex.c: Update from glibc.
91063
91064 2001-07-05  Jim Meyering  <meyering@lucent.com>
91065
91066         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91067         recommendation.
91068         (libfetish_a_SOURCES): Put all .h files here instead.
91069         Remove a thus-exposed (better checks in automake) duplicate and
91070         two unnecessary .h files.
91071
91072 2001-07-04  Jim Meyering  <meyering@lucent.com>
91073
91074         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91075         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91076         distcheck failure.
91077
91078 2001-07-02  Jim Meyering  <meyering@lucent.com>
91079
91080         The following changes were prompted by suggestions from Bruno Haible.
91081
91082         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91083         is now generated.
91084         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91085         definition of EXTRA_DIST.
91086         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91087         ensure that the generated file is created/updated whenever the list
91088         of $(unlocked_functions) is changed.
91089         (jm-glibc-io.m4): New rule.
91090         (unlocked-io.h): New rule -- currently unused.
91091
91092 2001-06-24  Jim Meyering  <meyering@lucent.com>
91093
91094         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91095         unmatched right bracket, rather than kludging it with an extra,
91096         falsely-matching quote in a comment.  Patch by Akim Demaille.
91097
91098 2001-06-11  Jim Meyering  <meyering@lucent.com>
91099
91100         * lib/regex.c: Update from GNU libc.
91101
91102 2001-05-27  Jim Meyering  <meyering@lucent.com>
91103
91104         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91105         Check for ut_type in struct utmp.
91106
91107 2001-05-27  Jim Meyering  <meyering@lucent.com>
91108
91109         * lib/readutmp.h (UT_TYPE): Define.
91110
91111 2001-05-24  Jim Meyering  <meyering@lucent.com>
91112
91113         * lib/argmatch.c: Include "quote.h".
91114         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91115         quote function.  Reported by Göran Uddeborg.
91116
91117 2001-05-22  Jim Meyering  <meyering@lucent.com>
91118
91119         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91120         now that we use the package-supplied version unconditionally.
91121         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91122
91123 2001-05-21  Jim Meyering  <meyering@lucent.com>
91124
91125         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91126         shell syntax errors.
91127
91128 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91129
91130         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91131
91132 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91133
91134         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91135         Don't bother to check library strftime, since
91136         we'll be using our own my_strftime function anyway.
91137         Define my_strftime instead of strftime.
91138
91139 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91140
91141         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91142         which is not yet declared.
91143
91144 2001-05-15  Jim Meyering  <meyering@lucent.com>
91145
91146         * m4/regex.m4: Use proper quoting so brackets appear in the test
91147         program.
91148         Reported by, and with help from, Bruno Haible.
91149
91150 2001-05-13  Jim Meyering  <meyering@lucent.com>
91151
91152         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91153         undefined.
91154
91155 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91156
91157         dirname code cleanup.  base_name now behaves more compatibly
91158         with POSIX basename when given file names that have trailing
91159         slashes, and similarly for dir_name.  Add new primitives
91160         base_len and dir_len.  Put the directory-name-related decls
91161         into dirname.h.
91162
91163         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91164         * lib/backupfile.c (base_name): Likewise.
91165         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91166         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91167         * lib/makepath.c (strip_trailing_slashes): Likewise.
91168         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91169         ISSLASH): Likewise.
91170         * lib/rename.c (strip_trailing_slashes): Likewise.
91171         * lib/same.c (base_name): Likewise.
91172         * lib/stripslash.c (ISSLASH): Likewise.
91173
91174         * lib/addext.c: Include <dirname.h> after size_t is defined.
91175         * lib/backupfile.c: Likewise.
91176
91177         * lib/addext.c (addext): Use base_len to trim redundant
91178         trailing slashes instead of doing it ourselves.
91179         But do not trim the last slash if it is not redundant.
91180
91181         * lib/backupfile.c (find_backup_file_name,
91182         max_backup_version): Use base_len instead of rolling it ourselves.
91183         Handle the case of "" and (on DOS) "C:" correctly.
91184
91185         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91186         needed. Include <string.h>, <dirname.h>.
91187         (base_name): Allow file names ending in slashes, other than names
91188         that are all slashes.  In this case, return the basename followed
91189         by the slashes.  This is more general, and can be used in places
91190         where the original base_name purposely had an assertion failure.
91191         (base_len): New function.
91192
91193         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91194         Do not include <assert.h>; no longer needed.
91195         Include xalloc.h.
91196         (memrchr): Remove decl.
91197         (dir_name_r): Remove.
91198         (dir_len): Renamed from dirlen.  All callers changed.
91199         Rewrite in terms of base_name, for simplicity and consistency.
91200         (dir_name): Never return NULL.  All callers changed.
91201         Do not include <stdlib.h> in test program; no longer needed.
91202         return 0; is fine for test program.
91203
91204         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91205         New macros.
91206         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91207
91208         * lib/path-concat.c (path_concat): Use base_len to compute
91209         base length, not strlen; this means we cannot rely on memcpy
91210         to null-terminate.
91211
91212         * lib/same.c (STREQ): Remove.
91213         (same_name): Handle the case where the basename ends in trailing '/'.
91214
91215         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91216         a slash was stripped.  Do not strip the last slash after a
91217         file system prefix.
91218
91219 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91220
91221         * lib/Makefile.am (libfetish_a_SOURCES):
91222         Add strftime.c, since we now compile it on all hosts.
91223
91224         * lib/strftime.c (my_strftime):
91225         Define to nstrftime if emacs, but only if my_strftime is not defined.
91226         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91227         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91228         Add one more extra argument: a nanoseconds value.
91229         All uses changed.
91230         (ns): New macro.
91231         (my_strftime function): Add %N format.
91232         (emacs_strftimeu): Renamed from emacs_strftime,
91233         with extra ut argument.
91234
91235 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91236
91237         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91238
91239 2001-04-21  Jim Meyering  <meyering@lucent.com>
91240
91241         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91242         doesn't interfere.
91243
91244 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91245
91246         * m4/ftruncate.m4: Check for chsize.
91247         Link with ftruncate.o unconditionally if ftruncate is missing.
91248         This was required when cross-compiling to i586-mingw32msvc.
91249
91250 2001-04-08  Jim Meyering  <meyering@lucent.com>
91251
91252         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91253         recomputed; that's necessary when the offset spans a DST transition.
91254         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91255
91256 2001-04-02  Jim Meyering  <meyering@lucent.com>
91257
91258         * lib/regex.h, regex.c: Update from GNU libc.
91259
91260 2001-03-24  Jim Meyering  <meyering@lucent.com>
91261
91262         * m4/jm-macros.m4: Require autoconf-2.49d.
91263
91264 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91265
91266         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91267
91268 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91269
91270         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91271
91272 2001-03-17  Jim Meyering  <meyering@lucent.com>
91273
91274         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91275         now that the version in autoconf is equivalent.
91276         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91277
91278         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91279         Suggestion from Akim Demaille.
91280
91281         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91282         (jm_PREREQ_TEMPNAME): New function.
91283
91284 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91285
91286         * lib/tempname.c (uint64_t): Define to uintmax_t if
91287         not defined, and if UINT64_MAX is not defined.
91288         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91289         Reported by John David Anglin.
91290
91291 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91292
91293         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91294         resolve alias if codeset is empty.
91295         * lib/config.charset (BeOS): Use wildcard syntax.
91296
91297 2001-03-13  Jim Meyering  <meyering@lucent.com>
91298
91299         * lib/path-concat.c (path_concat)
91300         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91301         concatenating e.g., `C:' and `foo'.
91302         From Bruno Haible.
91303
91304 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91305
91306         * lib/localcharset.c (locale_charset): Don't use
91307         setlocale(LC_CTYPE,NULL). Don't return NULL.
91308         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91309
91310 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91311
91312         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91313         support for DOS/DJGPP.
91314
91315 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91316
91317         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91318         lacks mkstemp.  Compile our own tempname.c if we compile our own
91319         mkstemp.c, as mkstemp relies on tempname.
91320
91321 2001-03-01  Jim Meyering  <meyering@lucent.com>
91322
91323         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91324         AH_VERBATIM really does output its argument verbatim.
91325
91326 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91327
91328         * lib/Makefile.am (libfetish_a_SOURCES):
91329         Add dup-safer.c, fopen-safer.c.
91330         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91331
91332         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91333         * lib/unistd-safer.h: New files.
91334
91335 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91336
91337         The mkstemp replacement is taken from glibc 2.2.2, with some
91338         portability fixes for use outside glibc, as follows:
91339
91340         * lib/tempname.c (struct_stat64): New macro.
91341         (direxists, __gen_tempname): Use it.
91342         This avoids a portability problem with Solaris 8.
91343
91344         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91345         (<stddef.h>, <stdint.h>, <string.h>):
91346         Include only if STDC_HEADERS || _LIBC.
91347         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91348         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91349         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91350         (__set_errno): Define this macro if <errno.h> doesn't.
91351         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91352         Define these macros if <stdio.h> doesn't.
91353         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91354         Define these macros if <sys/stat.h>
91355         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91356         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91357         __xstat64): Define if not _LIBC.
91358         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91359         (__gen_tempname): Invoke gettimeofday only if
91360         HAVE_GETTIMEOFDAY || _LIBC;
91361         otherwise, fall back on plain "time".
91362         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91363
91364         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91365
91366         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91367
91368 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91369
91370         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91371
91372 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91373
91374         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91375         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91376         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91377         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91378
91379 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91380
91381         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91382         Remove workaround macros for hosts that have mbrtowc but not
91383         mbstate_t, as we now insist on proper declarations for both
91384         before using mbrtowc.
91385
91386 2001-02-17  Jim Meyering  <meyering@lucent.com>
91387
91388         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91389         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91390         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91391         UnixWare 7.1.1.
91392
91393         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91394         rather than AC_CACHE_VAL.
91395
91396 2001-02-17  Jim Meyering  <meyering@lucent.com>
91397
91398         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91399         around included file name.
91400
91401         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91402
91403         * lib/strftime.c: Update from GNU libc (the only changes were to
91404         comments).
91405
91406 2001-02-17  Jim Meyering  <meyering@lucent.com>
91407
91408         * lib/regex.c: Update from libc.
91409
91410 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91411
91412         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91413         clash.
91414
91415 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91416
91417         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91418         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91419         Reported by Mark Hounschell via Paul Eggert.
91420
91421 2001-02-07  Jim Meyering  <meyering@lucent.com>
91422
91423         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91424
91425 2001-02-05  Jim Meyering  <meyering@lucent.com>
91426
91427         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91428         it includes the patch required for `large file' support with at least
91429         HP-UX's 10.20 /bin/cc.
91430
91431 2001-02-03  Jim Meyering  <meyering@lucent.com>
91432
91433         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91434         AS_IF, now that it works once again (mysteriously).
91435         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91436
91437 2001-01-30  Jim Meyering  <meyering@lucent.com>
91438
91439         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91440         * m4/chown.m4: Rename conftestchown to conftest.chown.
91441         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91442         s/conftestdir2/conftest.d2/.
91443         * m4/utimes.m4: s/conftestdata/conftest.data/
91444         Inspired by Pavel Roskin's change in autoconf.
91445
91446 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91447
91448         * lib/config.charset: Update for FreeBSD 4.2.
91449
91450 2001-01-27  Jim Meyering  <meyering@lucent.com>
91451
91452         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91453         a use of AS_IF.
91454         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91455
91456 2001-01-26  Jim Meyering  <meyering@lucent.com>
91457
91458         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91459         quotearg.c includes it.
91460
91461 2001-01-26  Jim Meyering  <meyering@lucent.com>
91462
91463         * lib/quotearg.c: Include stddef.h.
91464         * lib/quote.c: Include stddef.h.
91465         Reported by Axel Kittenberger.
91466
91467         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91468         line in double quotes so that it evokes a better diagnostic.
91469         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91470         Reported by Axel Kittenberger.
91471
91472 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91473
91474         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91475         as if it was a `charset'.
91476
91477 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91478
91479         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91480         has const.
91481
91482 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91483
91484         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91485         to avoid a warning.  Add back 'const' to inptr.
91486
91487 2001-01-20  Jim Meyering  <meyering@lucent.com>
91488
91489         Be sure that headers are checked before used in code compiled
91490         for the type checks.
91491         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91492         In place of that, invoke jm_CHECK_ALL_TYPES.
91493         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91494         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91495         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91496         The check for ssize_t was mistakenly run before the test for unistd.h.
91497
91498         The configure-time check for stdbool.h was missing.
91499         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91500         (jm_PREREQ_HASH): New function.
91501
91502 2001-01-17  Jim Meyering  <meyering@lucent.com>
91503
91504         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91505         for autoconf-2.49c.
91506         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91507
91508 2001-01-16  Jim Meyering  <meyering@lucent.com>
91509
91510         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91511         From Bruno Haible.
91512
91513 2001-01-14  Jim Meyering  <meyering@lucent.com>
91514
91515         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91516         foo and bar.  Create conftestdir/ in the script, not in the C code.
91517         Remove directories in the script, not in the C code.
91518         Remove conftestdir{,2} before trying to create the directory.
91519         Make the entire configure script fail if the mkdir fails.
91520
91521 2001-01-14  Jim Meyering  <meyering@lucent.com>
91522
91523         * lib/rename.c: New file.  From Volker Borchert.
91524         Include stdlib.h, string.h or strings.h, and xalloc.h.
91525         Use strip_trailing_slashes rather than open-coding it.
91526
91527 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91528
91529         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91530
91531 2001-01-03  Jim Meyering  <meyering@lucent.com>
91532
91533         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91534         of local `inptr' to avoid warning with some system declarations of
91535         iconv.
91536
91537 2001-01-02  Volker Borchert  <bt@teknon.de>
91538
91539         * m4/rename.m4: New file.
91540         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91541
91542 2001-01-01  Jim Meyering  <meyering@lucent.com>
91543
91544         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91545         even on systems with utmpx.h.  It's necessary for the declaration of
91546         utmp's ut_user member.  Reported by Andreas Jaeger.
91547
91548         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91549         available. They are required for the declarations of getgrgid and
91550         getpwuid resp.
91551         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91552         Reported by Andreas Jaeger.
91553
91554 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91555
91556         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91557         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91558         so `make install' also works in VPATH builds.
91559
91560 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91561
91562         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91563         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91564         can be used in subdirectories.
91565
91566 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91567
91568         * lib/modechange.c: Do not assume that mode_t uses the
91569         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91570         the other-execute bit of FOO even if S_IXOTH != 1.
91571
91572         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91573         WOTH, XOTH, ALLM): New macros.
91574         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91575          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91576         Use them.
91577         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91578         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91579         (mode_compile):
91580         No need to use uintmax_t; unsigned long is long enough.
91581         Don't bother to get suffix since we don't use it.
91582
91583 2000-12-26  Jim Meyering  <meyering@lucent.com>
91584
91585         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91586         better with autoheader.
91587
91588 2000-12-24  Jim Meyering  <meyering@lucent.com>
91589
91590         * lib/hash.c (is_prime): Return explicit boolean values.
91591         (hash_get_first): Return NULL to appease Irix5.6's 89.
91592         Reported by Nelson Beebe.
91593
91594 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91595
91596         * lib/localcharset.c (locale_charset): Add support for Win32.
91597
91598 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91599
91600         * lib/physmem.h, lib/physmem.c: New files.
91601
91602         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91603         (noinst_HEADERS): Add physmem.h.
91604
91605         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91606         't' for compatibility with Solaris 8 sort.
91607
91608 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91609
91610         * lib/config.charset: Add support for BeOS.
91611
91612 2000-12-17  Jim Meyering  <meyering@lucent.com>
91613
91614         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91615         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91616
91617 2000-12-16  Jim Meyering  <meyering@lucent.com>
91618
91619         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91620         N and M) would have treated it like `chown N:N FILE'.
91621
91622         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91623
91624 2000-12-16  Jim Meyering  <meyering@lucent.com>
91625
91626         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91627         SHELLS_FILE to a file name that's useful on djgpp systems.
91628         Include stdlib.h.
91629         (ADDITIONAL_DEFAULT_SHELLS): Define.
91630         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91631         Based mostly on a patch from Prashant TR.
91632
91633 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91634
91635         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91636         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91637         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91638
91639 2000-12-08  Andreas Schwab  <schwab@suse.de>
91640
91641         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91642         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91643
91644 2000-12-07  Jim Meyering  <meyering@lucent.com>
91645
91646         * lib/stripslash.c (ISSLASH): Define.
91647         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91648         `/'.
91649         From Prashant TR.
91650
91651         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91652         (dir_name_r): Declare this function as static.
91653         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91654         manifest itself on a name containing a mix of slashes and
91655         backslashes.
91656         Make this function work with names starting with a DOS-style
91657         drive letter and colon prefix.
91658         (dir_name): Append `.' if necessary.
91659         Based mostly on patches from Prashant TR and Eli Zaretskii.
91660
91661         * lib/dirname.h (dir_name_r): Remove prototype.
91662
91663 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91664
91665         * m4/off_t-format.m4: Remove this file.
91666         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91667
91668 2000-12-06  Jim Meyering  <meyering@lucent.com>
91669
91670         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91671         replacement strtoull, we may well need the replacement strtoul, too.
91672         Check for declarations of strtoul and strtoull.
91673         Check for strtol.  Mainly as a cue to cause automake to include
91674         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91675         Check for limits.h -- strtol.c needs it.
91676
91677 2000-12-05  Jim Meyering  <meyering@lucent.com>
91678
91679         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91680
91681 2000-12-04  Jim Meyering  <meyering@lucent.com>
91682
91683         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91684         Also include memory.h, stdlib.h, unistd.h if appropriate.
91685         Reported by Andreas Jaeger (conflicting declaration of malloc).
91686
91687 2000-12-02  Jim Meyering  <meyering@lucent.com>
91688
91689         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91690         * m4/jm-macros.m4 (jm_MACROS): require it.
91691
91692 2000-12-02  Jim Meyering  <meyering@lucent.com>
91693
91694         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91695
91696 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91697
91698         * lib/memrchr.c: Include <config.h> before any system include file.
91699
91700 2000-11-30  Jim Meyering  <meyering@lucent.com>
91701
91702         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91703
91704 2000-11-30  Jim Meyering  <meyering@lucent.com>
91705
91706         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91707
91708 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91709
91710         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91711
91712 2000-11-26  Jim Meyering  <meyering@lucent.com>
91713
91714         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91715
91716 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91717
91718         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91719         size of (size_t) -1; it's not portable.
91720
91721 2000-11-17  Jim Meyering  <meyering@lucent.com>
91722
91723         * lib/strstr.c: Update from GNU libc.
91724
91725 2000-11-17  Akim Demaille  <akim@epita.fr>
91726
91727         * lib/obstack.h: Formatting changes.
91728         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91729         prevent type checking.
91730         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91731         cast the value to (void *): assigning a `foo *' to a `void *'
91732         variable is valid.
91733         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91734
91735 2000-11-16  Jim Meyering  <meyering@lucent.com>
91736
91737         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91738
91739 2000-11-11  Jim Meyering  <meyering@lucent.com>
91740
91741         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91742
91743 2000-11-10  Jim Meyering  <meyering@lucent.com>
91744
91745         * lib/obstack.h: Update from GNU libc.
91746         * lib/obstack.c: Likewise.
91747
91748 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91749
91750         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91751
91752 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91753
91754         * lib/getusershell.c (setusershell): Use rewind rather than
91755         fseek/fseeko, to avoid configuration hassles with fseeko.
91756         Don't bother opening SHELLS_FILE if shellstream is NULL;
91757         it's not necessary.
91758
91759 2000-11-05  Jim Meyering  <meyering@lucent.com>
91760
91761         * lib/makepath.h (make_dir): Declare.
91762         * lib/makepath.c (make_dir): Remove `static' attribute.
91763         Tweak a comment.
91764
91765 2000-11-04  Jim Meyering  <meyering@lucent.com>
91766
91767         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91768
91769 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91770
91771         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91772         last one in a bucket, advance to the next bucket.
91773
91774 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91775
91776         * lib/fnmatch.c: Do not comment out all the code if we are using
91777         the GNU C library, because in some cases we are replacing buggy
91778         code in the GNU C library itself.
91779
91780 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91781
91782         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91783         (regex_compile): Catch bogus \(\1\).
91784
91785 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91786
91787         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91788         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91789         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91790
91791 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91792
91793         * lib/error.h, getline.h, modechange.h:
91794         Remove "2000" from Copyright line, as the file hasn't been
91795         changed this year other than in the copyright notice.
91796
91797         * lib/xalloc.h: Add "2000" to Copyright line, as this file
91798         was changed this year.
91799
91800 2000-10-29  Jim Meyering  <meyering@lucent.com>
91801
91802         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
91803         renaming.
91804         * m4/ls-mntd-fs.m4: Likewise
91805
91806 2000-10-29  Jim Meyering  <meyering@lucent.com>
91807
91808         * lib/xstat.in: Fix grammar in comment.
91809
91810 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
91811
91812         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91813         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91814         doesn't define __restrict_arr.
91815
91816 2000-10-28  Jim Meyering  <meyering@lucent.com>
91817
91818         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91819         (jm_PREREQ_MEMCHR): New function.
91820
91821 2000-10-28  Jim Meyering  <meyering@lucent.com>
91822
91823         * lib/memchr.c: Update from libc.
91824         Adjust for portability:
91825         [HAVE_STDLIB_H]: Include stdlib.h.
91826         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91827         Undef __memchr, too.
91828         [!weak_alias]: Define __memchr to memchr.
91829
91830         * lib/regex.c: Update from libc.
91831         * lib/regex.h: Likewise.
91832         * lib/getopt1.c: Likewise.
91833         * lib/memcmp.c: Likewise.
91834
91835         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91836         Avoid using fseek, when possible -- it's broken by design.
91837         Patch by Ulrich Drepper.
91838
91839 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91840
91841         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91842         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91843         Giving in to popular pressure to shut up the compiler with casts.
91844
91845 2000-10-26  Jim Meyering  <meyering@lucent.com>
91846
91847         * lib/strftime.c: Update from libc.
91848
91849 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91850
91851         * regex.c: More `unsigned char' -> `re_char' changes.
91852         Also change several `int' into `re_wchar_t'.
91853         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91854         (PUSH_FAILURE_POINTER): Don't cast any more.
91855         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91856         We want GCC to complain, since this piece of code makes
91857         re_match non-reentrant, which *should* be fixed.
91858         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91859         (EXTEND_BUFFER): Use RETALLOC.
91860         (SET_LIST_BIT): Don't cast.
91861         (re_wchar_t): New type.
91862         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91863         that those two functions will always properly return.
91864         (IMMEDIATE_QUIT_CHECK): Cast to void.
91865         (analyse_first): Use recursion rather than an explicit stack.
91866         (re_compile_fastmap): Can't fail anymore.
91867         (re_search_2): Don't check re_compile_fastmap for failure.
91868         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91869         Now also sets the new value (passed in a new argument).
91870         (re_match_2_internal): Use it.
91871         Also, use a new var `reg' of type size_t when looping through regs
91872         rather than reuse the inappropriate `mcnt'.
91873
91874 2000-10-25  Jim Meyering  <meyering@lucent.com>
91875
91876         * lib/obstack.c: Update from libc.
91877
91878 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91879
91880         * regex.c (regex_compile): Change the way of handling a range from
91881         a char less than 256 to a char not less than 256.
91882
91883 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91884
91885         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91886         NT-Emacs only.
91887         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91888         so that re_search functions only quit when callers expect them to.
91889
91890 2000-10-23  Jim Meyering  <meyering@lucent.com>
91891
91892         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91893         wrong.  That set_locale call must not have any side effects.
91894         From Paul Eggert.
91895
91896 2000-10-22  Jim Meyering  <meyering@lucent.com>
91897
91898         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91899         [CYCLIC]: Remove now-unused definition.
91900
91901         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91902         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91903         Suggestion from Ulrich Drepper.
91904
91905 2000-10-21  Jim Meyering  <meyering@lucent.com>
91906
91907         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91908         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91909         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91910
91911 2000-10-21  Jim Meyering  <meyering@lucent.com>
91912
91913         * lib/dirname.c (memrchr): Declare if necessary.
91914         (dir_name): Remove the restriction that there be no
91915         trailing slashes.  Now, this code skips past them, effectively
91916         ignoring them.
91917         [TEST_DIRNAME] (main): New unit tests.
91918
91919         * lib/memrchr.c: New file from GNU libc.
91920         Undef __memrchr, too.
91921         [!weak_alias]: Define __memrchr to memrchr.
91922         Guard weak_alias use with `#ifdef weak_alias'.
91923
91924 2000-10-21  Jim Meyering  <meyering@lucent.com>
91925
91926         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
91927         (dir_name): Use dir_name_r.
91928         * lib/dirname.h (dir_name_r): Declare it.
91929
91930 2000-10-17  Jim Meyering  <meyering@lucent.com>
91931
91932         * lib/quote.h (PARAMS): Define and use.
91933         Reported by Akim Demaille.
91934
91935         * lib/getopt.c: Update from libc.
91936
91937 2000-10-16  Jim Meyering  <meyering@lucent.com>
91938
91939         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
91940         setlocale.
91941         From Jan Fedak.
91942
91943 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
91944
91945         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
91946
91947 2000-09-25  Jim Meyering  <meyering@lucent.com>
91948
91949         * lib/md5.h (rol): Define (from GnuPG).
91950
91951         * lib/sha.c: Give credit (GnuPG) where due.
91952         (M): Use rol rather than open-coding it.
91953         Add a FIXME comment.
91954
91955 2000-09-21  Jim Meyering  <meyering@lucent.com>
91956
91957         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
91958         Reported by Michael Stone.
91959
91960 2000-09-20  Jim Meyering  <meyering@lucent.com>
91961
91962         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
91963         (noinst_HEADERS): Add sha.h.
91964         Based on code from Scott G. Miller and from GnuPG.
91965
91966 2000-09-18  Jim Meyering  <meyering@lucent.com>
91967
91968         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
91969         LIBS. Otherwise, everyone ends up linking with -lelf for some
91970         configurations.
91971         Reported by Mike Stone.
91972
91973 2000-09-15  Jim Meyering  <meyering@lucent.com>
91974
91975         * lib/regex.c: Update from libc.
91976
91977 2000-09-10  Jim Meyering  <meyering@lucent.com>
91978
91979         * lib/getopt.c (_getopt_internal): Update from glibc.
91980
91981 2000-09-09  Jim Meyering  <meyering@lucent.com>
91982
91983         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
91984         think it should be used as a general replacement for isascii.
91985         * lib/fnmatch.c: Likewise.
91986         * lib/mbswidth.c: Likewise
91987         * lib/regex.c: Likewise.
91988
91989         Don't use atoi.
91990         * lib/userspec.c: Include sys/param.h and limits.h.
91991         Include xstrtol.h.
91992         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91993         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
91994         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
91995         UID, GID.  Check range.
91996
91997 2000-09-06  Jim Meyering  <meyering@lucent.com>
91998
91999         * lib/getopt.c (_getopt_internal): Update from glibc.
92000
92001 2000-08-30  Jim Meyering  <meyering@lucent.com>
92002
92003         * lib/strftime.c: Merge in changes from GNU libc.
92004
92005 2000-08-26  Jim Meyering  <meyering@lucent.com>
92006
92007         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92008         * m4/fpending.m4: New file.
92009
92010 2000-08-26  Jim Meyering  <meyering@lucent.com>
92011
92012         * lib/closeout.c: Include "__fpending.h".
92013         (close_stdout_status): Return right away if there's nothing to flush.
92014
92015         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92016         * lib/__fpending.c: New file.
92017         * lib/__fpending.h: New file.
92018
92019 2000-08-20  Jim Meyering  <meyering@lucent.com>
92020
92021         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92022         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92023         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92024
92025 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92026
92027         Improve fileutils installation on systems where running
92028         programs (like install) can't be unlinked.
92029         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92030         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92031
92032 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92033
92034         Standardize on "memory exhausted" instead of "Memory exhausted"
92035         or "virtual memory exhausted".
92036         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92037         "virtual memory exhausted".
92038         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92039         our own message.
92040         * lib/userspec.c (parse_user_spec): Likewise.
92041         * lib/bumpalloc.h: comment fix
92042         * lib/same.c, userspec.c: Include xalloc.h.
92043
92044         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92045         not char *const and pointing to a constant array.
92046         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92047         (xrealloc): Comment fix.
92048
92049         * lib/userspec.c (parse_user_spec):
92050         Don't translate a message until just before returning,
92051         to avoid unnecessary translation.
92052
92053 2000-08-07  Jim Meyering  <meyering@lucent.com>
92054
92055         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92056         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92057         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92058         getgroups.c, gethostname.c, getopt.h, group-member.c,
92059         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92060         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92061         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92062         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92063         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92064         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92065         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92066         yesno.c: Back out Copyright date changes for each file with no change
92067         this year.  This eases coordination with other programs using the same
92068         source code modules.  From Paul Eggert.
92069
92070 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92071
92072         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92073         not char, for compatibility with glibc 2.1.3 strftime.c.
92074
92075 2000-08-03  Greg McGary  <greg@mcgary.org>
92076
92077         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92078         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92079         (EXTEND_BUFFER): Use them.
92080
92081 2000-08-01  Jim Meyering  <meyering@lucent.com>
92082
92083         * lib/dirname.c (ISSLASH): Define.
92084         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92085         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92086         both `\' and `/' may be use as path separators.
92087         Based on a patch from Prashant TR.
92088
92089 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92090
92091         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92092         slot vector a constant, since it might get modified.
92093
92094 2000-07-31  Jim Meyering  <meyering@lucent.com>
92095
92096         * lib/xmalloc.c: Use `virtual memory exhausted', not
92097         `Memory exhausted'.
92098         * lib/obstack.c (print_and_abort): Likewise.
92099
92100 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92101
92102         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92103         buffer, so that the caller can always quote one small
92104         component of a "memory exhausted" message in slot 0.
92105         From a suggestion by Jim Meyering.
92106
92107 2000-07-30  Jim Meyering  <meyering@lucent.com>
92108
92109         * lib/makepath.c (make_path): Quote the other instance, too.
92110
92111         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92112         (STATIC_BUF_SIZE): Define.
92113         (quotearg_n_options): Use only statically allocated storage when
92114         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92115         than STATIC_BUF_SIZE.
92116
92117 2000-07-29  Jim Meyering  <meyering@lucent.com>
92118
92119         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92120         * lib/dirname.c (dir_name): Likewise.
92121
92122         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92123         `/'.
92124
92125         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92126         (dir_name): Assert that there are no trailing slashes.
92127
92128 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92129
92130         * lib/mbswidth.h (mbswidth): Add a flags argument.
92131         (mbswidth): New declaration.
92132         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92133         * lib/mbswidth.c (mbswidth): Add a flags argument.
92134         (mbsnwidth): New function.
92135
92136 2000-07-24  Jim Meyering  <meyering@lucent.com>
92137
92138         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92139
92140 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92141
92142         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92143
92144 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92145
92146         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92147         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92148         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92149         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92150         invoke multibyte primitives.
92151
92152 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92153
92154         * lib/quotearg.c:
92155         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92156         so that mbstate_t is always defined.
92157
92158         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92159         be 1 in at least one GCC installation, and this configuration
92160         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92161         performance on hosts that have mbrtowc but have only unibyte
92162         locales, but I assume these hosts are rare.
92163
92164 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92165
92166         * lib/mbswidth.c (_XOPEN_SOURCE):
92167         Don't define; this causes problems on Solaris 7.
92168         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92169
92170 2000-07-23  Jim Meyering  <meyering@lucent.com>
92171
92172         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92173         too: getgrgid, getpwuid, getuid.
92174
92175 2000-07-23  Jim Meyering  <meyering@lucent.com>
92176
92177         * lib/basename.c (base_name): Add an assertion.
92178
92179 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92180
92181         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92182         shadow its mbsinit function.
92183
92184 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92185
92186         * lib/mbswidth.h: New file.
92187         * lib/mbswidth.c: New file.
92188         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92189         (noinst_HEADERS): Add mbswidth.h.
92190
92191 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92192
92193         * lib/config.charset: Add support for FreeBSD. Improve support for
92194         HP-UX and IRIX 6.
92195
92196 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92197
92198         * m4/mbswidth.m4: New file.
92199         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92200
92201 2000-07-15  Jim Meyering  <meyering@lucent.com>
92202
92203         * lib/makepath.c: Include quote.h.
92204         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92205         corresponding argument in a `quote (...)' call.
92206         Give better diagnostics.
92207
92208         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92209         (noinst_HEADERS): Add quote.h.
92210
92211         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92212         from tar's src/misc.c.
92213         * lib/quote.h: New file.  Prototypes for same.
92214
92215 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92216
92217         From a suggestion by Bruno Haible.
92218         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92219         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92220         to decide whether to define the BeOS workaround macro;
92221         this adjusts to the change to AC_MBSTATE_T.
92222
92223 2000-07-14  Jim Meyering  <meyering@lucent.com>
92224
92225         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92226         jm_AC_TYPE_UINTMAX_T.
92227
92228 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92229
92230         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92231
92232         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92233         quotearg_buffer_restyled): Add support for
92234         clocale_quoting_style.  Undo previous change to
92235         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92236         and "{RIGHT QUOTATION MARK}" msgids.
92237
92238 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92239
92240         From a suggestion by Bruno Haible.
92241         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92242         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92243         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92244         and mbstate_t, to a single-part test that simply defines mbstate_t.
92245         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92246         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92247
92248 2000-07-10  Jim Meyering  <meyering@lucent.com>
92249
92250         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92251
92252         * m4/gnu-source.m4: Output to confdefs.h directly.
92253         Suggestion from Akim Demaille.
92254
92255 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92256
92257         The old behavior of quoting `like this' doesn't look good with
92258         newer, ISO-style fonts.  See:
92259         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92260
92261         Instead, quote "like this" by default.  Let the translator
92262         tailor the locale-specific quoting behavior by providing
92263         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92264
92265         * lib/quotearg.c (N_): New macro.
92266         (gettext_default): New function.
92267         (quotearg_buffer_restyled): Use
92268         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92269         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92270
92271 2000-07-09  Jim Meyering  <meyering@lucent.com>
92272
92273         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92274         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92275
92276         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92277         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92278
92279 2000-07-09  Jim Meyering  <meyering@lucent.com>
92280
92281         * lib/Most files: Update copyright dates to include 2000.
92282
92283 2000-07-08  Jim Meyering  <meyering@lucent.com>
92284
92285         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92286         if not defined.
92287         (xgethostname): Remove now-unnecessary #ifdef.
92288         Move declaration of `err' into loop where it's used.
92289
92290 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92291         and Bruno Haible  <haible@clisp.cons.org>
92292
92293         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92294         only if the test for an object-type mbstate_t fails.  This
92295         prevents us from mistakenly reporting that mbstate_t is a
92296         system object type after we "#define mbstate_t int" to work
92297         around its lack.
92298
92299 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92300         and Bruno Haible  <haible@clisp.cons.org>
92301
92302         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92303
92304 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92305
92306         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92307         to strerror_r.
92308         Include <ctype.h> for use of isalpha.
92309
92310 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92311
92312         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92313         by allocating a larger buffer. Test the gethostname return value for
92314         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92315         returns an error and ENAMETOOLONG isn't defined.
92316
92317 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92318
92319         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92320         dimension.
92321
92322 2000-07-04  Jim Meyering  <meyering@lucent.com>
92323
92324         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92325         of the deprecated AC_CHECKING.
92326
92327 2000-07-04  Jim Meyering  <meyering@lucent.com>
92328
92329         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92330         Reported by Bruno Haible.
92331
92332 2000-07-04  Jim Meyering  <meyering@lucent.com>
92333
92334         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92335         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92336         lacks mbrtowc.
92337
92338 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92339
92340         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92341         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92342
92343 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92344         and Bruno Haible  <haible@clisp.cons.org>
92345
92346         * lib/quotearg.c (mbrtowc):
92347         Assign to *pwc, and return 1 only if result is nonzero.
92348         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92349
92350 2000-07-03  Jim Meyering  <meyering@lucent.com>
92351
92352         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92353
92354 2000-07-03  Jim Meyering  <meyering@lucent.com>
92355
92356         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92357         This is necessary to get a definition of e.g., UTMP_FILE on
92358         HP-UX 10.20.
92359         From Bob Proulx.
92360
92361 2000-07-02  Jim Meyering  <meyering@lucent.com>
92362
92363         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92364
92365         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92366         AC_LIBOBJ(function_name).
92367         * m4/chown.m4: Likewise.
92368         * m4/fnmatch.m4: Likewise.
92369         * m4/ftruncate.m4: Likewise.
92370         * m4/getgroups.m4: Likewise.
92371         * m4/getline.m4: Likewise.
92372         * m4/group-member.m4: Likewise.
92373         * m4/jm-macros.m4: Likewise.
92374         * m4/lstat.m4: Likewise.
92375         * m4/malloc.m4: Likewise.
92376         * m4/memcmp.m4: Likewise.
92377         * m4/nanosleep.m4: Likewise.
92378         * m4/putenv.m4: Likewise.
92379         * m4/realloc.m4: Likewise.
92380         * m4/regex.m4: Likewise.
92381         * m4/stat.m4: Likewise.
92382         * m4/strftime.m4: Likewise.
92383
92384 2000-07-02  Jim Meyering  <meyering@lucent.com>
92385
92386         * lib/quotearg.c (mbstate_t): Don't define here.
92387
92388 2000-07-02  Jim Meyering  <meyering@lucent.com>
92389
92390         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92391
92392 2000-07-01  Jim Meyering  <meyering@lucent.com>
92393
92394         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92395
92396 2000-07-01  Jim Meyering  <meyering@lucent.com>
92397
92398         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92399         problem.
92400
92401 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92402
92403         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92404         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92405
92406 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92407
92408         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92409         per change in ../m4/ls-mntd-fs.m4.
92410         (read_filesystem_list): Ignore symbolic links.
92411
92412 2000-06-29  Jim Meyering  <meyering@lucent.com>
92413
92414         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92415         for declaration of strcmp.
92416
92417         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92418
92419         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92420         Avoid warning by casting result to `char *' to remove `const'.
92421
92422 2000-06-28  Jim Meyering  <meyering@lucent.com>
92423
92424         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92425         included by quotearg.c, for which we perform this test.  From
92426         Bruno Haible.
92427
92428 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92429
92430         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92431         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92432         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92433
92434 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92435
92436         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92437
92438 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92439
92440         savedir now sets errno on failure and invokes xmalloc to get memory.
92441         Fix a couple of other minor bugs while we're at it.
92442
92443         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92444         (NAMLEN): Remove macro.
92445         (malloc, realloc): Remove decls.
92446         (stpcpy): Likewise.
92447         ("xalloc.h"): Include.
92448         (NAME_SIZE_DEFAULT): New macro.
92449         (savedir): Use xmalloc / xrealloc to allocate memory.
92450         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92451         Skip "" directory entries.
92452         Use strlen to calculate directory entry length, since the old method
92453         is rarely used these days and isn't worth supporting.
92454         Don't use a pointer after freeing it.
92455         Check for integer overflow when calculating allocation size.
92456         Use memcpy to copy entries, instead of stpcpy.
92457         Set errno properly when returning NULL.
92458         Check for readdir error.
92459
92460 2000-06-26  Jim Meyering  <meyering@lucent.com>
92461
92462         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92463
92464 2000-06-25  Jim Meyering  <meyering@lucent.com>
92465
92466         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92467         Linux header bug when _XOPEN_SOURCE is defined to 500.
92468
92469 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92470
92471         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92472         deficiency.
92473
92474 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92475
92476         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92477         Include xalloc.h.
92478         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92479
92480 2000-06-24  Jim Meyering  <meyering@lucent.com>
92481
92482         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92483         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92484         for which strerror does return char*, but which lacks a conveniently
92485         accessible declaration of the function.  If the compile-test says
92486         strerror_r doesn't work, then resort to a `run'-test that works on
92487         BeOS and segfaults on DEC Unix.
92488
92489 2000-06-24  Jim Meyering  <meyering@lucent.com>
92490
92491         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92492
92493 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92494
92495         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92496         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92497
92498 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92499
92500         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92501         (mbrtowc, mbstate_t): Define substitutes if
92502         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92503         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92504         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92505
92506 2000-06-23  Jim Meyering  <meyering@lucent.com>
92507
92508         * m4/afs.m4: Add missing AC_MSG_RESULT.
92509         Reported by Bruno Haible.
92510
92511         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92512         Suggestion from Bruno Haible.
92513
92514 2000-06-23  Jim Meyering  <meyering@lucent.com>
92515
92516         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92517
92518 2000-06-21  Jim Meyering  <meyering@lucent.com>
92519
92520         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92521
92522 2000-06-21  Jim Meyering  <meyering@lucent.com>
92523
92524         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92525         (noinst_HEADERS): Add getstr.h.
92526
92527         * lib/getline.c (getstr): Move into a separate file.
92528         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92529         the following changes: new parameter, delim2; both delim[12]
92530         parameters have type `int', not `char'.  The latter would lose
92531         with 8-bit delimiters.
92532         * lib/getstr.h: New file.
92533
92534 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92535
92536         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92537         than 1024, return a memory chunk of least possible size, instead
92538         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92539         Use free/xmalloc instead of xrealloc to avoid copying for very long
92540         paths.
92541
92542 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92543
92544         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92545         the empty string.
92546
92547 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92548
92549         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92550         address, not strdup.  Include <stdlib.h> and don't declare free().
92551
92552 2000-06-19  Jim Meyering  <meyering@lucent.com>
92553
92554         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92555
92556 2000-06-18  Jim Meyering  <meyering@lucent.com>
92557
92558         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92559
92560         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92561         `checking whether...' message to be consistent with that of the
92562         lstat test.
92563
92564 2000-06-18  Jim Meyering  <meyering@lucent.com>
92565
92566         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92567         Besides, these days every porting target provides a mkdir function.
92568
92569         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92570         needed. (this snippet comes from src/system.h).
92571
92572 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92573
92574         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92575
92576 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92577
92578         * lib/human.c (adjust_value): New function.
92579         (human_readable_inexact): Apply rounding style even when
92580         printing approximate values.
92581
92582 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92583
92584         * lib/human.c (human_readable_inexact): Allow an input block
92585         size that is not a multiple of the output block size, and vice versa.
92586         Reported by Piergiorgio Sartor.
92587
92588 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92589
92590         * lib/getdate.y (get_date): Apply relative times after time
92591         zone indicator, not before.  Reported by Todd A. Jacobs.
92592
92593 2000-06-13  Jim Meyering  <meyering@lucent.com>
92594
92595         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92596
92597         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92598
92599 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92600
92601         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92602
92603 2000-06-12  Jim Meyering  <meyering@lucent.com>
92604
92605         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92606         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92607         optional argument.
92608         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92609         the optional argument, `lib'.
92610
92611 2000-06-08  Jim Meyering  <meyering@lucent.com>
92612
92613         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92614
92615 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92616
92617         Rewrite largefile configuration so that we don't need to run
92618         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92619         AC_CANONICAL_HOST in configure.in -- jmm]
92620
92621         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92622         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92623         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92624         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92625         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92626         All uses changed.
92627         Instead of inspecting the output of getconf, try to compile the
92628         test program without and with the macro definition.
92629         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92630         for getconf.  Instead, check for the needed flags by compiling
92631         test programs.
92632
92633 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92634
92635         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92636
92637 2000-06-04  Jim Meyering  <meyering@lucent.com>
92638
92639         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92640         SunOS 4.1.4 for which gid_t is an unsigned type.
92641
92642 2000-06-03  Jim Meyering  <meyering@lucent.com>
92643
92644         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92645         now that autoconf requires that.
92646
92647         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92648         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92649         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92650
92651 2000-06-03  Jim Meyering  <meyering@lucent.com>
92652
92653         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92654
92655 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92656
92657         * m4/glibc21.m4: New file.
92658         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92659
92660 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92661
92662         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92663         newer, don't install charset.alias.
92664         * lib/config.charset: Change the Linux/glibc rules so they become empty
92665         on glibc-2.1 or newer.
92666
92667 2000-06-02  Jim Meyering  <meyering@lucent.com>
92668
92669         * lib/mountlist.c: Back out last change.  Instead, do this...
92670         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92671         me_dummy member using the same `ignore'-testing code.
92672         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92673         fs_type strings.
92674         From Mark D. Roth.
92675
92676 2000-05-29  Jim Meyering  <meyering@lucent.com>
92677
92678         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92679         mounts with the `ignore' attribute.  Based on a patch from
92680         Mark D. Roth.
92681
92682 2000-05-28  Jim Meyering  <meyering@lucent.com>
92683
92684         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92685         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92686         * m4/stat.m4: Likewise.
92687         * m4/lstat.m4: Likewise.
92688         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92689
92690         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92691         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92692
92693 2000-05-26  Jim Meyering  <meyering@lucent.com>
92694
92695         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92696
92697 2000-05-24  Jim Meyering  <meyering@lucent.com>
92698
92699         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92700         autoconf requires that.
92701         * m4/lib-check.m4: Likewise.
92702         * m4/jm-macros.m4: Likewise.
92703         * m4/strftime.m4: Likewise.
92704
92705         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92706         AC_CHECK_DECLS, now that autoconf requires that.
92707
92708 2000-05-22  Jim Meyering  <meyering@lucent.com>
92709
92710         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92711         * m4/lstat.m4: Likewise.
92712
92713 2000-05-22  Jim Meyering  <meyering@lucent.com>
92714
92715         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92716
92717 2000-05-20  Jim Meyering  <meyering@lucent.com>
92718
92719         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92720         (jm_PREREQ): Use it.
92721
92722 2000-05-18  Jim Meyering  <meyering@lucent.com>
92723
92724         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92725         back, too, since it may have been modified by allocate_entry.
92726         (hash_delete): Rewrite to use neither the assignment operator
92727         nor the comma operator in an if-expression.
92728
92729 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92730
92731         * lib/closeout.c:
92732         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92733         Remove; no longer needed.
92734         "quotearg.h": Add include.
92735         (file_name): Do not bother to explicitly initialize to NULL; it's less
92736         efficient on some hosts.
92737         (close_stdout_status): Remove test as to whether stdout was already
92738         closed; it breaks for the case "echo x | sort >&-".
92739         Quote file name colons.
92740         Do not assume that _("write error") lacks format strings.
92741
92742 2000-05-15  Jim Meyering  <meyering@lucent.com>
92743
92744         * lib/version-etc.c (version_etc_copyright): Update the copyright
92745         string used in all --version output.
92746
92747 2000-05-14  Jim Meyering  <meyering@lucent.com>
92748
92749         * lib/closeout.c (close_stdout_set_file_name): New function.
92750         (close_stdout_status): Use new file-scoped global.
92751         Return right away if fstat says the stdout file descriptor is invalid.
92752         * lib/closeout.h (close_stdout_set_file_name): Declare.
92753
92754 2000-05-10  Jim Meyering  <meyering@lucent.com>
92755
92756         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92757         (close_stdout_set_status): New function.
92758         * lib/closeout.h (close_stdout_set_status): Declare.
92759
92760 2000-05-09  Jim Meyering  <meyering@lucent.com>
92761
92762         * m4/gettext.m4: Rename this...
92763         * m4/libintl.m4: ...to this.
92764
92765 2000-05-08  Jim Meyering  <meyering@lucent.com>
92766
92767         * lib/long-options.c: Don't include closeout.h.
92768         (parse_long_options): Don't call close_stdout for --version.
92769
92770 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92771
92772         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92773         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92774         2.1.3 bug.  This avoids a clash when files like regex.c define
92775         _GNU_SOURCE.
92776
92777 2000-05-06  Jim Meyering  <meyering@lucent.com>
92778
92779         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92780         (AC_REPLACE_FUNCS): Add strnlen.
92781
92782         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92783         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92784
92785         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92786         AC_SEARCH_LIBS call for nanosleep.
92787         (LIB_NANOSLEEP): Set and AC_SUBST.
92788
92789 2000-05-06  Jim Meyering  <meyering@lucent.com>
92790
92791         * lib/strnlen.c: Undefine __strnlen and strnlen.
92792         [!weak_alias]: Define __strnlen to strnlen.
92793
92794         * lib/atexit.c: New file, from libiberty.
92795
92796 2000-05-06  Jim Meyering  <meyering@lucent.com>
92797
92798         * lib/closeout.c (close_stdout_status): Also check for errors on the
92799         stderr stream.
92800
92801 2000-05-05  Jim Meyering  <meyering@lucent.com>
92802
92803         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
92804         AC_SEARCH_LIBS call for clock_gettime.
92805         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
92806
92807         * m4/search-libs.m4: Update from autoconf.
92808
92809         su doesn't work on Solaris 2.6.
92810         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
92811         <shadow.h>.  Reported by Dragos Harabor.
92812
92813 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92814
92815         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92816         memcpy instead of xmalloc, xrealloc, path_concat.
92817         (locale_charset): Treat empty environment variables as absent.
92818         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92819
92820 2000-05-04  Jim Meyering  <meyering@lucent.com>
92821
92822         * lib/getopt.c: Update from glibc.
92823         * lib/obstack.c: Likewise.
92824         * lib/obstack.h: Likewise.
92825         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92826         file
92827
92828         * lib/regex.h: Likewise.
92829         * lib/strndup.c: Likewise.
92830         * lib/strnlen.c: New file, from glibc.
92831
92832 2000-05-03  Jim Meyering  <meyering@lucent.com>
92833
92834         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92835
92836 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92837
92838         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92839         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92840         compile-time test, rather than inspecting host and OS, to
92841         decide whether to define _LARGEFILE_SOURCE.
92842
92843 2000-05-01  Jim Meyering  <meyering@lucent.com>
92844
92845         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92846
92847         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92848         Based on a patch from Bruno Haible.
92849
92850 2000-05-01  Jim Meyering  <meyering@lucent.com>
92851
92852         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92853
92854 2000-04-29  Jim Meyering  <meyering@lucent.com>
92855
92856         * lib/path-concat.c: Declare strdup only if it's not defined.
92857         * lib/canon-host.c: Likewise.
92858
92859 2000-04-28  Jim Meyering  <meyering@lucent.com>
92860
92861         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92862         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92863         is included first, then limits.h is included by locale.h by libintl.h.
92864         From John David Anglin.
92865
92866 2000-04-25  Jim Meyering  <meyering@lucent.com>
92867
92868         * lib/makepath.c (S_IRWXUGO): Define.
92869         (make_path): Always perform explicit chmod if MODE specifies any
92870         of the `special' permission bits.  Prompted by a bug report against
92871         install from Mate Wierdl and Joost van Baal.
92872
92873 2000-04-18  Jim Meyering  <meyering@lucent.com>
92874
92875         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92876         (jm_PREREQ): Use it.
92877
92878 2000-04-18  Jim Meyering  <meyering@lucent.com>
92879
92880         * lib/README: New file.
92881
92882         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92883         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92884
92885 2000-04-17  Jim Meyering  <meyering@lucent.com>
92886
92887         Get it right :-)
92888         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92889         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92890         Suggestion from Akim Demaille.
92891
92892 2000-04-17  Jim Meyering  <meyering@lucent.com>
92893
92894         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92895         the definition of it to rpl_strftime also defined-away the system's
92896         declaration.
92897
92898 2000-04-15  Jim Meyering  <meyering@lucent.com>
92899
92900         Use `C' to denote so-called `contiguous' files, the same way
92901         that tar does.
92902         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92903         (ftypelet): Use S_ISCTG.
92904         From Michael Deutschmann.
92905
92906 2000-04-14  Jim Meyering  <meyering@lucent.com>
92907
92908         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92909         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92910         clobbered.
92911
92912 2000-04-14  Jim Meyering  <meyering@lucent.com>
92913
92914         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92915
92916 2000-04-13  Jim Meyering  <meyering@lucent.com>
92917
92918         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
92919         AH_VERBATIM to insert required #ifndef into config.h.in.
92920         Suggestion from Akim Demaille.
92921
92922 2000-04-12  Jim Meyering  <meyering@lucent.com>
92923
92924         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
92925         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
92926         Christian Krackowizer.
92927
92928         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
92929         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
92930         (AC_SYS_LARGEFILE): Require.
92931         (AM_C_PROTOTYPES): Require.
92932
92933 2000-04-08  Jim Meyering  <meyering@lucent.com>
92934
92935         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
92936         names don't conflict.  Reported by Eli Zaretskii.
92937
92938 2000-04-07  Jim Meyering  <meyering@lucent.com>
92939
92940         * lib/putenv.c: Move inclusion of errno.h so it follows that of
92941         sys/types.h, to work around system header problems on AIX 3.2.5.
92942         From Bruno Haible.
92943
92944 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
92945
92946         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
92947         bug.  Deal with the different error behavior of Irix iconv.
92948
92949 2000-04-05  Paul Eggert  <eggert@twinsun.com>
92950
92951         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
92952         IRIX if the installer said otherwise.
92953
92954 2000-04-05  Jim Meyering  <meyering@lucent.com>
92955
92956         Portability tweaks required for ultrix4.3.
92957         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
92958         (jm_CHECK_DECLS): Add getutent to the list of functions.
92959         (_jm_DECL_HEADERS): Add utmpx.h.
92960         From John David Anglin.
92961
92962         * m4/strftime.m4: Back out the 2000-04-02 change.
92963         Instead of that change, simply undefine putenv in the test program.
92964
92965 2000-04-05  Jim Meyering  <meyering@lucent.com>
92966
92967         Portability tweaks required for ultrix4.3.
92968         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
92969         getutent.
92970         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
92971         * lib/canon-host.c: Declare strdup.
92972         * lib/path-concat.c: Likewise.
92973         From John David Anglin.
92974
92975 2000-04-04  Jim Meyering  <meyering@lucent.com>
92976
92977         Be more DOS 8.3-friendly.
92978         * lib/ref-add.sin: Renamed from ref-add.sed.in.
92979         * lib/ref-del.sin: Renamed from ref-del.sed.in.
92980         * lib/Makefile.am: Reflect renaming.
92981         Reported by Eli Zaretskii.
92982
92983         Use a temporary file name that won't clash with `charset.alias'
92984         in the DOS 8.3 name space.
92985         * lib/Makefile.am (charset_tmp): Define.
92986         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
92987         (uninstall-local): Likewise.
92988         Reported by Eli Zaretskii.
92989
92990 2000-04-03  Jim Meyering  <meyering@lucent.com>
92991
92992         * m4/gettext.m4: Fix typo in comment.
92993
92994         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
92995         textutils/configure.in).  Suggestion from Paul Eggert.
92996         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
92997
92998 2000-04-02  Paul Eggert  <eggert@twinsun.com>
92999
93000         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93001         variable in the shell rather than using putenv, which isn't
93002         portable.  This avoids the configure-time inter-test dependency
93003         on the potentially-renamed putenv function.
93004
93005 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93006
93007         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93008         before checking struct stat.st_blksize, so that
93009         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93010
93011 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93012
93013         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93014         since strftime.c uses HAVE_STRFTIME to decide whether to use
93015         the underlying strftime.
93016
93017 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93018
93019         * lib/time/strftime.c (my_strftime): Make sure we call the system
93020         strftime, not ourselves, when invoking the underlying strftime.
93021
93022 2000-03-24  Jim Meyering  <meyering@lucent.com>
93023
93024         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93025         (charset_alias): Define.
93026         (install-exec-local): Factor out common code.
93027         (uninstall-local): Split lines longer than 80.
93028         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93029         (SUFFIXES): Define.
93030         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93031         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93032
93033 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93034
93035         * lib/config.charset: Output a line containing "Packages using this
93036         file".
93037         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93038         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93039         ref-del.sed): New rules.
93040
93041 2000-03-17  Jim Meyering  <meyering@lucent.com>
93042
93043         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93044         Otherwise, include <strings.h>
93045
93046 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93047
93048         * lib/unicodeio.c (utf8_wctomb): New function.
93049         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93050         format instead of in UCS-4 with platform dependent endianness.
93051
93052 2000-03-10  Jim Meyering  <meyering@lucent.com>
93053
93054         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93055         From Marco Franzen.
93056
93057 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93058
93059         * lib/savedir.c (savedir): Work even if directory size is
93060         negative; this can happen with some screwy NFS configurations.
93061
93062 2000-03-06  Jim Meyering  <meyering@lucent.com>
93063
93064         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93065         if it's NULL (because we ran out of memory).  From Bruno Haible.
93066
93067 2000-03-05  Jim Meyering  <meyering@lucent.com>
93068
93069         * lib/localcharset.c ("path-concat.h"): Include.
93070         (get_charset_aliases): Use path_concat instead of ANSI string
93071         concatenation.
93072
93073         * lib/unicodeio.h (PARAMS): Define.
93074         Use it to guard prototype.
93075
93076 2000-03-04  Jim Meyering  <meyering@lucent.com>
93077
93078         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93079         for lib/localcharset.c.
93080
93081 2000-03-04  Jim Meyering  <meyering@lucent.com>
93082
93083         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93084         installing into it.
93085         (uninstall-local): Uncomment this rule so `make distcheck' works
93086         once again.
93087
93088         * lib/unicodeio.c (<errno.h>): Include it.
93089         (errno): Declare if not defined.
93090
93091         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93092
93093         * lib/config.charset: New version, incorporating remarks from a linux
93094         i18n mailing list.  From Bruno Haible.
93095
93096 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93097
93098         * m4/codeset.m4: New file.
93099         * m4/iconv.m4: New file.
93100         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93101
93102 2000-03-03  Jim Meyering  <meyering@lucent.com>
93103
93104         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93105
93106 2000-03-02  Jim Meyering  <meyering@lucent.com>
93107
93108         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93109         the messages come out on separate lines.
93110
93111         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93112         rather than jm_CHECK_DECLARATIONS.
93113         * m4/decl.m4: Remove now-unused file.
93114
93115         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93116         geteuid.
93117
93118 2000-03-02  Jim Meyering  <meyering@lucent.com>
93119
93120         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93121
93122 2000-03-01  Jim Meyering  <meyering@lucent.com>
93123
93124         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93125         * lib/unicodeio.c: Likewise.
93126
93127 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93128
93129         * lib/config.charset: New file.
93130         * lib/localcharset.c: New file.
93131         * lib/unicodeio.h, lib/unicodeio.c: New files.
93132         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93133         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93134         (noinst_HEADERS): Add unicodeio.h.
93135         (all-local, install-exec-local, charset.alias): New targets.
93136
93137 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93138
93139         * lib/quotearg.c (ALERT_CHAR): New macro.
93140         (quotearg_buffer_restyled): Use it.
93141
93142 2000-02-27  Jim Meyering  <meyering@lucent.com>
93143
93144         * m4/check-decl.m4: Add getenv to the list.
93145
93146 2000-02-27  Jim Meyering  <meyering@lucent.com>
93147
93148         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93149         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93150
93151         * lib/backupfile.c: Guard inclusion of stdlib.h with
93152         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93153         Declare malloc if needed.
93154
93155         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93156         `#ifndef HAVE_DECL..'
93157         now that autoconf always defines the HAVE_DECL_ symbols.
93158         * lib/human.c: Likewise.
93159         * lib/same.c: Likewise.
93160         * lib/strtoumax.c: Likewise.
93161
93162         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93163         declaration check was not run.
93164         * lib/hash.c: Likewise.
93165         * lib/human.c: Likewise.
93166         * lib/same.c: Likewise.
93167         * lib/strtoumax.c: Likewise.
93168
93169         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93170         `.', then first look up the entire `.'-containing string as a login
93171         name.
93172
93173 2000-02-23  Jim Meyering  <meyering@lucent.com>
93174
93175         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93176         in place of my hack.
93177
93178 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93179
93180         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93181         (textint): New typedef.
93182         (parser_control): Member year changed from int to textint.
93183         All uses changed.
93184         (YYSTYPE): Removed; replaced by %union with int and textint members.
93185         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93186         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93187         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93188         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93189         (date, number, to_year): Use width of number in digits, not its value,
93190         to determine whether it's a 2-digit year, or a 2-digit time.
93191         (yylex): Store number of digits of numeric tokens.
93192         Reported by John Kendall.
93193
93194         (parser_control): Changed from struct parser_control to typedef (for
93195         consistency).  All uses changed.
93196
93197         (tID): Removed; not used.
93198         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93199
93200 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93201
93202         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93203         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93204
93205 2000-02-12  Jim Meyering  <meyering@lucent.com>
93206
93207         * lib/userspec.c (ISDIGIT): Define it.
93208         (isdigit): Remove definition.
93209         (is_number): Use ISDIGIT, not isdigit.
93210         <libintl.h>: Include.
93211         (_ and N_): Define.
93212         (parse_user_spec): Mark translatable strings.
93213
93214 2000-02-10  Jim Meyering  <meyering@lucent.com>
93215
93216         With these changes, nanosleep.[ch] are finally enough like the other
93217         lib/* replacement files to compile on a few more losing systems.
93218
93219         * lib/nanosleep.h: Don't include config.h.
93220         Remove prototype from declaration of nanosleep.
93221         (PARAMS): Remove now-unneeded definition.
93222         * lib/nanosleep.c: #undef nanosleep.
93223         (rpl_nanosleep): Rename from nanosleep.
93224
93225 2000-02-10  Jim Meyering  <meyering@lucent.com>
93226
93227         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93228         gnu_nanosleep to rpl_nanosleep.
93229
93230 2000-02-09  Jim Meyering  <meyering@lucent.com>
93231
93232         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93233         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93234
93235 2000-02-08  Akim Demaille  <akim@epita.fr>
93236
93237         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93238         `[' and `]' and remove uses of `changequote'.
93239         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93240         (AC_SYS_LARGEFILE): Likewise.
93241         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93242         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93243         of changequote.
93244         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93245         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93246         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93247         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93248
93249 2000-02-05  Jim Meyering  <meyering@lucent.com>
93250
93251         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93252         Remove explicit use of AC_HEADER_TIME.  It is required by
93253         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93254         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93255         in autoconf whereby the expansion of the latter ended up preceding
93256         the expansion of its prerequisite, AC_HEADER_TIME.
93257         Reported by Volker Borchert.
93258
93259 2000-02-03  Jim Meyering  <meyering@lucent.com>
93260
93261         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93262
93263 2000-02-03  Jim Meyering  <meyering@lucent.com>
93264
93265         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93266         rather than with `#if HAVE_UTMPNAME'.
93267
93268 2000-02-02  Jim Meyering  <meyering@lucent.com>
93269
93270         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93271         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93272         Reported by Eli Zaretskii.
93273
93274 2000-02-01  Jim Meyering  <meyering@lucent.com>
93275
93276         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93277
93278 2000-01-31  Jim Meyering  <meyering@lucent.com>
93279
93280         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93281         functions.  Add the time.h and sys/time.h headers along with the
93282         AC_REQUIRE'ment of AC_HEADER_TIME.
93283
93284 2000-01-31  Jim Meyering  <meyering@lucent.com>
93285
93286         * lib/nanosleep.h (nanosleep): Guard declaration with
93287         `#if ! HAVE_DECL_NANOSLEEP'.
93288         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93289         the declaration in that vendor's sys/timers.h.
93290         Reported by Christian Krackowizer.
93291
93292         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93293         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93294         (ISPRINT): Likewise.
93295         Reported by Tom Tromey.
93296
93297 2000-01-30  Jim Meyering  <meyering@lucent.com>
93298
93299         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93300
93301         * m4/prereq.m4 (utmp_includes): Define.
93302         Check for ut_user and ut_name members in both struct utmpx
93303         and struct utmp.
93304
93305 2000-01-30  Jim Meyering  <meyering@lucent.com>
93306
93307         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93308         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93309         header files where only utmpx.ut_user is declared.
93310
93311         * lib/readutmp.h (UT_USER): Define.
93312
93313 2000-01-29  Jim Meyering  <meyering@lucent.com>
93314
93315         * m4/lib-check.m4: New file containing library-related checks from
93316         fileutils and sh-utils (textutils had none).
93317
93318 2000-01-28  Jim Meyering  <meyering@lucent.com>
93319
93320         * m4/perl.m4: Change format of warning message to look more like that
93321         from the missing script.  Suggestion from François Pinard.
93322
93323 2000-01-25  Jim Meyering  <meyering@lucent.com>
93324
93325         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93326         well as time.h in the compile check.
93327         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93328         Fix typo in cross-compiling case: s/yes/no/.
93329
93330 2000-01-23  Jim Meyering  <meyering@lucent.com>
93331
93332         * m4/jm-macros.m4: Move df-related tests here from
93333         fileutils/configure.in
93334
93335         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93336         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93337
93338         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93339         s/space/ac_fsusage_space/.
93340         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93341
93342         * m4/ftruncate.m4: New file (derived from part of
93343         fileutils/configure.in).
93344         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93345         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93346
93347         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93348         AC_SUBST these here, rather than just in sh-util/configure.in, so
93349         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93350         all the same.
93351         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93352         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93353         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93354         (AC_SUBST(POW_LIBM)): Likewise.
93355         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93356
93357 2000-01-23  Jim Meyering  <meyering@lucent.com>
93358
93359         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93360         obstack.c.
93361
93362 2000-01-22  Jim Meyering  <meyering@lucent.com>
93363
93364         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93365
93366         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93367
93368         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93369         configure.in
93370         (AC_CHECK_HEADERS): Likewise for sh-utils.
93371         (AC_CHECK_HEADERS): Likewise for textutils.
93372         Merge the three lists of headers.
93373
93374         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93375         from fileutils' configure.in.
93376
93377         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93378         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93379         check-decl.m4.
93380
93381         * m4/check-decl.m4: Use #if rather than #ifdef.
93382         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93383         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93384         (_jm_DECL_HEADERS): Define new function.
93385         (jm_CHECK_DECLARATIONS): Require it.
93386
93387 2000-01-22  Jim Meyering  <meyering@lucent.com>
93388
93389         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93390         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93391         Required for some AIX systems.  Reported by Christian Krackowizer.
93392         [TESTING] (main): New function.
93393
93394         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93395         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93396         letters.
93397
93398         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93399         iswprint.
93400
93401         * lib/strverscmp.c (ISDIGIT): Define.
93402         (strverscmp): Use ISDIGIT, not isdigit.
93403
93404 2000-01-19  Jim Meyering  <meyering@lucent.com>
93405
93406         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93407         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93408         defines `struct timespec' in <sys/time.h>
93409
93410         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93411         Thanks to Akim for explaining.
93412
93413 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93414
93415         * lib/nanosleep.c (nanosleep):
93416         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93417         POSIX.1 doesn't require SA_INTERRUPT and some systems
93418         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93419         it's been part of POSIX.1 since day 1 (in 1988).
93420
93421 2000-01-17  Jim Meyering  <meyering@lucent.com>
93422
93423         * lib/interlock: Remove unused file.  Reported by François Pinard.
93424
93425 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93426
93427         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93428         alert, backslash, formfeed, and vertical tab unnecessarily in
93429         shell quoting style.
93430
93431 2000-01-16  Jim Meyering  <meyering@lucent.com>
93432
93433         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93434         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93435         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93436         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93437
93438 2000-01-16  Jim Meyering  <meyering@lucent.com>
93439
93440         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93441         because the latter didn't work.
93442
93443 2000-01-15  Jim Meyering  <meyering@lucent.com>
93444
93445         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93446         (AC_REPLACE_FUNCS): Add memcpy and memset.
93447         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93448         Add strpbrk.
93449         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93450
93451 2000-01-12  Jim Meyering  <meyering@lucent.com>
93452
93453         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93454         (jm_PREREQ): Use it.
93455         (jm_PREREQ_READUTMP): New macro.
93456         (jm_PREREQ): Use it.
93457
93458 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93459
93460         Quote multibyte characters correctly.
93461         * m4/c-bs-a.m4: New file.
93462         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93463         (jm_PREREQ): Use it.
93464
93465 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93466
93467         * m4/uintmax_t.m4: Port to autoconf 2.13.
93468
93469 2000-01-08  Jim Meyering  <meyering@ascend.com>
93470
93471         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93472         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93473
93474 2000-01-04  Jim Meyering  <meyering@ascend.com>
93475
93476         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93477         jm_STRUCT_DIRENT_D_TYPE.
93478         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93479         jm_STRUCT_DIRENT_D_INO.
93480         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93481         jm_STRUCT_UTIMBUF.
93482         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93483         renamings.
93484         * m4/utime.m4: Likewise.
93485
93486         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93487         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93488
93489 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93490
93491         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93492         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93493
93494 2000-01-02  Jim Meyering  <meyering@ascend.com>
93495
93496         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93497         remember if this is necessary.
93498
93499 1999-12-26  Jim Meyering  <meyering@ascend.com>
93500
93501         * m4/jm-macros.m4: Use it here.
93502         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93503
93504 1999-12-23  Jim Meyering  <meyering@ascend.com>
93505
93506         * m4/jm-macros.m4: Check for clock_gettime (moved from
93507         fileutils/configure.in)
93508         Check for gettimeofday.
93509
93510 1999-12-20  Jim Meyering  <meyering@ascend.com>
93511
93512         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93513         autoconf-2.14a-1999-12-20.
93514
93515 1999-12-19  Jim Meyering  <meyering@ascend.com>
93516
93517         * m4/lstat-slash.m4: New file.
93518         * m4/jm-macros.m4: Use the new macro:
93519         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93520
93521 1999-12-07  Jim Meyering  <meyering@ascend.com>
93522
93523         * m4/perl.m4: Require that File::Compare be available, too.
93524         Too many systems seem to lack it.
93525
93526         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93527         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93528
93529 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93530
93531         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93532         problem with the QNX 4.25 shell, which doesn't propagate exit
93533         status of failed commands inside shell assignments.
93534
93535 1999-11-17  Jim Meyering  <meyering@ascend.com>
93536
93537         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93538
93539 1999-11-07  Jim Meyering  <meyering@ascend.com>
93540
93541         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93542
93543 1999-11-06  Jim Meyering  <meyering@ascend.com>
93544
93545         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93546         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93547
93548 1999-11-05  Jim Meyering  <meyering@ascend.com>
93549
93550         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93551         configure.in of textutils, fileutils, and sh-utils into this one
93552         (shared between those packages) file.
93553         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93554         AC_STRUCT_ST_BLKSIZE.
93555
93556 1999-11-03  Jim Meyering  <meyering@ascend.com>
93557
93558         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93559         of AC_CHECK_TYPE checks includes unistd.h.
93560         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93561         Suggestion from Akim Demaille.
93562
93563 1999-10-30  Jim Meyering  <meyering@ascend.com>
93564
93565         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93566         m4-quoted string.
93567         * m4/ls-mntd-fs.m4: Likewise.
93568         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93569         * m4/jm-winsz1.m4: Likewise.
93570
93571         * m4/const.m4: Remove file, since the fix made it into the experimental
93572         version of autoconf.
93573         * m4/mktime.m4: Likewise.
93574
93575         * m4/check-type.m4: Remove file, now that the latest version of
93576         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93577
93578         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93579         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93580         AC_CHECK_TYPE.
93581
93582 1999-10-04  Jim Meyering  <meyering@ascend.com>
93583
93584         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93585
93586 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93587
93588         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93589         2.95.1 bug with HP-UX 10.20.
93590
93591 1999-09-17  Jim Meyering  <meyering@ascend.com>
93592
93593         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93594         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93595         due to missing strdup (against sh-utils-2.0).
93596
93597 1999-08-29  Jim Meyering  <meyering@ascend.com>
93598
93599         * m4/jm-macros.m4: Require jm_BISON.
93600         * m4/bison.m4: New file.
93601
93602 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93603
93604         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93605         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93606
93607 1999-08-05  Jim Meyering  <meyering@ascend.com>
93608
93609         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93610         to avoid conflicts with `conftest' on 8+3 filesystems.
93611         Suggestion from Eli Zaretskii.
93612
93613 1999-08-04  Jim Meyering  <meyering@ascend.com>
93614
93615         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93616         fileutils and sh-utils (textutils's getline test was inadequate).
93617         (AM_FUNC_GETLINE): Run this test.
93618         (AC_CHECK_FUNCS): Check for getdelim.
93619         Reported by Bob Proulx.
93620
93621 1999-08-02  Jim Meyering  <meyering@ascend.com>
93622
93623         * m4/jm-macros.m4: Add a comment.
93624
93625 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93626
93627         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93628         <inttypes.h> defines strtoumax as a macro (and not as a
93629         function).
93630
93631 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93632
93633         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93634         that we can shift, multiply and divide unsigned long long
93635         values; Ultrix cc can't do it.
93636
93637 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93638
93639         * m4/mktime.m4: New file, which is a preview of what should appear
93640         in the next public autoconf release.
93641
93642 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93643
93644         * m4/lfs.m4: Remove this file.
93645         * m4/largefile.m4: New file.  It contains the old contents of
93646         lfs.m4, except that all names with prefix AC_LFS have been
93647         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93648         compatible with future autoconf versions.  Also, some minor m4
93649         quoting problems have been fixed.
93650
93651 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93652
93653         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93654         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93655         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93656         and simplify the shell code.
93657
93658 1999-08-01  Jim Meyering  <meyering@ascend.com>
93659
93660         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93661         m4.
93662
93663 1999-07-20  Jim Meyering  <meyering@ascend.com>
93664
93665         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93666
93667 1999-07-15  Jim Meyering  <meyering@ascend.com>
93668
93669         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93670
93671 1999-05-22  Jim Meyering  <meyering@ascend.com>
93672
93673         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93674
93675 1999-05-20  Jim Meyering  <meyering@ascend.com>
93676
93677         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93678         Add a colon after each `then' in case $4 is empty.
93679
93680 1999-05-16  Jim Meyering  <meyering@ascend.com>
93681
93682         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93683
93684 1999-05-10  Jim Meyering  <meyering@ascend.com>
93685
93686         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93687
93688         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93689         AC_FUNC_MKTIME.
93690
93691 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93692
93693         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93694
93695 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93696
93697         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93698         not CPPFLAGS, so that linking works correctly in IRIX.
93699
93700 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93701
93702         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93703
93704 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93705
93706         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93707         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93708         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93709         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93710         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93711
93712         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93713
93714 1999-04-20  Jim Meyering  <meyering@ascend.com>
93715
93716         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93717         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93718         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93719
93720 1999-04-18  Jim Meyering  <meyering@ascend.com>
93721
93722         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93723         * m4/jm-macros.m4: Use it.
93724
93725 1999-04-06  Jim Meyering  <meyering@ascend.com>
93726
93727         * m4/strftime.m4: Remove test for %f.
93728
93729 1999-03-29  Jim Meyering  <meyering@ascend.com>
93730
93731         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93732         superset of the AC_TYPE_* checks in the textutils, fileutils,
93733         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93734         AC_TYPE_PID_T.
93735
93736 1999-03-28  Jim Meyering  <meyering@ascend.com>
93737
93738         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93739         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93740         replaced e.g., in the *.sh files of the sh-utils.
93741
93742 1999-03-20  Jim Meyering  <meyering@ascend.com>
93743
93744         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93745         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93746         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93747
93748 1999-03-19  Jim Meyering  <meyering@ascend.com>
93749
93750         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93751
93752 1999-03-12  Jim Meyering  <meyering@ascend.com>
93753
93754         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93755
93756 1999-03-07  Jim Meyering  <meyering@ascend.com>
93757
93758         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93759         declared.
93760
93761 1999-02-17  Jim Meyering  <meyering@ascend.com>
93762
93763         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93764         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93765
93766 1999-02-07  Jim Meyering  <meyering@ascend.com>
93767
93768         * m4/group-member.m4: New file -- extracted from sh-utils'
93769         configure.in.
93770
93771         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93772         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93773
93774 1999-02-06  Jim Meyering  <meyering@ascend.com>
93775
93776         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93777         * m4/fnmatch.m4: Likewise.
93778         * m4/getgroups.m4: Likewise.
93779         * m4/lstat.m4: Likewise.
93780         * m4/malloc.m4: Likewise.
93781         * m4/putenv.m4: Likewise.
93782         * m4/realloc.m4: Likewise.
93783         * m4/regex.m4: Likewise.
93784         * m4/stat.m4: Likewise.
93785         * m4/strftime.m4: Likewise.
93786         Suggestion from Alain Magloire.
93787
93788         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93789         * m4/fnmatch.m4: Likewise.
93790         * m4/getgroups.m4: Likewise.
93791         * m4/getline.m4: Likewise.
93792         * m4/lstat.m4: Likewise.
93793         * m4/malloc.m4: Likewise.
93794         * m4/memcmp.m4: Likewise.
93795         * m4/putenv.m4: Likewise.
93796         * m4/realloc.m4: Likewise.
93797         * m4/regex.m4: Likewise.
93798         * m4/stat.m4: Likewise.
93799         * m4/strftime.m4: Likewise.
93800         Suggestion from Alain Magloire.
93801
93802         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
93803         an argument.
93804
93805         * m4/regex.m4: Add a run-time Test for proper operation of
93806         re_compile_pattern.
93807
93808 1999-01-31  Jim Meyering  <meyering@ascend.com>
93809
93810         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
93811
93812 1999-01-30  Jim Meyering  <meyering@ascend.com>
93813
93814         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93815
93816         * m4/jm-mktime.m4: Make this a wrapper around the official
93817         AM_FUNC_MKTIME rather than my private copy, now that the official one
93818         is up to date.
93819         * m4/mktime.m4: Remove file.
93820
93821         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93822         * m4/uptime.m4: Likewise.
93823         * m4/uintmax_t.m4: Likewise.
93824
93825 1999-01-28  Jim Meyering  <meyering@ascend.com>
93826
93827         * m4/jm-macros.m4: Use jm_AFS.
93828         * m4/afs.m4: New file (from fileutils' configure.in).
93829
93830         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93831         * m4/chown.m4: Likewise.
93832         * m4/d-ino.m4: Likewise.
93833         * m4/d-type.m4: Likewise.
93834         * m4/fnmatch.m4: Likewise.
93835         * m4/getgroups.m4: Likewise.
93836         * m4/gettext.m4: Likewise.
93837         * m4/jm-mktime.m4: Likewise.
93838         * m4/jm-winsz2.m4: Likewise.
93839         * m4/lcmessage.m4: Likewise.
93840         * m4/ls-mntd-fs.m4: Likewise.
93841         * m4/malloc.m4: Likewise.
93842         * m4/memcmp.m4: Likewise.
93843         * m4/putenv.m4: Likewise.
93844         * m4/realloc.m4: Likewise.
93845         * m4/st_mtim.m4: Likewise.
93846         * m4/strftime.m4: Likewise.
93847
93848 1999-01-16  Jim Meyering  <meyering@ascend.com>
93849
93850         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93851         (ARGMATCH_DIE_DECL): Define.
93852
93853 1999-01-12  Jim Meyering  <meyering@ascend.com>
93854
93855         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93856         Reported by Lars Hecking.
93857
93858 1999-01-10  Jim Meyering  <meyering@ascend.com>
93859
93860         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93861         gross kludge.
93862         * m4/inttypes_h.m4: Likewise.
93863         * m4/lstat.m4: Likewise.
93864         * m4/malloc.m4: Likewise.
93865         * m4/readdir.m4: Likewise.
93866         * m4/realloc.m4: Likewise.
93867         * m4/st_dm_mode.m4: Likewise.
93868         * m4/stat.m4: Likewise.
93869         * m4/utimbuf.m4: Likewise.
93870         * m4/utimes.m4: Likewise.
93871
93872         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93873         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93874         comments in config.h.in are meaningful.
93875
93876         * m4/jm-macros.m4: Require autoconf-2.13 here.
93877
93878         * m4/regex.m4: By default, don't use the included regex.c on systems
93879         with glibc 2.  Suggestion from Uli Drepper.
93880
93881 1999-01-02  Jim Meyering  <meyering@ascend.com>
93882
93883         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93884
93885 1998-12-18  Jim Meyering  <meyering@ascend.com>
93886
93887         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93888         Based on a suggestion from Lars Hecking.
93889
93890 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93891
93892         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93893
93894 1998-11-16  Jim Meyering  <meyering@ascend.com>
93895
93896         * m4/lfs.m4: Double-quote the `uname...` expression.
93897
93898 1998-11-14  Jim Meyering  <meyering@ascend.com>
93899
93900         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93901         * m4/stat.m4: Likewise.
93902
93903 1998-11-03  Jim Meyering  <meyering@ascend.com>
93904
93905         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93906         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93907
93908 1998-10-18  Jim Meyering  <meyering@ascend.com>
93909
93910         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93911
93912 1998-10-17  Jim Meyering  <meyering@ascend.com>
93913
93914         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93915         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
93916         calls for those previously hard-coded headers.  Instead, take a new
93917         parameter.
93918         (jm_CHECK_DECLARATIONS): Reflect interface change.
93919         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
93920         (jm_CHECK_DECL_LOCALTIME_R): New macro.
93921
93922         * m4/mktime.m4: Test for spring-forward gap before long-running test.
93923
93924 1998-10-14  Jim Meyering  <meyering@ascend.com>
93925
93926         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
93927         instead of "TZ=America/Vancouver".  From Paul Eggert.
93928
93929 1998-10-11  Jim Meyering  <meyering@ascend.com>
93930
93931         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
93932         This adds a test for a recently added compatibility fix for mktime.c.
93933         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
93934
93935 1998-09-27  Jim Meyering  <meyering@ascend.com>
93936
93937         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
93938
93939         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
93940         ../configure.in, including a change from Gordon Matzigkeit to allow
93941         cross-compiling for the Hurd.
93942
93943         * m4/glibc.m4: New file/macro to test for the GNU C Library
93944         versions 1 and 2.  From Gordon Matzigkeit.
93945         Indent.
93946
93947 1998-09-21  Jim Meyering  <meyering@ascend.com>
93948
93949         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
93950
93951 1998-08-18  Paul Eggert  <eggert@twinsun.com>
93952
93953         Port nanosecond-resolution times to UnixWare 2.1.2 and
93954         pedantic Solaris 2.6.
93955
93956         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
93957         AC_STRUCT_ST_MTIM.
93958         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
93959         Generate name of ns member, instead of just 1 or undef.
93960         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
93961
93962 1998-08-15  Jim Meyering  <meyering@ascend.com>
93963
93964         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
93965         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
93966         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
93967         instead of jm_TYPE_SSIZE_T.
93968
93969 1998-08-12  Jim Meyering  <meyering@ascend.com>
93970
93971         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
93972
93973 1998-08-02  Jim Meyering  <meyering@ascend.com>
93974
93975         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
93976         in acconfig.h manually.
93977
93978 1998-07-31  Paul Eggert  <eggert@twinsun.com>
93979
93980         * m4/st_mtim.m4: New file.
93981
93982 1998-07-28  Jim Meyering  <meyering@ascend.com>
93983
93984         * m4/utimes.m4: Undef stat.
93985
93986 1998-07-25  Jim Meyering  <meyering@ascend.com>
93987
93988         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
93989         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
93990
93991 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
93992
93993         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
93994         uid and gid actually remain unchanged.
93995
93996 1998-07-07  Jim Meyering  <meyering@ascend.com>
93997
93998         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
93999
94000 1998-07-04  Jim Meyering  <meyering@ascend.com>
94001
94002         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94003         to prove that this macro can be used in packages without regex.c.
94004
94005 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94006
94007         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94008         is to be used.
94009
94010 1998-07-03  Jim Meyering  <meyering@ascend.com>
94011
94012         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94013
94014         * m4/gettext.m4: New file -- from gettext-0.10.35.
94015         * m4/lcmessage.m4: Likewise.
94016         * m4/progtest.m4: Likewise.
94017
94018         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94019         * m4/jm-macros.m4: Require the new macro.
94020
94021 1998-06-29  Jim Meyering  <meyering@ascend.com>
94022
94023         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94024         for the definition of NGROUPS (used in a system header included
94025         by sys/mount.h).
94026
94027 1998-06-28  Jim Meyering  <meyering@ascend.com>
94028
94029         * m4/ls-mntd-fs.m4: New file.
94030         * m4/fstypename.m4: New file.
94031
94032         * m4/jm-macros.m4: Require the new macro.
94033         * m4/jm-glibc-io.m4: New file.
94034
94035 1998-05-19  Jim Meyering  <meyering@ascend.com>
94036
94037         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94038         * m4/lchown.m4: New file.
94039
94040         * m4/Makefile.am.in: New file.
94041         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94042
94043 1998-05-14  Jim Meyering  <meyering@ascend.com>
94044
94045         * m4/Makefile.am (EXTRA_DIST): Add them.
94046         * m4/jm-macros.m4: New file.
94047         * m4/utimbuf.m4: New file.
94048
94049 1998-05-12  Jim Meyering  <meyering@ascend.com>
94050
94051         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94052
94053 1998-05-11  Jim Meyering  <meyering@ascend.com>
94054
94055         * m4/isc-posix.m4: New file.
94056
94057 1998-05-10  Jim Meyering  <meyering@ascend.com>
94058
94059         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94060
94061 1998-05-09  Jim Meyering  <meyering@ascend.com>
94062
94063         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94064         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94065         with automake.
94066
94067         * m4/ssize_t.m4: New file.
94068         * m4/mktime.m4: Remove file -- the new automake has this now.
94069
94070 1998-04-26  Jim Meyering  <meyering@ascend.com>
94071
94072         * m4/assert.m4: New file.
94073         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94074
94075 1998-04-05  Jim Meyering  <meyering@ascend.com>
94076
94077         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94078         (jm_PREREQ): Use it here.
94079
94080 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94081
94082         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94083         in acconfig.h.
94084
94085 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94086
94087         * m4/prereq.m4: New file.
94088         * m4/error.m4: New file.
94089         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94090
94091 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94092
94093         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94094         cache-check for the same variable -- that defeated the purpose of
94095         the test; the test program was never run.  This was a problem only
94096         on systems with losing getline functions -- HP-UX 10.20 is one.
94097         Reported by Bjorn Helgaas.
94098
94099 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94100
94101         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94102
94103 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94104
94105         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94106
94107         * m4/const.m4: New file.  Use an initializer in this declaration
94108         typedef int charset[2]; const charset x;
94109         Reported by Bob Glickstein.
94110
94111 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94112
94113         * m4/chown.m4: Fix reversed types on -1 args to chown.
94114         From Kaveh Ghazi.
94115
94116 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94117
94118         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94119         Add lseek and memchr.
94120
94121         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94122         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94123         have a 20-character limit on names.
94124
94125 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94126
94127         * m4/inttypes_h.m4: New file.
94128         * m4/uintmax_t.m4: New file.
94129         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94130
94131
94132         -----
94133
94134         Local Variables:
94135         coding: utf-8
94136         End:
94137
94138         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94139
94140         Copying and distribution of this file, with or without
94141         modification, are permitted provided the copyright notice
94142         and this notice are preserved.